import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A security group is a logical grouping that provides access policies for NICs within the same private network that share security requirements and mutual trust. You can control inbound and outbound traffic for associated NICs by configuring security group rules * * ## Import * * ```sh * $ pulumi import volcenginecc:vpc/securityGroup:SecurityGroup example "security_group_id" * ``` */ export declare class SecurityGroup extends pulumi.CustomResource { /** * Get an existing SecurityGroup resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: SecurityGroupState, opts?: pulumi.CustomResourceOptions): SecurityGroup; /** * Returns true if the given object is an instance of SecurityGroup. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is SecurityGroup; /** * Security group creation time */ readonly creationTime: pulumi.Output; /** * Description of the security group. Length limit: 0–255 characters. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). If not specified, defaults to an empty string */ readonly description: pulumi.Output; readonly egressPermissions: pulumi.Output; readonly ingressPermissions: pulumi.Output; /** * Project name to which the security group belongs. Default project is 'default' if not specified */ readonly projectName: pulumi.Output; /** * Security group ID */ readonly securityGroupId: pulumi.Output; /** * Security group name. Length: 1–128 characters. Must start with a letter, Chinese character, or number. Can include period (.), underscore (_), and hyphen (-). Default is security group ID if not specified */ readonly securityGroupName: pulumi.Output; /** * Indicates whether the security group is managed. true means managed security group, false means unmanaged security group */ readonly serviceManaged: pulumi.Output; /** * Security group status. Available means available for use, Creating means being created */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Security group type. 1. default: default security group. 2. normal: custom security group. 3. VpnGW: VPN gateway security group. 4. NatGW: NAT gateway security group. 5. cidr_only: CIDR-Only security group */ readonly type: pulumi.Output; /** * VPC ID to which the security group belongs */ readonly vpcId: pulumi.Output; /** * Create a SecurityGroup resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: SecurityGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SecurityGroup resources. */ export interface SecurityGroupState { /** * Security group creation time */ creationTime?: pulumi.Input; /** * Description of the security group. Length limit: 0–255 characters. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). If not specified, defaults to an empty string */ description?: pulumi.Input; egressPermissions?: pulumi.Input[]>; ingressPermissions?: pulumi.Input[]>; /** * Project name to which the security group belongs. Default project is 'default' if not specified */ projectName?: pulumi.Input; /** * Security group ID */ securityGroupId?: pulumi.Input; /** * Security group name. Length: 1–128 characters. Must start with a letter, Chinese character, or number. Can include period (.), underscore (_), and hyphen (-). Default is security group ID if not specified */ securityGroupName?: pulumi.Input; /** * Indicates whether the security group is managed. true means managed security group, false means unmanaged security group */ serviceManaged?: pulumi.Input; /** * Security group status. Available means available for use, Creating means being created */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Security group type. 1. default: default security group. 2. normal: custom security group. 3. VpnGW: VPN gateway security group. 4. NatGW: NAT gateway security group. 5. cidr_only: CIDR-Only security group */ type?: pulumi.Input; /** * VPC ID to which the security group belongs */ vpcId?: pulumi.Input; } /** * The set of arguments for constructing a SecurityGroup resource. */ export interface SecurityGroupArgs { /** * Description of the security group. Length limit: 0–255 characters. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). If not specified, defaults to an empty string */ description?: pulumi.Input; egressPermissions?: pulumi.Input[]>; ingressPermissions?: pulumi.Input[]>; /** * Project name to which the security group belongs. Default project is 'default' if not specified */ projectName?: pulumi.Input; /** * Security group name. Length: 1–128 characters. Must start with a letter, Chinese character, or number. Can include period (.), underscore (_), and hyphen (-). Default is security group ID if not specified */ securityGroupName?: pulumi.Input; tags?: pulumi.Input[]>; /** * VPC ID to which the security group belongs */ vpcId: pulumi.Input; }