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 }