SecurityGroup

class SecurityGroup : KotlinCustomResource

Provides a Security Group resource. For information about Security Group and how to use it, see What is Security Group.

NOTE: Available since v1.0.0. NOTE: alicloud.ecs.SecurityGroup is used to build and manage a security group, and alicloud.ecs.SecurityGroupRule can define ingress or egress rules for it. NOTE: From version 1.7.2, alicloud.ecs.SecurityGroup has supported to segregate different ECS instance in which the same security group.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = new alicloud.ecs.SecurityGroup("default", {
name: "terraform-example",
description: "New security group",
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.ecs.SecurityGroup("default",
name="terraform-example",
description="New security group")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = new AliCloud.Ecs.SecurityGroup("default", new()
{
Name = "terraform-example",
Description = "New security group",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
Name: pulumi.String("terraform-example"),
Description: pulumi.String("New security group"),
})
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.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
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 SecurityGroup("default", SecurityGroupArgs.builder()
.name("terraform-example")
.description("New security group")
.build());
}
}
resources:
default:
type: alicloud:ecs:SecurityGroup
properties:
name: terraform-example
description: New security group

Basic Usage for VPC

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const vpc = new alicloud.vpc.Network("vpc", {
vpcName: "terraform-example",
cidrBlock: "10.1.0.0/21",
});
const group = new alicloud.ecs.SecurityGroup("group", {
name: "terraform-example",
vpcId: vpc.id,
});
import pulumi
import pulumi_alicloud as alicloud
vpc = alicloud.vpc.Network("vpc",
vpc_name="terraform-example",
cidr_block="10.1.0.0/21")
group = alicloud.ecs.SecurityGroup("group",
name="terraform-example",
vpc_id=vpc.id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var vpc = new AliCloud.Vpc.Network("vpc", new()
{
VpcName = "terraform-example",
CidrBlock = "10.1.0.0/21",
});
var @group = new AliCloud.Ecs.SecurityGroup("group", new()
{
Name = "terraform-example",
VpcId = vpc.Id,
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
VpcName: pulumi.String("terraform-example"),
CidrBlock: pulumi.String("10.1.0.0/21"),
})
if err != nil {
return err
}
_, err = ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{
Name: pulumi.String("terraform-example"),
VpcId: vpc.ID(),
})
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.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
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 vpc = new Network("vpc", NetworkArgs.builder()
.vpcName("terraform-example")
.cidrBlock("10.1.0.0/21")
.build());
var group = new SecurityGroup("group", SecurityGroupArgs.builder()
.name("terraform-example")
.vpcId(vpc.id())
.build());
}
}
resources:
vpc:
type: alicloud:vpc:Network
properties:
vpcName: terraform-example
cidrBlock: 10.1.0.0/21
group:
type: alicloud:ecs:SecurityGroup
properties:
name: terraform-example
vpcId: ${vpc.id}

Module Support

You can use the existing security-group module to create a security group and add several rules one-click.

Import

Security Group can be imported using the id, e.g.

$ pulumi import alicloud:ecs/securityGroup:SecurityGroup example sg-abc123456

Properties

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

The security group description. Defaults to null.

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

Field inner_access has been deprecated from provider version 1.55.3. New field inner_access_policy instead. Combining security group rules, the policy can define multiple application scenario. Default to true. It is valid from version 1.7.2.

Link copied to clipboard

The internal access control policy of the security group. Valid values: Accept, Drop.

Link copied to clipboard
val name: Output<String>

The name of the security group. Defaults to null.

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

The ID of the resource group to which the security group belongs. NOTE: From version 1.115.0, resource_group_id can be modified.

Link copied to clipboard

The type of the security group. Valid values:

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

A mapping of tags to assign to the resource.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val vpcId: Output<String>?

The ID of the VPC.