FolderArgs

data class FolderArgs(val awsAccountId: Output<String>? = null, val folderId: Output<String>? = null, val folderType: Output<String>? = null, val name: Output<String>? = null, val parentFolderArn: Output<String>? = null, val permissions: Output<List<FolderPermissionArgs>>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<FolderArgs>

Resource for managing a QuickSight Folder.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.quicksight.Folder("example", {
folderId: "example-id",
name: "example-name",
});
import pulumi
import pulumi_aws as aws
example = aws.quicksight.Folder("example",
folder_id="example-id",
name="example-name")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Quicksight.Folder("example", new()
{
FolderId = "example-id",
Name = "example-name",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := quicksight.NewFolder(ctx, "example", &quicksight.FolderArgs{
FolderId: pulumi.String("example-id"),
Name: pulumi.String("example-name"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.quicksight.Folder;
import com.pulumi.aws.quicksight.FolderArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Folder("example", FolderArgs.builder()
.folderId("example-id")
.name("example-name")
.build());
}
}
resources:
example:
type: aws:quicksight:Folder
properties:
folderId: example-id
name: example-name

With Permissions

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.quicksight.Folder("example", {
folderId: "example-id",
name: "example-name",
permissions: [{
actions: [
"quicksight:CreateFolder",
"quicksight:DescribeFolder",
"quicksight:UpdateFolder",
"quicksight:DeleteFolder",
"quicksight:CreateFolderMembership",
"quicksight:DeleteFolderMembership",
"quicksight:DescribeFolderPermissions",
"quicksight:UpdateFolderPermissions",
],
principal: exampleAwsQuicksightUser.arn,
}],
});
import pulumi
import pulumi_aws as aws
example = aws.quicksight.Folder("example",
folder_id="example-id",
name="example-name",
permissions=[{
"actions": [
"quicksight:CreateFolder",
"quicksight:DescribeFolder",
"quicksight:UpdateFolder",
"quicksight:DeleteFolder",
"quicksight:CreateFolderMembership",
"quicksight:DeleteFolderMembership",
"quicksight:DescribeFolderPermissions",
"quicksight:UpdateFolderPermissions",
],
"principal": example_aws_quicksight_user["arn"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Quicksight.Folder("example", new()
{
FolderId = "example-id",
Name = "example-name",
Permissions = new[]
{
new Aws.Quicksight.Inputs.FolderPermissionArgs
{
Actions = new[]
{
"quicksight:CreateFolder",
"quicksight:DescribeFolder",
"quicksight:UpdateFolder",
"quicksight:DeleteFolder",
"quicksight:CreateFolderMembership",
"quicksight:DeleteFolderMembership",
"quicksight:DescribeFolderPermissions",
"quicksight:UpdateFolderPermissions",
},
Principal = exampleAwsQuicksightUser.Arn,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := quicksight.NewFolder(ctx, "example", &quicksight.FolderArgs{
FolderId: pulumi.String("example-id"),
Name: pulumi.String("example-name"),
Permissions: quicksight.FolderPermissionArray{
&quicksight.FolderPermissionArgs{
Actions: pulumi.StringArray{
pulumi.String("quicksight:CreateFolder"),
pulumi.String("quicksight:DescribeFolder"),
pulumi.String("quicksight:UpdateFolder"),
pulumi.String("quicksight:DeleteFolder"),
pulumi.String("quicksight:CreateFolderMembership"),
pulumi.String("quicksight:DeleteFolderMembership"),
pulumi.String("quicksight:DescribeFolderPermissions"),
pulumi.String("quicksight:UpdateFolderPermissions"),
},
Principal: pulumi.Any(exampleAwsQuicksightUser.Arn),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.quicksight.Folder;
import com.pulumi.aws.quicksight.FolderArgs;
import com.pulumi.aws.quicksight.inputs.FolderPermissionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Folder("example", FolderArgs.builder()
.folderId("example-id")
.name("example-name")
.permissions(FolderPermissionArgs.builder()
.actions(
"quicksight:CreateFolder",
"quicksight:DescribeFolder",
"quicksight:UpdateFolder",
"quicksight:DeleteFolder",
"quicksight:CreateFolderMembership",
"quicksight:DeleteFolderMembership",
"quicksight:DescribeFolderPermissions",
"quicksight:UpdateFolderPermissions")
.principal(exampleAwsQuicksightUser.arn())
.build())
.build());
}
}
resources:
example:
type: aws:quicksight:Folder
properties:
folderId: example-id
name: example-name
permissions:
- actions:
- quicksight:CreateFolder
- quicksight:DescribeFolder
- quicksight:UpdateFolder
- quicksight:DeleteFolder
- quicksight:CreateFolderMembership
- quicksight:DeleteFolderMembership
- quicksight:DescribeFolderPermissions
- quicksight:UpdateFolderPermissions
principal: ${exampleAwsQuicksightUser.arn}

With Parent Folder

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const parent = new aws.quicksight.Folder("parent", {
folderId: "parent-id",
name: "parent-name",
});
const example = new aws.quicksight.Folder("example", {
folderId: "example-id",
name: "example-name",
parentFolderArn: parent.arn,
});
import pulumi
import pulumi_aws as aws
parent = aws.quicksight.Folder("parent",
folder_id="parent-id",
name="parent-name")
example = aws.quicksight.Folder("example",
folder_id="example-id",
name="example-name",
parent_folder_arn=parent.arn)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var parent = new Aws.Quicksight.Folder("parent", new()
{
FolderId = "parent-id",
Name = "parent-name",
});
var example = new Aws.Quicksight.Folder("example", new()
{
FolderId = "example-id",
Name = "example-name",
ParentFolderArn = parent.Arn,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
parent, err := quicksight.NewFolder(ctx, "parent", &quicksight.FolderArgs{
FolderId: pulumi.String("parent-id"),
Name: pulumi.String("parent-name"),
})
if err != nil {
return err
}
_, err = quicksight.NewFolder(ctx, "example", &quicksight.FolderArgs{
FolderId: pulumi.String("example-id"),
Name: pulumi.String("example-name"),
ParentFolderArn: parent.Arn,
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.quicksight.Folder;
import com.pulumi.aws.quicksight.FolderArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var parent = new Folder("parent", FolderArgs.builder()
.folderId("parent-id")
.name("parent-name")
.build());
var example = new Folder("example", FolderArgs.builder()
.folderId("example-id")
.name("example-name")
.parentFolderArn(parent.arn())
.build());
}
}
resources:
parent:
type: aws:quicksight:Folder
properties:
folderId: parent-id
name: parent-name
example:
type: aws:quicksight:Folder
properties:
folderId: example-id
name: example-name
parentFolderArn: ${parent.arn}

Import

Using pulumi import, import a QuickSight folder using the AWS account ID and folder ID name separated by a comma (,). For example:

$ pulumi import aws:quicksight/folder:Folder example 123456789012,example-id

Constructors

Link copied to clipboard
constructor(awsAccountId: Output<String>? = null, folderId: Output<String>? = null, folderType: Output<String>? = null, name: Output<String>? = null, parentFolderArn: Output<String>? = null, permissions: Output<List<FolderPermissionArgs>>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val awsAccountId: Output<String>? = null

AWS account ID.

Link copied to clipboard
val folderId: Output<String>? = null

Identifier for the folder.

Link copied to clipboard
val folderType: Output<String>? = null

The type of folder. By default, it is SHARED. Valid values are: SHARED.

Link copied to clipboard
val name: Output<String>? = null

Display name for the folder. The following arguments are optional:

Link copied to clipboard
val parentFolderArn: Output<String>? = null

The Amazon Resource Name (ARN) for the parent folder. If not set, creates a root-level folder.

Link copied to clipboard
val permissions: Output<List<FolderPermissionArgs>>? = null

A set of resource permissions on the folder. Maximum of 64 items. See permissions.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Functions

Link copied to clipboard
open override fun toJava(): FolderArgs