github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appstream/fleet.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package appstream
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides an AppStream fleet.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			_, err := appstream.NewFleet(ctx, "test_fleet", &appstream.FleetArgs{
    33  //				Name: pulumi.String("test-fleet"),
    34  //				ComputeCapacity: &appstream.FleetComputeCapacityArgs{
    35  //					DesiredInstances: pulumi.Int(1),
    36  //				},
    37  //				Description:                    pulumi.String("test fleet"),
    38  //				IdleDisconnectTimeoutInSeconds: pulumi.Int(60),
    39  //				DisplayName:                    pulumi.String("test-fleet"),
    40  //				EnableDefaultInternetAccess:    pulumi.Bool(false),
    41  //				FleetType:                      pulumi.String("ON_DEMAND"),
    42  //				ImageName:                      pulumi.String("Amazon-AppStream2-Sample-Image-03-11-2023"),
    43  //				InstanceType:                   pulumi.String("stream.standard.large"),
    44  //				MaxUserDurationInSeconds:       pulumi.Int(600),
    45  //				VpcConfig: &appstream.FleetVpcConfigArgs{
    46  //					SubnetIds: pulumi.StringArray{
    47  //						pulumi.String("subnet-06e9b13400c225127"),
    48  //					},
    49  //				},
    50  //				Tags: pulumi.StringMap{
    51  //					"TagName": pulumi.String("tag-value"),
    52  //				},
    53  //			})
    54  //			if err != nil {
    55  //				return err
    56  //			}
    57  //			return nil
    58  //		})
    59  //	}
    60  //
    61  // ```
    62  // <!--End PulumiCodeChooser -->
    63  //
    64  // ## Import
    65  //
    66  // Using `pulumi import`, import `aws_appstream_fleet` using the id. For example:
    67  //
    68  // ```sh
    69  // $ pulumi import aws:appstream/fleet:Fleet example fleetNameExample
    70  // ```
    71  type Fleet struct {
    72  	pulumi.CustomResourceState
    73  
    74  	// ARN of the appstream fleet.
    75  	Arn pulumi.StringOutput `pulumi:"arn"`
    76  	// Configuration block for the desired capacity of the fleet. See below.
    77  	ComputeCapacity FleetComputeCapacityOutput `pulumi:"computeCapacity"`
    78  	// Date and time, in UTC and extended RFC 3339 format, when the fleet was created.
    79  	CreatedTime pulumi.StringOutput `pulumi:"createdTime"`
    80  	// Description to display.
    81  	Description pulumi.StringOutput `pulumi:"description"`
    82  	// Amount of time that a streaming session remains active after users disconnect.
    83  	DisconnectTimeoutInSeconds pulumi.IntOutput `pulumi:"disconnectTimeoutInSeconds"`
    84  	// Human-readable friendly name for the AppStream fleet.
    85  	DisplayName pulumi.StringOutput `pulumi:"displayName"`
    86  	// 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.
    87  	DomainJoinInfo FleetDomainJoinInfoOutput `pulumi:"domainJoinInfo"`
    88  	// Enables or disables default internet access for the fleet.
    89  	EnableDefaultInternetAccess pulumi.BoolOutput `pulumi:"enableDefaultInternetAccess"`
    90  	// Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
    91  	FleetType pulumi.StringOutput `pulumi:"fleetType"`
    92  	// ARN of the IAM role to apply to the fleet.
    93  	IamRoleArn pulumi.StringOutput `pulumi:"iamRoleArn"`
    94  	// Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnectTimeoutInSeconds` time interval begins. Defaults to 60 seconds.
    95  	IdleDisconnectTimeoutInSeconds pulumi.IntPtrOutput `pulumi:"idleDisconnectTimeoutInSeconds"`
    96  	// ARN of the public, private, or shared image to use.
    97  	ImageArn pulumi.StringOutput `pulumi:"imageArn"`
    98  	// Name of the image used to create the fleet.
    99  	ImageName pulumi.StringOutput `pulumi:"imageName"`
   100  	// Instance type to use when launching fleet instances.
   101  	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
   102  	// The maximum number of user sessions on an instance. This only applies to multi-session fleets.
   103  	MaxSessionsPerInstance pulumi.IntPtrOutput `pulumi:"maxSessionsPerInstance"`
   104  	// Maximum amount of time that a streaming session can remain active, in seconds.
   105  	MaxUserDurationInSeconds pulumi.IntOutput `pulumi:"maxUserDurationInSeconds"`
   106  	// Unique name for the fleet.
   107  	//
   108  	// The following arguments are optional:
   109  	Name pulumi.StringOutput `pulumi:"name"`
   110  	// State of the fleet. Can be `STARTING`, `RUNNING`, `STOPPING` or `STOPPED`
   111  	State pulumi.StringOutput `pulumi:"state"`
   112  	// 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`.
   113  	StreamView pulumi.StringOutput `pulumi:"streamView"`
   114  	// Map of tags to attach to AppStream instances.
   115  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   116  	// Deprecated: Please use `tags` instead.
   117  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   118  	// Configuration block for the VPC configuration for the image builder. See below.
   119  	VpcConfig FleetVpcConfigOutput `pulumi:"vpcConfig"`
   120  }
   121  
   122  // NewFleet registers a new resource with the given unique name, arguments, and options.
   123  func NewFleet(ctx *pulumi.Context,
   124  	name string, args *FleetArgs, opts ...pulumi.ResourceOption) (*Fleet, error) {
   125  	if args == nil {
   126  		return nil, errors.New("missing one or more required arguments")
   127  	}
   128  
   129  	if args.ComputeCapacity == nil {
   130  		return nil, errors.New("invalid value for required argument 'ComputeCapacity'")
   131  	}
   132  	if args.InstanceType == nil {
   133  		return nil, errors.New("invalid value for required argument 'InstanceType'")
   134  	}
   135  	opts = internal.PkgResourceDefaultOpts(opts)
   136  	var resource Fleet
   137  	err := ctx.RegisterResource("aws:appstream/fleet:Fleet", name, args, &resource, opts...)
   138  	if err != nil {
   139  		return nil, err
   140  	}
   141  	return &resource, nil
   142  }
   143  
   144  // GetFleet gets an existing Fleet resource's state with the given name, ID, and optional
   145  // state properties that are used to uniquely qualify the lookup (nil if not required).
   146  func GetFleet(ctx *pulumi.Context,
   147  	name string, id pulumi.IDInput, state *FleetState, opts ...pulumi.ResourceOption) (*Fleet, error) {
   148  	var resource Fleet
   149  	err := ctx.ReadResource("aws:appstream/fleet:Fleet", name, id, state, &resource, opts...)
   150  	if err != nil {
   151  		return nil, err
   152  	}
   153  	return &resource, nil
   154  }
   155  
   156  // Input properties used for looking up and filtering Fleet resources.
   157  type fleetState struct {
   158  	// ARN of the appstream fleet.
   159  	Arn *string `pulumi:"arn"`
   160  	// Configuration block for the desired capacity of the fleet. See below.
   161  	ComputeCapacity *FleetComputeCapacity `pulumi:"computeCapacity"`
   162  	// Date and time, in UTC and extended RFC 3339 format, when the fleet was created.
   163  	CreatedTime *string `pulumi:"createdTime"`
   164  	// Description to display.
   165  	Description *string `pulumi:"description"`
   166  	// Amount of time that a streaming session remains active after users disconnect.
   167  	DisconnectTimeoutInSeconds *int `pulumi:"disconnectTimeoutInSeconds"`
   168  	// Human-readable friendly name for the AppStream fleet.
   169  	DisplayName *string `pulumi:"displayName"`
   170  	// 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.
   171  	DomainJoinInfo *FleetDomainJoinInfo `pulumi:"domainJoinInfo"`
   172  	// Enables or disables default internet access for the fleet.
   173  	EnableDefaultInternetAccess *bool `pulumi:"enableDefaultInternetAccess"`
   174  	// Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
   175  	FleetType *string `pulumi:"fleetType"`
   176  	// ARN of the IAM role to apply to the fleet.
   177  	IamRoleArn *string `pulumi:"iamRoleArn"`
   178  	// Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnectTimeoutInSeconds` time interval begins. Defaults to 60 seconds.
   179  	IdleDisconnectTimeoutInSeconds *int `pulumi:"idleDisconnectTimeoutInSeconds"`
   180  	// ARN of the public, private, or shared image to use.
   181  	ImageArn *string `pulumi:"imageArn"`
   182  	// Name of the image used to create the fleet.
   183  	ImageName *string `pulumi:"imageName"`
   184  	// Instance type to use when launching fleet instances.
   185  	InstanceType *string `pulumi:"instanceType"`
   186  	// The maximum number of user sessions on an instance. This only applies to multi-session fleets.
   187  	MaxSessionsPerInstance *int `pulumi:"maxSessionsPerInstance"`
   188  	// Maximum amount of time that a streaming session can remain active, in seconds.
   189  	MaxUserDurationInSeconds *int `pulumi:"maxUserDurationInSeconds"`
   190  	// Unique name for the fleet.
   191  	//
   192  	// The following arguments are optional:
   193  	Name *string `pulumi:"name"`
   194  	// State of the fleet. Can be `STARTING`, `RUNNING`, `STOPPING` or `STOPPED`
   195  	State *string `pulumi:"state"`
   196  	// 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`.
   197  	StreamView *string `pulumi:"streamView"`
   198  	// Map of tags to attach to AppStream instances.
   199  	Tags map[string]string `pulumi:"tags"`
   200  	// Deprecated: Please use `tags` instead.
   201  	TagsAll map[string]string `pulumi:"tagsAll"`
   202  	// Configuration block for the VPC configuration for the image builder. See below.
   203  	VpcConfig *FleetVpcConfig `pulumi:"vpcConfig"`
   204  }
   205  
   206  type FleetState struct {
   207  	// ARN of the appstream fleet.
   208  	Arn pulumi.StringPtrInput
   209  	// Configuration block for the desired capacity of the fleet. See below.
   210  	ComputeCapacity FleetComputeCapacityPtrInput
   211  	// Date and time, in UTC and extended RFC 3339 format, when the fleet was created.
   212  	CreatedTime pulumi.StringPtrInput
   213  	// Description to display.
   214  	Description pulumi.StringPtrInput
   215  	// Amount of time that a streaming session remains active after users disconnect.
   216  	DisconnectTimeoutInSeconds pulumi.IntPtrInput
   217  	// Human-readable friendly name for the AppStream fleet.
   218  	DisplayName pulumi.StringPtrInput
   219  	// 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.
   220  	DomainJoinInfo FleetDomainJoinInfoPtrInput
   221  	// Enables or disables default internet access for the fleet.
   222  	EnableDefaultInternetAccess pulumi.BoolPtrInput
   223  	// Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
   224  	FleetType pulumi.StringPtrInput
   225  	// ARN of the IAM role to apply to the fleet.
   226  	IamRoleArn pulumi.StringPtrInput
   227  	// Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnectTimeoutInSeconds` time interval begins. Defaults to 60 seconds.
   228  	IdleDisconnectTimeoutInSeconds pulumi.IntPtrInput
   229  	// ARN of the public, private, or shared image to use.
   230  	ImageArn pulumi.StringPtrInput
   231  	// Name of the image used to create the fleet.
   232  	ImageName pulumi.StringPtrInput
   233  	// Instance type to use when launching fleet instances.
   234  	InstanceType pulumi.StringPtrInput
   235  	// The maximum number of user sessions on an instance. This only applies to multi-session fleets.
   236  	MaxSessionsPerInstance pulumi.IntPtrInput
   237  	// Maximum amount of time that a streaming session can remain active, in seconds.
   238  	MaxUserDurationInSeconds pulumi.IntPtrInput
   239  	// Unique name for the fleet.
   240  	//
   241  	// The following arguments are optional:
   242  	Name pulumi.StringPtrInput
   243  	// State of the fleet. Can be `STARTING`, `RUNNING`, `STOPPING` or `STOPPED`
   244  	State pulumi.StringPtrInput
   245  	// 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`.
   246  	StreamView pulumi.StringPtrInput
   247  	// Map of tags to attach to AppStream instances.
   248  	Tags pulumi.StringMapInput
   249  	// Deprecated: Please use `tags` instead.
   250  	TagsAll pulumi.StringMapInput
   251  	// Configuration block for the VPC configuration for the image builder. See below.
   252  	VpcConfig FleetVpcConfigPtrInput
   253  }
   254  
   255  func (FleetState) ElementType() reflect.Type {
   256  	return reflect.TypeOf((*fleetState)(nil)).Elem()
   257  }
   258  
   259  type fleetArgs struct {
   260  	// Configuration block for the desired capacity of the fleet. See below.
   261  	ComputeCapacity FleetComputeCapacity `pulumi:"computeCapacity"`
   262  	// Description to display.
   263  	Description *string `pulumi:"description"`
   264  	// Amount of time that a streaming session remains active after users disconnect.
   265  	DisconnectTimeoutInSeconds *int `pulumi:"disconnectTimeoutInSeconds"`
   266  	// Human-readable friendly name for the AppStream fleet.
   267  	DisplayName *string `pulumi:"displayName"`
   268  	// 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.
   269  	DomainJoinInfo *FleetDomainJoinInfo `pulumi:"domainJoinInfo"`
   270  	// Enables or disables default internet access for the fleet.
   271  	EnableDefaultInternetAccess *bool `pulumi:"enableDefaultInternetAccess"`
   272  	// Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
   273  	FleetType *string `pulumi:"fleetType"`
   274  	// ARN of the IAM role to apply to the fleet.
   275  	IamRoleArn *string `pulumi:"iamRoleArn"`
   276  	// Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnectTimeoutInSeconds` time interval begins. Defaults to 60 seconds.
   277  	IdleDisconnectTimeoutInSeconds *int `pulumi:"idleDisconnectTimeoutInSeconds"`
   278  	// ARN of the public, private, or shared image to use.
   279  	ImageArn *string `pulumi:"imageArn"`
   280  	// Name of the image used to create the fleet.
   281  	ImageName *string `pulumi:"imageName"`
   282  	// Instance type to use when launching fleet instances.
   283  	InstanceType string `pulumi:"instanceType"`
   284  	// The maximum number of user sessions on an instance. This only applies to multi-session fleets.
   285  	MaxSessionsPerInstance *int `pulumi:"maxSessionsPerInstance"`
   286  	// Maximum amount of time that a streaming session can remain active, in seconds.
   287  	MaxUserDurationInSeconds *int `pulumi:"maxUserDurationInSeconds"`
   288  	// Unique name for the fleet.
   289  	//
   290  	// The following arguments are optional:
   291  	Name *string `pulumi:"name"`
   292  	// 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`.
   293  	StreamView *string `pulumi:"streamView"`
   294  	// Map of tags to attach to AppStream instances.
   295  	Tags map[string]string `pulumi:"tags"`
   296  	// Configuration block for the VPC configuration for the image builder. See below.
   297  	VpcConfig *FleetVpcConfig `pulumi:"vpcConfig"`
   298  }
   299  
   300  // The set of arguments for constructing a Fleet resource.
   301  type FleetArgs struct {
   302  	// Configuration block for the desired capacity of the fleet. See below.
   303  	ComputeCapacity FleetComputeCapacityInput
   304  	// Description to display.
   305  	Description pulumi.StringPtrInput
   306  	// Amount of time that a streaming session remains active after users disconnect.
   307  	DisconnectTimeoutInSeconds pulumi.IntPtrInput
   308  	// Human-readable friendly name for the AppStream fleet.
   309  	DisplayName pulumi.StringPtrInput
   310  	// 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.
   311  	DomainJoinInfo FleetDomainJoinInfoPtrInput
   312  	// Enables or disables default internet access for the fleet.
   313  	EnableDefaultInternetAccess pulumi.BoolPtrInput
   314  	// Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
   315  	FleetType pulumi.StringPtrInput
   316  	// ARN of the IAM role to apply to the fleet.
   317  	IamRoleArn pulumi.StringPtrInput
   318  	// Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnectTimeoutInSeconds` time interval begins. Defaults to 60 seconds.
   319  	IdleDisconnectTimeoutInSeconds pulumi.IntPtrInput
   320  	// ARN of the public, private, or shared image to use.
   321  	ImageArn pulumi.StringPtrInput
   322  	// Name of the image used to create the fleet.
   323  	ImageName pulumi.StringPtrInput
   324  	// Instance type to use when launching fleet instances.
   325  	InstanceType pulumi.StringInput
   326  	// The maximum number of user sessions on an instance. This only applies to multi-session fleets.
   327  	MaxSessionsPerInstance pulumi.IntPtrInput
   328  	// Maximum amount of time that a streaming session can remain active, in seconds.
   329  	MaxUserDurationInSeconds pulumi.IntPtrInput
   330  	// Unique name for the fleet.
   331  	//
   332  	// The following arguments are optional:
   333  	Name pulumi.StringPtrInput
   334  	// 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`.
   335  	StreamView pulumi.StringPtrInput
   336  	// Map of tags to attach to AppStream instances.
   337  	Tags pulumi.StringMapInput
   338  	// Configuration block for the VPC configuration for the image builder. See below.
   339  	VpcConfig FleetVpcConfigPtrInput
   340  }
   341  
   342  func (FleetArgs) ElementType() reflect.Type {
   343  	return reflect.TypeOf((*fleetArgs)(nil)).Elem()
   344  }
   345  
   346  type FleetInput interface {
   347  	pulumi.Input
   348  
   349  	ToFleetOutput() FleetOutput
   350  	ToFleetOutputWithContext(ctx context.Context) FleetOutput
   351  }
   352  
   353  func (*Fleet) ElementType() reflect.Type {
   354  	return reflect.TypeOf((**Fleet)(nil)).Elem()
   355  }
   356  
   357  func (i *Fleet) ToFleetOutput() FleetOutput {
   358  	return i.ToFleetOutputWithContext(context.Background())
   359  }
   360  
   361  func (i *Fleet) ToFleetOutputWithContext(ctx context.Context) FleetOutput {
   362  	return pulumi.ToOutputWithContext(ctx, i).(FleetOutput)
   363  }
   364  
   365  // FleetArrayInput is an input type that accepts FleetArray and FleetArrayOutput values.
   366  // You can construct a concrete instance of `FleetArrayInput` via:
   367  //
   368  //	FleetArray{ FleetArgs{...} }
   369  type FleetArrayInput interface {
   370  	pulumi.Input
   371  
   372  	ToFleetArrayOutput() FleetArrayOutput
   373  	ToFleetArrayOutputWithContext(context.Context) FleetArrayOutput
   374  }
   375  
   376  type FleetArray []FleetInput
   377  
   378  func (FleetArray) ElementType() reflect.Type {
   379  	return reflect.TypeOf((*[]*Fleet)(nil)).Elem()
   380  }
   381  
   382  func (i FleetArray) ToFleetArrayOutput() FleetArrayOutput {
   383  	return i.ToFleetArrayOutputWithContext(context.Background())
   384  }
   385  
   386  func (i FleetArray) ToFleetArrayOutputWithContext(ctx context.Context) FleetArrayOutput {
   387  	return pulumi.ToOutputWithContext(ctx, i).(FleetArrayOutput)
   388  }
   389  
   390  // FleetMapInput is an input type that accepts FleetMap and FleetMapOutput values.
   391  // You can construct a concrete instance of `FleetMapInput` via:
   392  //
   393  //	FleetMap{ "key": FleetArgs{...} }
   394  type FleetMapInput interface {
   395  	pulumi.Input
   396  
   397  	ToFleetMapOutput() FleetMapOutput
   398  	ToFleetMapOutputWithContext(context.Context) FleetMapOutput
   399  }
   400  
   401  type FleetMap map[string]FleetInput
   402  
   403  func (FleetMap) ElementType() reflect.Type {
   404  	return reflect.TypeOf((*map[string]*Fleet)(nil)).Elem()
   405  }
   406  
   407  func (i FleetMap) ToFleetMapOutput() FleetMapOutput {
   408  	return i.ToFleetMapOutputWithContext(context.Background())
   409  }
   410  
   411  func (i FleetMap) ToFleetMapOutputWithContext(ctx context.Context) FleetMapOutput {
   412  	return pulumi.ToOutputWithContext(ctx, i).(FleetMapOutput)
   413  }
   414  
   415  type FleetOutput struct{ *pulumi.OutputState }
   416  
   417  func (FleetOutput) ElementType() reflect.Type {
   418  	return reflect.TypeOf((**Fleet)(nil)).Elem()
   419  }
   420  
   421  func (o FleetOutput) ToFleetOutput() FleetOutput {
   422  	return o
   423  }
   424  
   425  func (o FleetOutput) ToFleetOutputWithContext(ctx context.Context) FleetOutput {
   426  	return o
   427  }
   428  
   429  // ARN of the appstream fleet.
   430  func (o FleetOutput) Arn() pulumi.StringOutput {
   431  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   432  }
   433  
   434  // Configuration block for the desired capacity of the fleet. See below.
   435  func (o FleetOutput) ComputeCapacity() FleetComputeCapacityOutput {
   436  	return o.ApplyT(func(v *Fleet) FleetComputeCapacityOutput { return v.ComputeCapacity }).(FleetComputeCapacityOutput)
   437  }
   438  
   439  // Date and time, in UTC and extended RFC 3339 format, when the fleet was created.
   440  func (o FleetOutput) CreatedTime() pulumi.StringOutput {
   441  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput)
   442  }
   443  
   444  // Description to display.
   445  func (o FleetOutput) Description() pulumi.StringOutput {
   446  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput)
   447  }
   448  
   449  // Amount of time that a streaming session remains active after users disconnect.
   450  func (o FleetOutput) DisconnectTimeoutInSeconds() pulumi.IntOutput {
   451  	return o.ApplyT(func(v *Fleet) pulumi.IntOutput { return v.DisconnectTimeoutInSeconds }).(pulumi.IntOutput)
   452  }
   453  
   454  // Human-readable friendly name for the AppStream fleet.
   455  func (o FleetOutput) DisplayName() pulumi.StringOutput {
   456  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput)
   457  }
   458  
   459  // 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.
   460  func (o FleetOutput) DomainJoinInfo() FleetDomainJoinInfoOutput {
   461  	return o.ApplyT(func(v *Fleet) FleetDomainJoinInfoOutput { return v.DomainJoinInfo }).(FleetDomainJoinInfoOutput)
   462  }
   463  
   464  // Enables or disables default internet access for the fleet.
   465  func (o FleetOutput) EnableDefaultInternetAccess() pulumi.BoolOutput {
   466  	return o.ApplyT(func(v *Fleet) pulumi.BoolOutput { return v.EnableDefaultInternetAccess }).(pulumi.BoolOutput)
   467  }
   468  
   469  // Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
   470  func (o FleetOutput) FleetType() pulumi.StringOutput {
   471  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.FleetType }).(pulumi.StringOutput)
   472  }
   473  
   474  // ARN of the IAM role to apply to the fleet.
   475  func (o FleetOutput) IamRoleArn() pulumi.StringOutput {
   476  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.IamRoleArn }).(pulumi.StringOutput)
   477  }
   478  
   479  // Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnectTimeoutInSeconds` time interval begins. Defaults to 60 seconds.
   480  func (o FleetOutput) IdleDisconnectTimeoutInSeconds() pulumi.IntPtrOutput {
   481  	return o.ApplyT(func(v *Fleet) pulumi.IntPtrOutput { return v.IdleDisconnectTimeoutInSeconds }).(pulumi.IntPtrOutput)
   482  }
   483  
   484  // ARN of the public, private, or shared image to use.
   485  func (o FleetOutput) ImageArn() pulumi.StringOutput {
   486  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.ImageArn }).(pulumi.StringOutput)
   487  }
   488  
   489  // Name of the image used to create the fleet.
   490  func (o FleetOutput) ImageName() pulumi.StringOutput {
   491  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.ImageName }).(pulumi.StringOutput)
   492  }
   493  
   494  // Instance type to use when launching fleet instances.
   495  func (o FleetOutput) InstanceType() pulumi.StringOutput {
   496  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.InstanceType }).(pulumi.StringOutput)
   497  }
   498  
   499  // The maximum number of user sessions on an instance. This only applies to multi-session fleets.
   500  func (o FleetOutput) MaxSessionsPerInstance() pulumi.IntPtrOutput {
   501  	return o.ApplyT(func(v *Fleet) pulumi.IntPtrOutput { return v.MaxSessionsPerInstance }).(pulumi.IntPtrOutput)
   502  }
   503  
   504  // Maximum amount of time that a streaming session can remain active, in seconds.
   505  func (o FleetOutput) MaxUserDurationInSeconds() pulumi.IntOutput {
   506  	return o.ApplyT(func(v *Fleet) pulumi.IntOutput { return v.MaxUserDurationInSeconds }).(pulumi.IntOutput)
   507  }
   508  
   509  // Unique name for the fleet.
   510  //
   511  // The following arguments are optional:
   512  func (o FleetOutput) Name() pulumi.StringOutput {
   513  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   514  }
   515  
   516  // State of the fleet. Can be `STARTING`, `RUNNING`, `STOPPING` or `STOPPED`
   517  func (o FleetOutput) State() pulumi.StringOutput {
   518  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.State }).(pulumi.StringOutput)
   519  }
   520  
   521  // 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`.
   522  func (o FleetOutput) StreamView() pulumi.StringOutput {
   523  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.StreamView }).(pulumi.StringOutput)
   524  }
   525  
   526  // Map of tags to attach to AppStream instances.
   527  func (o FleetOutput) Tags() pulumi.StringMapOutput {
   528  	return o.ApplyT(func(v *Fleet) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   529  }
   530  
   531  // Deprecated: Please use `tags` instead.
   532  func (o FleetOutput) TagsAll() pulumi.StringMapOutput {
   533  	return o.ApplyT(func(v *Fleet) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   534  }
   535  
   536  // Configuration block for the VPC configuration for the image builder. See below.
   537  func (o FleetOutput) VpcConfig() FleetVpcConfigOutput {
   538  	return o.ApplyT(func(v *Fleet) FleetVpcConfigOutput { return v.VpcConfig }).(FleetVpcConfigOutput)
   539  }
   540  
   541  type FleetArrayOutput struct{ *pulumi.OutputState }
   542  
   543  func (FleetArrayOutput) ElementType() reflect.Type {
   544  	return reflect.TypeOf((*[]*Fleet)(nil)).Elem()
   545  }
   546  
   547  func (o FleetArrayOutput) ToFleetArrayOutput() FleetArrayOutput {
   548  	return o
   549  }
   550  
   551  func (o FleetArrayOutput) ToFleetArrayOutputWithContext(ctx context.Context) FleetArrayOutput {
   552  	return o
   553  }
   554  
   555  func (o FleetArrayOutput) Index(i pulumi.IntInput) FleetOutput {
   556  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Fleet {
   557  		return vs[0].([]*Fleet)[vs[1].(int)]
   558  	}).(FleetOutput)
   559  }
   560  
   561  type FleetMapOutput struct{ *pulumi.OutputState }
   562  
   563  func (FleetMapOutput) ElementType() reflect.Type {
   564  	return reflect.TypeOf((*map[string]*Fleet)(nil)).Elem()
   565  }
   566  
   567  func (o FleetMapOutput) ToFleetMapOutput() FleetMapOutput {
   568  	return o
   569  }
   570  
   571  func (o FleetMapOutput) ToFleetMapOutputWithContext(ctx context.Context) FleetMapOutput {
   572  	return o
   573  }
   574  
   575  func (o FleetMapOutput) MapIndex(k pulumi.StringInput) FleetOutput {
   576  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Fleet {
   577  		return vs[0].(map[string]*Fleet)[vs[1].(string)]
   578  	}).(FleetOutput)
   579  }
   580  
   581  func init() {
   582  	pulumi.RegisterInputType(reflect.TypeOf((*FleetInput)(nil)).Elem(), &Fleet{})
   583  	pulumi.RegisterInputType(reflect.TypeOf((*FleetArrayInput)(nil)).Elem(), FleetArray{})
   584  	pulumi.RegisterInputType(reflect.TypeOf((*FleetMapInput)(nil)).Elem(), FleetMap{})
   585  	pulumi.RegisterOutputType(FleetOutput{})
   586  	pulumi.RegisterOutputType(FleetArrayOutput{})
   587  	pulumi.RegisterOutputType(FleetMapOutput{})
   588  }