github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appstream/stack.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  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Provides an AppStream stack.
    15  //
    16  // ## Example Usage
    17  //
    18  // <!--Start PulumiCodeChooser -->
    19  // ```go
    20  // package main
    21  //
    22  // import (
    23  //
    24  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream"
    25  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    26  //
    27  // )
    28  //
    29  //	func main() {
    30  //		pulumi.Run(func(ctx *pulumi.Context) error {
    31  //			_, err := appstream.NewStack(ctx, "example", &appstream.StackArgs{
    32  //				Name:        pulumi.String("stack name"),
    33  //				Description: pulumi.String("stack description"),
    34  //				DisplayName: pulumi.String("stack display name"),
    35  //				FeedbackUrl: pulumi.String("http://your-domain/feedback"),
    36  //				RedirectUrl: pulumi.String("http://your-domain/redirect"),
    37  //				StorageConnectors: appstream.StackStorageConnectorArray{
    38  //					&appstream.StackStorageConnectorArgs{
    39  //						ConnectorType: pulumi.String("HOMEFOLDERS"),
    40  //					},
    41  //				},
    42  //				UserSettings: appstream.StackUserSettingArray{
    43  //					&appstream.StackUserSettingArgs{
    44  //						Action:     pulumi.String("CLIPBOARD_COPY_FROM_LOCAL_DEVICE"),
    45  //						Permission: pulumi.String("ENABLED"),
    46  //					},
    47  //					&appstream.StackUserSettingArgs{
    48  //						Action:     pulumi.String("CLIPBOARD_COPY_TO_LOCAL_DEVICE"),
    49  //						Permission: pulumi.String("ENABLED"),
    50  //					},
    51  //					&appstream.StackUserSettingArgs{
    52  //						Action:     pulumi.String("DOMAIN_PASSWORD_SIGNIN"),
    53  //						Permission: pulumi.String("ENABLED"),
    54  //					},
    55  //					&appstream.StackUserSettingArgs{
    56  //						Action:     pulumi.String("DOMAIN_SMART_CARD_SIGNIN"),
    57  //						Permission: pulumi.String("DISABLED"),
    58  //					},
    59  //					&appstream.StackUserSettingArgs{
    60  //						Action:     pulumi.String("FILE_DOWNLOAD"),
    61  //						Permission: pulumi.String("ENABLED"),
    62  //					},
    63  //					&appstream.StackUserSettingArgs{
    64  //						Action:     pulumi.String("FILE_UPLOAD"),
    65  //						Permission: pulumi.String("ENABLED"),
    66  //					},
    67  //					&appstream.StackUserSettingArgs{
    68  //						Action:     pulumi.String("PRINTING_TO_LOCAL_DEVICE"),
    69  //						Permission: pulumi.String("ENABLED"),
    70  //					},
    71  //				},
    72  //				ApplicationSettings: &appstream.StackApplicationSettingsArgs{
    73  //					Enabled:       pulumi.Bool(true),
    74  //					SettingsGroup: pulumi.String("SettingsGroup"),
    75  //				},
    76  //				Tags: pulumi.StringMap{
    77  //					"TagName": pulumi.String("TagValue"),
    78  //				},
    79  //			})
    80  //			if err != nil {
    81  //				return err
    82  //			}
    83  //			return nil
    84  //		})
    85  //	}
    86  //
    87  // ```
    88  // <!--End PulumiCodeChooser -->
    89  //
    90  // ## Import
    91  //
    92  // Using `pulumi import`, import `aws_appstream_stack` using the id. For example:
    93  //
    94  // ```sh
    95  // $ pulumi import aws:appstream/stack:Stack example stackID
    96  // ```
    97  type Stack struct {
    98  	pulumi.CustomResourceState
    99  
   100  	// Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
   101  	// See `accessEndpoints` below.
   102  	AccessEndpoints StackAccessEndpointArrayOutput `pulumi:"accessEndpoints"`
   103  	// Settings for application settings persistence.
   104  	// See `applicationSettings` below.
   105  	ApplicationSettings StackApplicationSettingsOutput `pulumi:"applicationSettings"`
   106  	// ARN of the appstream stack.
   107  	Arn pulumi.StringOutput `pulumi:"arn"`
   108  	// Date and time, in UTC and extended RFC 3339 format, when the stack was created.
   109  	CreatedTime pulumi.StringOutput `pulumi:"createdTime"`
   110  	// Description for the AppStream stack.
   111  	Description pulumi.StringPtrOutput `pulumi:"description"`
   112  	// Stack name to display.
   113  	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
   114  	// Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
   115  	EmbedHostDomains pulumi.StringArrayOutput `pulumi:"embedHostDomains"`
   116  	// URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
   117  	FeedbackUrl pulumi.StringOutput `pulumi:"feedbackUrl"`
   118  	// Unique name for the AppStream stack.
   119  	//
   120  	// The following arguments are optional:
   121  	Name pulumi.StringOutput `pulumi:"name"`
   122  	// URL that users are redirected to after their streaming session ends.
   123  	RedirectUrl pulumi.StringOutput `pulumi:"redirectUrl"`
   124  	// Configuration block for the storage connectors to enable.
   125  	// See `storageConnectors` below.
   126  	StorageConnectors StackStorageConnectorArrayOutput `pulumi:"storageConnectors"`
   127  	// The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
   128  	// See `streamingExperienceSettings` below.
   129  	StreamingExperienceSettings StackStreamingExperienceSettingsOutput `pulumi:"streamingExperienceSettings"`
   130  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   131  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   132  	// Deprecated: Please use `tags` instead.
   133  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   134  	// Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
   135  	// See `userSettings` below.
   136  	UserSettings StackUserSettingArrayOutput `pulumi:"userSettings"`
   137  }
   138  
   139  // NewStack registers a new resource with the given unique name, arguments, and options.
   140  func NewStack(ctx *pulumi.Context,
   141  	name string, args *StackArgs, opts ...pulumi.ResourceOption) (*Stack, error) {
   142  	if args == nil {
   143  		args = &StackArgs{}
   144  	}
   145  
   146  	opts = internal.PkgResourceDefaultOpts(opts)
   147  	var resource Stack
   148  	err := ctx.RegisterResource("aws:appstream/stack:Stack", name, args, &resource, opts...)
   149  	if err != nil {
   150  		return nil, err
   151  	}
   152  	return &resource, nil
   153  }
   154  
   155  // GetStack gets an existing Stack resource's state with the given name, ID, and optional
   156  // state properties that are used to uniquely qualify the lookup (nil if not required).
   157  func GetStack(ctx *pulumi.Context,
   158  	name string, id pulumi.IDInput, state *StackState, opts ...pulumi.ResourceOption) (*Stack, error) {
   159  	var resource Stack
   160  	err := ctx.ReadResource("aws:appstream/stack:Stack", name, id, state, &resource, opts...)
   161  	if err != nil {
   162  		return nil, err
   163  	}
   164  	return &resource, nil
   165  }
   166  
   167  // Input properties used for looking up and filtering Stack resources.
   168  type stackState struct {
   169  	// Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
   170  	// See `accessEndpoints` below.
   171  	AccessEndpoints []StackAccessEndpoint `pulumi:"accessEndpoints"`
   172  	// Settings for application settings persistence.
   173  	// See `applicationSettings` below.
   174  	ApplicationSettings *StackApplicationSettings `pulumi:"applicationSettings"`
   175  	// ARN of the appstream stack.
   176  	Arn *string `pulumi:"arn"`
   177  	// Date and time, in UTC and extended RFC 3339 format, when the stack was created.
   178  	CreatedTime *string `pulumi:"createdTime"`
   179  	// Description for the AppStream stack.
   180  	Description *string `pulumi:"description"`
   181  	// Stack name to display.
   182  	DisplayName *string `pulumi:"displayName"`
   183  	// Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
   184  	EmbedHostDomains []string `pulumi:"embedHostDomains"`
   185  	// URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
   186  	FeedbackUrl *string `pulumi:"feedbackUrl"`
   187  	// Unique name for the AppStream stack.
   188  	//
   189  	// The following arguments are optional:
   190  	Name *string `pulumi:"name"`
   191  	// URL that users are redirected to after their streaming session ends.
   192  	RedirectUrl *string `pulumi:"redirectUrl"`
   193  	// Configuration block for the storage connectors to enable.
   194  	// See `storageConnectors` below.
   195  	StorageConnectors []StackStorageConnector `pulumi:"storageConnectors"`
   196  	// The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
   197  	// See `streamingExperienceSettings` below.
   198  	StreamingExperienceSettings *StackStreamingExperienceSettings `pulumi:"streamingExperienceSettings"`
   199  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   200  	Tags map[string]string `pulumi:"tags"`
   201  	// Deprecated: Please use `tags` instead.
   202  	TagsAll map[string]string `pulumi:"tagsAll"`
   203  	// Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
   204  	// See `userSettings` below.
   205  	UserSettings []StackUserSetting `pulumi:"userSettings"`
   206  }
   207  
   208  type StackState struct {
   209  	// Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
   210  	// See `accessEndpoints` below.
   211  	AccessEndpoints StackAccessEndpointArrayInput
   212  	// Settings for application settings persistence.
   213  	// See `applicationSettings` below.
   214  	ApplicationSettings StackApplicationSettingsPtrInput
   215  	// ARN of the appstream stack.
   216  	Arn pulumi.StringPtrInput
   217  	// Date and time, in UTC and extended RFC 3339 format, when the stack was created.
   218  	CreatedTime pulumi.StringPtrInput
   219  	// Description for the AppStream stack.
   220  	Description pulumi.StringPtrInput
   221  	// Stack name to display.
   222  	DisplayName pulumi.StringPtrInput
   223  	// Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
   224  	EmbedHostDomains pulumi.StringArrayInput
   225  	// URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
   226  	FeedbackUrl pulumi.StringPtrInput
   227  	// Unique name for the AppStream stack.
   228  	//
   229  	// The following arguments are optional:
   230  	Name pulumi.StringPtrInput
   231  	// URL that users are redirected to after their streaming session ends.
   232  	RedirectUrl pulumi.StringPtrInput
   233  	// Configuration block for the storage connectors to enable.
   234  	// See `storageConnectors` below.
   235  	StorageConnectors StackStorageConnectorArrayInput
   236  	// The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
   237  	// See `streamingExperienceSettings` below.
   238  	StreamingExperienceSettings StackStreamingExperienceSettingsPtrInput
   239  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   240  	Tags pulumi.StringMapInput
   241  	// Deprecated: Please use `tags` instead.
   242  	TagsAll pulumi.StringMapInput
   243  	// Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
   244  	// See `userSettings` below.
   245  	UserSettings StackUserSettingArrayInput
   246  }
   247  
   248  func (StackState) ElementType() reflect.Type {
   249  	return reflect.TypeOf((*stackState)(nil)).Elem()
   250  }
   251  
   252  type stackArgs struct {
   253  	// Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
   254  	// See `accessEndpoints` below.
   255  	AccessEndpoints []StackAccessEndpoint `pulumi:"accessEndpoints"`
   256  	// Settings for application settings persistence.
   257  	// See `applicationSettings` below.
   258  	ApplicationSettings *StackApplicationSettings `pulumi:"applicationSettings"`
   259  	// Description for the AppStream stack.
   260  	Description *string `pulumi:"description"`
   261  	// Stack name to display.
   262  	DisplayName *string `pulumi:"displayName"`
   263  	// Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
   264  	EmbedHostDomains []string `pulumi:"embedHostDomains"`
   265  	// URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
   266  	FeedbackUrl *string `pulumi:"feedbackUrl"`
   267  	// Unique name for the AppStream stack.
   268  	//
   269  	// The following arguments are optional:
   270  	Name *string `pulumi:"name"`
   271  	// URL that users are redirected to after their streaming session ends.
   272  	RedirectUrl *string `pulumi:"redirectUrl"`
   273  	// Configuration block for the storage connectors to enable.
   274  	// See `storageConnectors` below.
   275  	StorageConnectors []StackStorageConnector `pulumi:"storageConnectors"`
   276  	// The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
   277  	// See `streamingExperienceSettings` below.
   278  	StreamingExperienceSettings *StackStreamingExperienceSettings `pulumi:"streamingExperienceSettings"`
   279  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   280  	Tags map[string]string `pulumi:"tags"`
   281  	// Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
   282  	// See `userSettings` below.
   283  	UserSettings []StackUserSetting `pulumi:"userSettings"`
   284  }
   285  
   286  // The set of arguments for constructing a Stack resource.
   287  type StackArgs struct {
   288  	// Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
   289  	// See `accessEndpoints` below.
   290  	AccessEndpoints StackAccessEndpointArrayInput
   291  	// Settings for application settings persistence.
   292  	// See `applicationSettings` below.
   293  	ApplicationSettings StackApplicationSettingsPtrInput
   294  	// Description for the AppStream stack.
   295  	Description pulumi.StringPtrInput
   296  	// Stack name to display.
   297  	DisplayName pulumi.StringPtrInput
   298  	// Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
   299  	EmbedHostDomains pulumi.StringArrayInput
   300  	// URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
   301  	FeedbackUrl pulumi.StringPtrInput
   302  	// Unique name for the AppStream stack.
   303  	//
   304  	// The following arguments are optional:
   305  	Name pulumi.StringPtrInput
   306  	// URL that users are redirected to after their streaming session ends.
   307  	RedirectUrl pulumi.StringPtrInput
   308  	// Configuration block for the storage connectors to enable.
   309  	// See `storageConnectors` below.
   310  	StorageConnectors StackStorageConnectorArrayInput
   311  	// The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
   312  	// See `streamingExperienceSettings` below.
   313  	StreamingExperienceSettings StackStreamingExperienceSettingsPtrInput
   314  	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   315  	Tags pulumi.StringMapInput
   316  	// Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
   317  	// See `userSettings` below.
   318  	UserSettings StackUserSettingArrayInput
   319  }
   320  
   321  func (StackArgs) ElementType() reflect.Type {
   322  	return reflect.TypeOf((*stackArgs)(nil)).Elem()
   323  }
   324  
   325  type StackInput interface {
   326  	pulumi.Input
   327  
   328  	ToStackOutput() StackOutput
   329  	ToStackOutputWithContext(ctx context.Context) StackOutput
   330  }
   331  
   332  func (*Stack) ElementType() reflect.Type {
   333  	return reflect.TypeOf((**Stack)(nil)).Elem()
   334  }
   335  
   336  func (i *Stack) ToStackOutput() StackOutput {
   337  	return i.ToStackOutputWithContext(context.Background())
   338  }
   339  
   340  func (i *Stack) ToStackOutputWithContext(ctx context.Context) StackOutput {
   341  	return pulumi.ToOutputWithContext(ctx, i).(StackOutput)
   342  }
   343  
   344  // StackArrayInput is an input type that accepts StackArray and StackArrayOutput values.
   345  // You can construct a concrete instance of `StackArrayInput` via:
   346  //
   347  //	StackArray{ StackArgs{...} }
   348  type StackArrayInput interface {
   349  	pulumi.Input
   350  
   351  	ToStackArrayOutput() StackArrayOutput
   352  	ToStackArrayOutputWithContext(context.Context) StackArrayOutput
   353  }
   354  
   355  type StackArray []StackInput
   356  
   357  func (StackArray) ElementType() reflect.Type {
   358  	return reflect.TypeOf((*[]*Stack)(nil)).Elem()
   359  }
   360  
   361  func (i StackArray) ToStackArrayOutput() StackArrayOutput {
   362  	return i.ToStackArrayOutputWithContext(context.Background())
   363  }
   364  
   365  func (i StackArray) ToStackArrayOutputWithContext(ctx context.Context) StackArrayOutput {
   366  	return pulumi.ToOutputWithContext(ctx, i).(StackArrayOutput)
   367  }
   368  
   369  // StackMapInput is an input type that accepts StackMap and StackMapOutput values.
   370  // You can construct a concrete instance of `StackMapInput` via:
   371  //
   372  //	StackMap{ "key": StackArgs{...} }
   373  type StackMapInput interface {
   374  	pulumi.Input
   375  
   376  	ToStackMapOutput() StackMapOutput
   377  	ToStackMapOutputWithContext(context.Context) StackMapOutput
   378  }
   379  
   380  type StackMap map[string]StackInput
   381  
   382  func (StackMap) ElementType() reflect.Type {
   383  	return reflect.TypeOf((*map[string]*Stack)(nil)).Elem()
   384  }
   385  
   386  func (i StackMap) ToStackMapOutput() StackMapOutput {
   387  	return i.ToStackMapOutputWithContext(context.Background())
   388  }
   389  
   390  func (i StackMap) ToStackMapOutputWithContext(ctx context.Context) StackMapOutput {
   391  	return pulumi.ToOutputWithContext(ctx, i).(StackMapOutput)
   392  }
   393  
   394  type StackOutput struct{ *pulumi.OutputState }
   395  
   396  func (StackOutput) ElementType() reflect.Type {
   397  	return reflect.TypeOf((**Stack)(nil)).Elem()
   398  }
   399  
   400  func (o StackOutput) ToStackOutput() StackOutput {
   401  	return o
   402  }
   403  
   404  func (o StackOutput) ToStackOutputWithContext(ctx context.Context) StackOutput {
   405  	return o
   406  }
   407  
   408  // Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
   409  // See `accessEndpoints` below.
   410  func (o StackOutput) AccessEndpoints() StackAccessEndpointArrayOutput {
   411  	return o.ApplyT(func(v *Stack) StackAccessEndpointArrayOutput { return v.AccessEndpoints }).(StackAccessEndpointArrayOutput)
   412  }
   413  
   414  // Settings for application settings persistence.
   415  // See `applicationSettings` below.
   416  func (o StackOutput) ApplicationSettings() StackApplicationSettingsOutput {
   417  	return o.ApplyT(func(v *Stack) StackApplicationSettingsOutput { return v.ApplicationSettings }).(StackApplicationSettingsOutput)
   418  }
   419  
   420  // ARN of the appstream stack.
   421  func (o StackOutput) Arn() pulumi.StringOutput {
   422  	return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   423  }
   424  
   425  // Date and time, in UTC and extended RFC 3339 format, when the stack was created.
   426  func (o StackOutput) CreatedTime() pulumi.StringOutput {
   427  	return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput)
   428  }
   429  
   430  // Description for the AppStream stack.
   431  func (o StackOutput) Description() pulumi.StringPtrOutput {
   432  	return o.ApplyT(func(v *Stack) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   433  }
   434  
   435  // Stack name to display.
   436  func (o StackOutput) DisplayName() pulumi.StringPtrOutput {
   437  	return o.ApplyT(func(v *Stack) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput)
   438  }
   439  
   440  // Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
   441  func (o StackOutput) EmbedHostDomains() pulumi.StringArrayOutput {
   442  	return o.ApplyT(func(v *Stack) pulumi.StringArrayOutput { return v.EmbedHostDomains }).(pulumi.StringArrayOutput)
   443  }
   444  
   445  // URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
   446  func (o StackOutput) FeedbackUrl() pulumi.StringOutput {
   447  	return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.FeedbackUrl }).(pulumi.StringOutput)
   448  }
   449  
   450  // Unique name for the AppStream stack.
   451  //
   452  // The following arguments are optional:
   453  func (o StackOutput) Name() pulumi.StringOutput {
   454  	return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   455  }
   456  
   457  // URL that users are redirected to after their streaming session ends.
   458  func (o StackOutput) RedirectUrl() pulumi.StringOutput {
   459  	return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.RedirectUrl }).(pulumi.StringOutput)
   460  }
   461  
   462  // Configuration block for the storage connectors to enable.
   463  // See `storageConnectors` below.
   464  func (o StackOutput) StorageConnectors() StackStorageConnectorArrayOutput {
   465  	return o.ApplyT(func(v *Stack) StackStorageConnectorArrayOutput { return v.StorageConnectors }).(StackStorageConnectorArrayOutput)
   466  }
   467  
   468  // The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
   469  // See `streamingExperienceSettings` below.
   470  func (o StackOutput) StreamingExperienceSettings() StackStreamingExperienceSettingsOutput {
   471  	return o.ApplyT(func(v *Stack) StackStreamingExperienceSettingsOutput { return v.StreamingExperienceSettings }).(StackStreamingExperienceSettingsOutput)
   472  }
   473  
   474  // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   475  func (o StackOutput) Tags() pulumi.StringMapOutput {
   476  	return o.ApplyT(func(v *Stack) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   477  }
   478  
   479  // Deprecated: Please use `tags` instead.
   480  func (o StackOutput) TagsAll() pulumi.StringMapOutput {
   481  	return o.ApplyT(func(v *Stack) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   482  }
   483  
   484  // Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
   485  // See `userSettings` below.
   486  func (o StackOutput) UserSettings() StackUserSettingArrayOutput {
   487  	return o.ApplyT(func(v *Stack) StackUserSettingArrayOutput { return v.UserSettings }).(StackUserSettingArrayOutput)
   488  }
   489  
   490  type StackArrayOutput struct{ *pulumi.OutputState }
   491  
   492  func (StackArrayOutput) ElementType() reflect.Type {
   493  	return reflect.TypeOf((*[]*Stack)(nil)).Elem()
   494  }
   495  
   496  func (o StackArrayOutput) ToStackArrayOutput() StackArrayOutput {
   497  	return o
   498  }
   499  
   500  func (o StackArrayOutput) ToStackArrayOutputWithContext(ctx context.Context) StackArrayOutput {
   501  	return o
   502  }
   503  
   504  func (o StackArrayOutput) Index(i pulumi.IntInput) StackOutput {
   505  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Stack {
   506  		return vs[0].([]*Stack)[vs[1].(int)]
   507  	}).(StackOutput)
   508  }
   509  
   510  type StackMapOutput struct{ *pulumi.OutputState }
   511  
   512  func (StackMapOutput) ElementType() reflect.Type {
   513  	return reflect.TypeOf((*map[string]*Stack)(nil)).Elem()
   514  }
   515  
   516  func (o StackMapOutput) ToStackMapOutput() StackMapOutput {
   517  	return o
   518  }
   519  
   520  func (o StackMapOutput) ToStackMapOutputWithContext(ctx context.Context) StackMapOutput {
   521  	return o
   522  }
   523  
   524  func (o StackMapOutput) MapIndex(k pulumi.StringInput) StackOutput {
   525  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Stack {
   526  		return vs[0].(map[string]*Stack)[vs[1].(string)]
   527  	}).(StackOutput)
   528  }
   529  
   530  func init() {
   531  	pulumi.RegisterInputType(reflect.TypeOf((*StackInput)(nil)).Elem(), &Stack{})
   532  	pulumi.RegisterInputType(reflect.TypeOf((*StackArrayInput)(nil)).Elem(), StackArray{})
   533  	pulumi.RegisterInputType(reflect.TypeOf((*StackMapInput)(nil)).Elem(), StackMap{})
   534  	pulumi.RegisterOutputType(StackOutput{})
   535  	pulumi.RegisterOutputType(StackArrayOutput{})
   536  	pulumi.RegisterOutputType(StackMapOutput{})
   537  }