WorkspaceDataset

class WorkspaceDataset : KotlinCustomResource

Provides a PAI Workspace Dataset resource. For information about PAI Workspace Dataset and how to use it, see What is Dataset.

NOTE: Available since v1.236.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "terraform_example";
const defaultWorkspace = new alicloud.pai.WorkspaceWorkspace("defaultWorkspace", {
description: name,
displayName: name,
workspaceName: name,
envTypes: ["prod"],
});
const _default = new alicloud.pai.WorkspaceDataset("default", {
options: JSON.stringify({
mountPath: "/mnt/data/",
}),
description: name,
accessibility: "PRIVATE",
datasetName: name,
dataSourceType: "NAS",
sourceType: "ITAG",
workspaceId: defaultWorkspace.id,
dataType: "PIC",
property: "DIRECTORY",
uri: "nas://086b649545.cn-hangzhou/",
sourceId: "d-xxxxx_v1",
userId: "1511928242963727",
});
import pulumi
import json
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform_example"
default_workspace = alicloud.pai.WorkspaceWorkspace("defaultWorkspace",
description=name,
display_name=name,
workspace_name=name,
env_types=["prod"])
default = alicloud.pai.WorkspaceDataset("default",
options=json.dumps({
"mountPath": "/mnt/data/",
}),
description=name,
accessibility="PRIVATE",
dataset_name=name,
data_source_type="NAS",
source_type="ITAG",
workspace_id=default_workspace.id,
data_type="PIC",
property="DIRECTORY",
uri="nas://086b649545.cn-hangzhou/",
source_id="d-xxxxx_v1",
user_id="1511928242963727")
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "terraform_example";
var defaultWorkspace = new AliCloud.Pai.WorkspaceWorkspace("defaultWorkspace", new()
{
Description = name,
DisplayName = name,
WorkspaceName = name,
EnvTypes = new[]
{
"prod",
},
});
var @default = new AliCloud.Pai.WorkspaceDataset("default", new()
{
Options = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["mountPath"] = "/mnt/data/",
}),
Description = name,
Accessibility = "PRIVATE",
DatasetName = name,
DataSourceType = "NAS",
SourceType = "ITAG",
WorkspaceId = defaultWorkspace.Id,
DataType = "PIC",
Property = "DIRECTORY",
Uri = "nas://086b649545.cn-hangzhou/",
SourceId = "d-xxxxx_v1",
UserId = "1511928242963727",
});
});
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "terraform_example"
if param := cfg.Get("name"); param != "" {
name = param
}
defaultWorkspace, err := pai.NewWorkspaceWorkspace(ctx, "defaultWorkspace", &pai.WorkspaceWorkspaceArgs{
Description: pulumi.String(name),
DisplayName: pulumi.String(name),
WorkspaceName: pulumi.String(name),
EnvTypes: pulumi.StringArray{
pulumi.String("prod"),
},
})
if err != nil {
return err
}
tmpJSON0, err := json.Marshal(map[string]interface{}{
"mountPath": "/mnt/data/",
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = pai.NewWorkspaceDataset(ctx, "default", &pai.WorkspaceDatasetArgs{
Options: pulumi.String(json0),
Description: pulumi.String(name),
Accessibility: pulumi.String("PRIVATE"),
DatasetName: pulumi.String(name),
DataSourceType: pulumi.String("NAS"),
SourceType: pulumi.String("ITAG"),
WorkspaceId: defaultWorkspace.ID(),
DataType: pulumi.String("PIC"),
Property: pulumi.String("DIRECTORY"),
Uri: pulumi.String("nas://086b649545.cn-hangzhou/"),
SourceId: pulumi.String("d-xxxxx_v1"),
UserId: pulumi.String("1511928242963727"),
})
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.alicloud.pai.WorkspaceWorkspace;
import com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;
import com.pulumi.alicloud.pai.WorkspaceDataset;
import com.pulumi.alicloud.pai.WorkspaceDatasetArgs;
import static com.pulumi.codegen.internal.Serialization.*;
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) {
final var config = ctx.config();
final var name = config.get("name").orElse("terraform_example");
var defaultWorkspace = new WorkspaceWorkspace("defaultWorkspace", WorkspaceWorkspaceArgs.builder()
.description(name)
.displayName(name)
.workspaceName(name)
.envTypes("prod")
.build());
var default_ = new WorkspaceDataset("default", WorkspaceDatasetArgs.builder()
.options(serializeJson(
jsonObject(
jsonProperty("mountPath", "/mnt/data/")
)))
.description(name)
.accessibility("PRIVATE")
.datasetName(name)
.dataSourceType("NAS")
.sourceType("ITAG")
.workspaceId(defaultWorkspace.id())
.dataType("PIC")
.property("DIRECTORY")
.uri("nas://086b649545.cn-hangzhou/")
.sourceId("d-xxxxx_v1")
.userId("1511928242963727")
.build());
}
}
configuration:
name:
type: string
default: terraform_example
resources:
defaultWorkspace:
type: alicloud:pai:WorkspaceWorkspace
properties:
description: ${name}
displayName: ${name}
workspaceName: ${name}
envTypes:
- prod
default:
type: alicloud:pai:WorkspaceDataset
properties:
options:
fn::toJSON:
mountPath: /mnt/data/
description: ${name}
accessibility: PRIVATE
datasetName: ${name}
dataSourceType: NAS
sourceType: ITAG
workspaceId: ${defaultWorkspace.id}
dataType: PIC
property: DIRECTORY
uri: nas://086b649545.cn-hangzhou/
sourceId: d-xxxxx_v1
userId: '1511928242963727'

Import

PAI Workspace Dataset can be imported using the id, e.g.

$ pulumi import alicloud:pai/workspaceDataset:WorkspaceDataset example <id>

Properties

Link copied to clipboard
val accessibility: Output<String>

Workspace visibility. The following values are supported:

Link copied to clipboard
val createTime: Output<String>

The creation time of the resource

Link copied to clipboard
val datasetName: Output<String>

The name of the dataset. The naming rules are as follows:

Link copied to clipboard
val dataSourceType: Output<String>

The data source type. The following values are supported:

Link copied to clipboard
val dataType: Output<String>

The dataset type. The default value is COMMON. The following values are supported:

Link copied to clipboard
val description: Output<String>?

Custom descriptions of datasets to distinguish between different datasets.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Labels added to the dataset See labels below.

Link copied to clipboard
val options: Output<String>?

The extended field, which is of the JsonString type. When DLC uses a dataset, you can specify the default Mount path for the dataset by configuring the mountPath field.

Link copied to clipboard
val property: Output<String>

The properties of the dataset. The following values are supported:

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val sourceId: Output<String>?

The data source ID.

Link copied to clipboard
val sourceType: Output<String>

The data source type. The default value is USER. The following values are supported:

Link copied to clipboard
val uri: Output<String>

The Uri configuration sample is as follows:

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val userId: Output<String>

The ID of the dataset owner.

Link copied to clipboard
val workspaceId: Output<String>

The ID of the workspace where the dataset is located. For details about how to obtain the workspace ID, see ListWorkspaces. If this parameter is not configured, the default workspace is used. If the default workspace does not exist, an error is reported.