UserSettings class
Resource for managing an AWS WorkSpaces Web User Settings resource. Once associated with a web portal, user settings control how users can transfer data between a streaming session and their local devices.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.workspacesweb.UserSettings("example", {
copyAllowed: "Enabled",
downloadAllowed: "Enabled",
pasteAllowed: "Enabled",
printAllowed: "Enabled",
uploadAllowed: "Enabled",
});
import pulumi
import pulumi_aws as aws
example = aws.workspacesweb.UserSettings("example",
copy_allowed="Enabled",
download_allowed="Enabled",
paste_allowed="Enabled",
print_allowed="Enabled",
upload_allowed="Enabled")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.WorkSpacesWeb.UserSettings("example", new()
{
CopyAllowed = "Enabled",
DownloadAllowed = "Enabled",
PasteAllowed = "Enabled",
PrintAllowed = "Enabled",
UploadAllowed = "Enabled",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/workspacesweb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workspacesweb.NewUserSettings(ctx, "example", &workspacesweb.UserSettingsArgs{
CopyAllowed: pulumi.String("Enabled"),
DownloadAllowed: pulumi.String("Enabled"),
PasteAllowed: pulumi.String("Enabled"),
PrintAllowed: pulumi.String("Enabled"),
UploadAllowed: pulumi.String("Enabled"),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_workspacesweb_usersettings" "example" {
copy_allowed = "Enabled"
download_allowed = "Enabled"
paste_allowed = "Enabled"
print_allowed = "Enabled"
upload_allowed = "Enabled"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.workspacesweb.UserSettings;
import com.pulumi.aws.workspacesweb.UserSettingsArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 example = new UserSettings("example", UserSettingsArgs.builder()
.copyAllowed("Enabled")
.downloadAllowed("Enabled")
.pasteAllowed("Enabled")
.printAllowed("Enabled")
.uploadAllowed("Enabled")
.build());
}
}
resources:
example:
type: aws:workspacesweb:UserSettings
properties:
copyAllowed: Enabled
downloadAllowed: Enabled
pasteAllowed: Enabled
printAllowed: Enabled
uploadAllowed: Enabled
With Toolbar Configuration
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.workspacesweb.UserSettings("example", {
toolbarConfiguration: {
toolbarType: "Docked",
visualMode: "Dark",
hiddenToolbarItems: [
"Webcam",
"Microphone",
],
},
copyAllowed: "Enabled",
downloadAllowed: "Enabled",
pasteAllowed: "Enabled",
printAllowed: "Enabled",
uploadAllowed: "Enabled",
});
import pulumi
import pulumi_aws as aws
example = aws.workspacesweb.UserSettings("example",
toolbar_configuration={
"toolbar_type": "Docked",
"visual_mode": "Dark",
"hidden_toolbar_items": [
"Webcam",
"Microphone",
],
},
copy_allowed="Enabled",
download_allowed="Enabled",
paste_allowed="Enabled",
print_allowed="Enabled",
upload_allowed="Enabled")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.WorkSpacesWeb.UserSettings("example", new()
{
ToolbarConfiguration = new Aws.WorkSpacesWeb.Inputs.UserSettingsToolbarConfigurationArgs
{
ToolbarType = "Docked",
VisualMode = "Dark",
HiddenToolbarItems = new[]
{
"Webcam",
"Microphone",
},
},
CopyAllowed = "Enabled",
DownloadAllowed = "Enabled",
PasteAllowed = "Enabled",
PrintAllowed = "Enabled",
UploadAllowed = "Enabled",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/workspacesweb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workspacesweb.NewUserSettings(ctx, "example", &workspacesweb.UserSettingsArgs{
ToolbarConfiguration: &workspacesweb.UserSettingsToolbarConfigurationArgs{
ToolbarType: pulumi.String("Docked"),
VisualMode: pulumi.String("Dark"),
HiddenToolbarItems: pulumi.StringArray{
pulumi.String("Webcam"),
pulumi.String("Microphone"),
},
},
CopyAllowed: pulumi.String("Enabled"),
DownloadAllowed: pulumi.String("Enabled"),
PasteAllowed: pulumi.String("Enabled"),
PrintAllowed: pulumi.String("Enabled"),
UploadAllowed: pulumi.String("Enabled"),
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_workspacesweb_usersettings" "example" {
toolbar_configuration = {
toolbar_type = "Docked"
visual_mode = "Dark"
hidden_toolbar_items = ["Webcam", "Microphone"]
}
copy_allowed = "Enabled"
download_allowed = "Enabled"
paste_allowed = "Enabled"
print_allowed = "Enabled"
upload_allowed = "Enabled"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.workspacesweb.UserSettings;
import com.pulumi.aws.workspacesweb.UserSettingsArgs;
import com.pulumi.aws.workspacesweb.inputs.UserSettingsToolbarConfigurationArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 example = new UserSettings("example", UserSettingsArgs.builder()
.toolbarConfiguration(UserSettingsToolbarConfigurationArgs.builder()
.toolbarType("Docked")
.visualMode("Dark")
.hiddenToolbarItems(
"Webcam",
"Microphone")
.build())
.copyAllowed("Enabled")
.downloadAllowed("Enabled")
.pasteAllowed("Enabled")
.printAllowed("Enabled")
.uploadAllowed("Enabled")
.build());
}
}
resources:
example:
type: aws:workspacesweb:UserSettings
properties:
toolbarConfiguration:
toolbarType: Docked
visualMode: Dark
hiddenToolbarItems:
- Webcam
- Microphone
copyAllowed: Enabled
downloadAllowed: Enabled
pasteAllowed: Enabled
printAllowed: Enabled
uploadAllowed: Enabled
Complete Example
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.kms.Key("example", {
description: "KMS key for WorkSpaces Web User Settings",
deletionWindowInDays: 7,
});
const exampleUserSettings = new aws.workspacesweb.UserSettings("example", {
toolbarConfiguration: {
toolbarType: "Docked",
visualMode: "Dark",
hiddenToolbarItems: [
"Webcam",
"Microphone",
],
maxDisplayResolution: "size1920X1080",
},
cookieSynchronizationConfiguration: {
allowlists: [{
domain: "example.com",
path: "/path",
}],
blocklists: [{
domain: "blocked.com",
}],
},
copyAllowed: "Enabled",
downloadAllowed: "Enabled",
pasteAllowed: "Enabled",
printAllowed: "Enabled",
uploadAllowed: "Enabled",
deepLinkAllowed: "Enabled",
disconnectTimeoutInMinutes: 30,
idleDisconnectTimeoutInMinutes: 15,
customerManagedKey: example.arn,
additionalEncryptionContext: {
Environment: "Production",
},
tags: {
Name: "example-user-settings",
},
});
import pulumi
import pulumi_aws as aws
example = aws.kms.Key("example",
description="KMS key for WorkSpaces Web User Settings",
deletion_window_in_days=7)
example_user_settings = aws.workspacesweb.UserSettings("example",
toolbar_configuration={
"toolbar_type": "Docked",
"visual_mode": "Dark",
"hidden_toolbar_items": [
"Webcam",
"Microphone",
],
"max_display_resolution": "size1920X1080",
},
cookie_synchronization_configuration={
"allowlists": [{
"domain": "example.com",
"path": "/path",
}],
"blocklists": [{
"domain": "blocked.com",
}],
},
copy_allowed="Enabled",
download_allowed="Enabled",
paste_allowed="Enabled",
print_allowed="Enabled",
upload_allowed="Enabled",
deep_link_allowed="Enabled",
disconnect_timeout_in_minutes=30,
idle_disconnect_timeout_in_minutes=15,
customer_managed_key=example.arn,
additional_encryption_context={
"Environment": "Production",
},
tags={
"Name": "example-user-settings",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Kms.Key("example", new()
{
Description = "KMS key for WorkSpaces Web User Settings",
DeletionWindowInDays = 7,
});
var exampleUserSettings = new Aws.WorkSpacesWeb.UserSettings("example", new()
{
ToolbarConfiguration = new Aws.WorkSpacesWeb.Inputs.UserSettingsToolbarConfigurationArgs
{
ToolbarType = "Docked",
VisualMode = "Dark",
HiddenToolbarItems = new[]
{
"Webcam",
"Microphone",
},
MaxDisplayResolution = "size1920X1080",
},
CookieSynchronizationConfiguration = new Aws.WorkSpacesWeb.Inputs.UserSettingsCookieSynchronizationConfigurationArgs
{
Allowlists = new[]
{
new Aws.WorkSpacesWeb.Inputs.UserSettingsCookieSynchronizationConfigurationAllowlistArgs
{
Domain = "example.com",
Path = "/path",
},
},
Blocklists = new[]
{
new Aws.WorkSpacesWeb.Inputs.UserSettingsCookieSynchronizationConfigurationBlocklistArgs
{
Domain = "blocked.com",
},
},
},
CopyAllowed = "Enabled",
DownloadAllowed = "Enabled",
PasteAllowed = "Enabled",
PrintAllowed = "Enabled",
UploadAllowed = "Enabled",
DeepLinkAllowed = "Enabled",
DisconnectTimeoutInMinutes = 30,
IdleDisconnectTimeoutInMinutes = 15,
CustomerManagedKey = example.Arn,
AdditionalEncryptionContext =
{
{ "Environment", "Production" },
},
Tags =
{
{ "Name", "example-user-settings" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/workspacesweb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
Description: pulumi.String("KMS key for WorkSpaces Web User Settings"),
DeletionWindowInDays: pulumi.Int(7),
})
if err != nil {
return err
}
_, err = workspacesweb.NewUserSettings(ctx, "example", &workspacesweb.UserSettingsArgs{
ToolbarConfiguration: &workspacesweb.UserSettingsToolbarConfigurationArgs{
ToolbarType: pulumi.String("Docked"),
VisualMode: pulumi.String("Dark"),
HiddenToolbarItems: pulumi.StringArray{
pulumi.String("Webcam"),
pulumi.String("Microphone"),
},
MaxDisplayResolution: pulumi.String("size1920X1080"),
},
CookieSynchronizationConfiguration: &workspacesweb.UserSettingsCookieSynchronizationConfigurationArgs{
Allowlists: workspacesweb.UserSettingsCookieSynchronizationConfigurationAllowlistArray{
&workspacesweb.UserSettingsCookieSynchronizationConfigurationAllowlistArgs{
Domain: pulumi.String("example.com"),
Path: pulumi.String("/path"),
},
},
Blocklists: workspacesweb.UserSettingsCookieSynchronizationConfigurationBlocklistArray{
&workspacesweb.UserSettingsCookieSynchronizationConfigurationBlocklistArgs{
Domain: pulumi.String("blocked.com"),
},
},
},
CopyAllowed: pulumi.String("Enabled"),
DownloadAllowed: pulumi.String("Enabled"),
PasteAllowed: pulumi.String("Enabled"),
PrintAllowed: pulumi.String("Enabled"),
UploadAllowed: pulumi.String("Enabled"),
DeepLinkAllowed: pulumi.String("Enabled"),
DisconnectTimeoutInMinutes: pulumi.Int(30),
IdleDisconnectTimeoutInMinutes: pulumi.Int(15),
CustomerManagedKey: example.Arn,
AdditionalEncryptionContext: pulumi.StringMap{
"Environment": pulumi.String("Production"),
},
Tags: pulumi.StringMap{
"Name": pulumi.String("example-user-settings"),
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_kms_key" "example" {
description = "KMS key for WorkSpaces Web User Settings"
deletion_window_in_days = 7
}
resource "aws_workspacesweb_usersettings" "example" {
toolbar_configuration = {
toolbar_type = "Docked"
visual_mode = "Dark"
hidden_toolbar_items = ["Webcam", "Microphone"]
max_display_resolution = "size1920X1080"
}
cookie_synchronization_configuration = {
allowlists = [{
"domain" = "example.com"
"path" = "/path"
}]
blocklists = [{
"domain" = "blocked.com"
}]
}
copy_allowed = "Enabled"
download_allowed = "Enabled"
paste_allowed = "Enabled"
print_allowed = "Enabled"
upload_allowed = "Enabled"
deep_link_allowed = "Enabled"
disconnect_timeout_in_minutes = 30
idle_disconnect_timeout_in_minutes = 15
customer_managed_key = aws_kms_key.example.arn
additional_encryption_context = {
"Environment" = "Production"
}
tags = {
"Name" = "example-user-settings"
}
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.workspacesweb.UserSettings;
import com.pulumi.aws.workspacesweb.UserSettingsArgs;
import com.pulumi.aws.workspacesweb.inputs.UserSettingsToolbarConfigurationArgs;
import com.pulumi.aws.workspacesweb.inputs.UserSettingsCookieSynchronizationConfigurationArgs;
import com.pulumi.aws.workspacesweb.inputs.UserSettingsCookieSynchronizationConfigurationAllowlistArgs;
import com.pulumi.aws.workspacesweb.inputs.UserSettingsCookieSynchronizationConfigurationBlocklistArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 example = new Key("example", KeyArgs.builder()
.description("KMS key for WorkSpaces Web User Settings")
.deletionWindowInDays(7)
.build());
var exampleUserSettings = new UserSettings("exampleUserSettings", UserSettingsArgs.builder()
.toolbarConfiguration(UserSettingsToolbarConfigurationArgs.builder()
.toolbarType("Docked")
.visualMode("Dark")
.hiddenToolbarItems(
"Webcam",
"Microphone")
.maxDisplayResolution("size1920X1080")
.build())
.cookieSynchronizationConfiguration(UserSettingsCookieSynchronizationConfigurationArgs.builder()
.allowlists(UserSettingsCookieSynchronizationConfigurationAllowlistArgs.builder()
.domain("example.com")
.path("/path")
.build())
.blocklists(UserSettingsCookieSynchronizationConfigurationBlocklistArgs.builder()
.domain("blocked.com")
.build())
.build())
.copyAllowed("Enabled")
.downloadAllowed("Enabled")
.pasteAllowed("Enabled")
.printAllowed("Enabled")
.uploadAllowed("Enabled")
.deepLinkAllowed("Enabled")
.disconnectTimeoutInMinutes(30)
.idleDisconnectTimeoutInMinutes(15)
.customerManagedKey(example.arn())
.additionalEncryptionContext(Map.of("Environment", "Production"))
.tags(Map.of("Name", "example-user-settings"))
.build());
}
}
resources:
example:
type: aws:kms:Key
properties:
description: KMS key for WorkSpaces Web User Settings
deletionWindowInDays: 7
exampleUserSettings:
type: aws:workspacesweb:UserSettings
name: example
properties:
toolbarConfiguration:
toolbarType: Docked
visualMode: Dark
hiddenToolbarItems:
- Webcam
- Microphone
maxDisplayResolution: size1920X1080
cookieSynchronizationConfiguration:
allowlists:
- domain: example.com
path: /path
blocklists:
- domain: blocked.com
copyAllowed: Enabled
downloadAllowed: Enabled
pasteAllowed: Enabled
printAllowed: Enabled
uploadAllowed: Enabled
deepLinkAllowed: Enabled
disconnectTimeoutInMinutes: 30
idleDisconnectTimeoutInMinutes: 15
customerManagedKey: ${example.arn}
additionalEncryptionContext:
Environment: Production
tags:
Name: example-user-settings
Import
Using pulumi import, import WorkSpaces Web User Settings using the userSettingsArn. For example:
$ pulumi import aws:workspacesweb/userSettings:UserSettings example arn:aws:workspacesweb:us-west-2:123456789012:usersettings/abcdef12345
Constructors
- UserSettings(String name, {UserSettingsArgs? args, CustomResourceOptions? options})
-
Creates a new UserSettings.
nameThe Pulumi resource name.argsArguments used to configure this UserSettings. The set of arguments for UserSettings.optionsResource options controlling this resource's behavior. - UserSettings.reference(String urn)
- Creates a typed reference to an existing UserSettings resource.
Properties
-
additionalEncryptionContext
↔ Output<
Map< String, String> ?> -
Additional encryption context for the user settings.
latefinal
-
associatedPortalArns
↔ Output<
List< String> > -
List of web portal ARNs to associate with the user settings.
latefinal
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
Configuration that specifies which cookies should be synchronized from the end user's local browser to the remote browser. Detailed below.
latefinal
-
copyAllowed
↔ Output<
String> -
Specifies whether the user can copy text from the streaming session to the local device. Valid values are
EnabledorDisabled.latefinal -
customerManagedKey
↔ Output<
String?> -
ARN of the customer managed KMS key.
latefinal
-
deepLinkAllowed
↔ Output<
String> -
Specifies whether the user can use deep links that open automatically when connecting to a session. Valid values are
EnabledorDisabled.latefinal -
disconnectTimeoutInMinutes
↔ Output<
int?> -
Amount of time that a streaming session remains active after users disconnect. Value must be between 1 and 600 minutes.
latefinal
-
downloadAllowed
↔ Output<
String> -
Specifies whether the user can download files from the streaming session to the local device. Valid values are
EnabledorDisabled.latefinal - hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
-
idleDisconnectTimeoutInMinutes
↔ Output<
int?> -
Amount of time that users can be idle before they are disconnected from their streaming session. Value must be between 0 and 60 minutes.
latefinal
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
pasteAllowed
↔ Output<
String> -
Specifies whether the user can paste text from the local device to the streaming session. Valid values are
EnabledorDisabled.latefinal -
printAllowed
↔ Output<
String> -
Specifies whether the user can print to the local device. Valid values are
EnabledorDisabled.latefinal -
region
↔ Output<
String> -
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
Map of tags assigned to the resource. If configured with a provider
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.latefinal -
Map of tags assigned to the resource, including those inherited from the provider
defaultTagsconfiguration block.latefinal -
toolbarConfiguration
↔ Output<
UserSettingsToolbarConfiguration?> -
Configuration of the toolbar. Detailed below.
latefinal
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
uploadAllowed
↔ Output<
String> -
Specifies whether the user can upload files from the local device to the streaming session. Valid values are
EnabledorDisabled.latefinal -
urn
↔ Output<
String> -
latefinalinherited
-
userSettingsArn
↔ Output<
String> -
ARN of the user settings resource.
latefinal
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
get(
String name, Input< String> id, {UserSettingsState? state, CustomResourceOptions? options}) → UserSettings -
Gets an existing UserSettings resource's state with the given
nameandid.