Project Args
data class ProjectArgs(val description: Output<String>? = null, val name: Output<String>? = null, val policy: Output<String>? = null, val projectName: Output<String>? = null, val resourceGroupId: Output<String>? = null, val tags: Output<Map<String, Any>>? = null) : ConvertibleToJava<ProjectArgs>
Provides a SLS Project resource. For information about SLS Project and how to use it, see What is Project.
NOTE: Available since v1.9.5.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const _default = new random.index.Integer("default", {
max: 99999,
min: 10000,
});
const example = new alicloud.log.Project("example", {
name: `terraform-example-${_default.result}`,
description: "terraform-example",
tags: {
Created: "TF",
For: "example",
},
});Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
default = random.index.Integer("default",
max=99999,
min=10000)
example = alicloud.log.Project("example",
name=f"terraform-example-{default['result']}",
description="terraform-example",
tags={
"Created": "TF",
"For": "example",
})Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var @default = new Random.Index.Integer("default", new()
{
Max = 99999,
Min = 10000,
});
var example = new AliCloud.Log.Project("example", new()
{
Name = $"terraform-example-{@default.Result}",
Description = "terraform-example",
Tags =
{
{ "Created", "TF" },
{ "For", "example" },
},
});
});Content copied to clipboard
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Max: 99999,
Min: 10000,
})
if err != nil {
return err
}
_, err = log.NewProject(ctx, "example", &log.ProjectArgs{
Name: pulumi.String(fmt.Sprintf("terraform-example-%v", _default.Result)),
Description: pulumi.String("terraform-example"),
Tags: pulumi.Map{
"Created": pulumi.Any("TF"),
"For": pulumi.Any("example"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.log.Project;
import com.pulumi.alicloud.log.ProjectArgs;
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 default_ = new Integer("default", IntegerArgs.builder()
.max(99999)
.min(10000)
.build());
var example = new Project("example", ProjectArgs.builder()
.name(String.format("terraform-example-%s", default_.result()))
.description("terraform-example")
.tags(Map.ofEntries(
Map.entry("Created", "TF"),
Map.entry("For", "example")
))
.build());
}
}Content copied to clipboard
resources:
default:
type: random:integer
properties:
max: 99999
min: 10000
example:
type: alicloud:log:Project
properties:
name: terraform-example-${default.result}
description: terraform-example
tags:
Created: TF
For: exampleContent copied to clipboard
Project With Policy Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const _default = new random.index.Integer("default", {
max: 99999,
min: 10000,
});
const examplePolicy = new alicloud.log.Project("example_policy", {
name: `terraform-example-${_default.result}`,
description: "terraform-example",
policy: `{
"Statement": [
{
"Action": [
"log:PostLogStoreLogs"
],
"Condition": {
"StringNotLike": {
"acs:SourceVpc": [
"vpc-*"
]
}
},
"Effect": "Deny",
"Resource": "acs:log:*:*:project/tf-log/*"
}
],
"Version": "1"
}
`,
});Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
default = random.index.Integer("default",
max=99999,
min=10000)
example_policy = alicloud.log.Project("example_policy",
name=f"terraform-example-{default['result']}",
description="terraform-example",
policy="""{
"Statement": [
{
"Action": [
"log:PostLogStoreLogs"
],
"Condition": {
"StringNotLike": {
"acs:SourceVpc": [
"vpc-*"
]
}
},
"Effect": "Deny",
"Resource": "acs:log:*:*:project/tf-log/*"
}
],
"Version": "1"
}
""")Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var @default = new Random.Index.Integer("default", new()
{
Max = 99999,
Min = 10000,
});
var examplePolicy = new AliCloud.Log.Project("example_policy", new()
{
Name = $"terraform-example-{@default.Result}",
Description = "terraform-example",
Policy = @"{
""Statement"": [
{
""Action"": [
""log:PostLogStoreLogs""
],
""Condition"": {
""StringNotLike"": {
""acs:SourceVpc"": [
""vpc-*""
]
}
},
""Effect"": ""Deny"",
""Resource"": ""acs:log:*:*:project/tf-log/*""
}
],
""Version"": ""1""
}
",
});
});Content copied to clipboard
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Max: 99999,
Min: 10000,
})
if err != nil {
return err
}
_, err = log.NewProject(ctx, "example_policy", &log.ProjectArgs{
Name: pulumi.String(fmt.Sprintf("terraform-example-%v", _default.Result)),
Description: pulumi.String("terraform-example"),
Policy: pulumi.String(`{
"Statement": [
{
"Action": [
"log:PostLogStoreLogs"
],
"Condition": {
"StringNotLike": {
"acs:SourceVpc": [
"vpc-*"
]
}
},
"Effect": "Deny",
"Resource": "acs:log:*:*:project/tf-log/*"
}
],
"Version": "1"
}
`),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.log.Project;
import com.pulumi.alicloud.log.ProjectArgs;
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 default_ = new Integer("default", IntegerArgs.builder()
.max(99999)
.min(10000)
.build());
var examplePolicy = new Project("examplePolicy", ProjectArgs.builder()
.name(String.format("terraform-example-%s", default_.result()))
.description("terraform-example")
.policy("""
{
"Statement": [
{
"Action": [
"log:PostLogStoreLogs"
],
"Condition": {
"StringNotLike": {
"acs:SourceVpc": [
"vpc-*"
]
}
},
"Effect": "Deny",
"Resource": "acs:log:*:*:project/tf-log/*"
}
],
"Version": "1"
}
""")
.build());
}
}Content copied to clipboard
resources:
default:
type: random:integer
properties:
max: 99999
min: 10000
examplePolicy:
type: alicloud:log:Project
name: example_policy
properties:
name: terraform-example-${default.result}
description: terraform-example
policy: |
{
"Statement": [
{
"Action": [
"log:PostLogStoreLogs"
],
"Condition": {
"StringNotLike": {
"acs:SourceVpc": [
"vpc-*"
]
}
},
"Effect": "Deny",
"Resource": "acs:log:*:*:project/tf-log/*"
}
],
"Version": "1"
}Content copied to clipboard
Module Support
You can use the existing sls module to create SLS project, store and store index one-click, like ECS instances.
Import
SLS Project can be imported using the id, e.g.
$ pulumi import alicloud:log/project:Project example <id>Content copied to clipboard