import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A private network creates an isolated, self-configurable virtual network environment for cloud resources. You can customize IP address ranges, security groups, routing policies, and other network features within the private network to manage cloud resources simply, efficiently, and securely. * * ## Import * * ```sh * $ pulumi import volcenginecc:vpc/vpc:Vpc example "vpc_id" * ``` */ export declare class Vpc extends pulumi.CustomResource { /** * Get an existing Vpc 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?: VpcState, opts?: pulumi.CustomResourceOptions): Vpc; /** * Returns true if the given object is an instance of Vpc. 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 Vpc; /** * ID of the account to which the VPC belongs. */ readonly accountId: pulumi.Output; readonly associateCens: pulumi.Output; /** * IPv4 CIDR block of the VPC. You can use the following CIDR blocks or their subsets as the VPC's IPv4 CIDR block: 192.168.0.0/16 ~ 24, 10.0.0.0/8 ~ 24, 172.16.0.0/12 ~ 24. */ readonly cidrBlock: pulumi.Output; /** * Time when the VPC was created. */ readonly creationTime: pulumi.Output; /** * Description of the VPC. Length must be between 0 and 255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Cannot start with http:// or https://. */ readonly description: pulumi.Output; /** * DNS server addresses of the VPC. Maximum of 5 per request. Each DnsServer must be a valid IP address. Use & to separate multiple IPs. If not specified, defaults to the system DNS server addresses. */ readonly dnsServers: pulumi.Output; /** * Whether to enable IPv6 CIDR block. false (default): not enabled. true: enabled. */ readonly enableIpv6: pulumi.Output; /** * ID of the IPv4 gateway bound to the VPC. */ readonly ipv4GatewayId: pulumi.Output; /** * IPv6 CIDR block of the VPC. If this parameter is provided, the Ipv6MaskLen parameter is ignored. If the Ipv6Isp parameter is set to a value other than BGP, either the Ipv6MaskLen or Ipv6CidrBlock parameter must be provided. If the Ipv6Isp parameter is not provided or set to BGP and this parameter is not provided, the system automatically assigns an IPv6 CIDR block. */ readonly ipv6CidrBlock: pulumi.Output; /** * Whether this VPC is the default VPC. true: default VPC, meaning the VPC was automatically created by the system when creating an ECS instance. false: non-default VPC, meaning the VPC was manually created by the user. */ readonly isDefault: pulumi.Output; /** * ID of the NAT gateway created in the VPC. */ readonly natGatewayIds: pulumi.Output; /** * Number of network ACLs in the VPC. */ readonly networkAclNum: pulumi.Output; /** * Name of the project to which the VPC belongs. If not specified, it is added to the default project. */ readonly projectName: pulumi.Output; /** * ID of the route table associated with the VPC. */ readonly routeTableIds: pulumi.Output; /** * Secondary CIDR block of the VPC. */ readonly secondaryCidrBlocks: pulumi.Output; /** * List of security groups in the VPC. */ readonly securityGroupIds: pulumi.Output; /** * Status of the VPC. Creating: being created. Created: created. Available: available. */ readonly status: pulumi.Output; /** * List of subnets in the VPC. */ readonly subnetIds: pulumi.Output; /** * Whether the VPC enables the IPv4 gateway. false (default): not enabled. true: enabled. */ readonly supportIpv4Gateway: pulumi.Output; readonly tags: pulumi.Output; /** * Time when the VPC was updated. */ readonly updateTime: pulumi.Output; /** * User CIDR block of the VPC. */ readonly userCidrBlocks: pulumi.Output; /** * ID of the VPC. */ readonly vpcId: pulumi.Output; /** * Name of the VPC. Length must be between 1 and 128 characters. Must start with a letter, Chinese character, or number, and can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the VPC instance ID. Cannot start with http:// or https://. */ readonly vpcName: pulumi.Output; /** * Create a Vpc 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?: VpcArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Vpc resources. */ export interface VpcState { /** * ID of the account to which the VPC belongs. */ accountId?: pulumi.Input; associateCens?: pulumi.Input[]>; /** * IPv4 CIDR block of the VPC. You can use the following CIDR blocks or their subsets as the VPC's IPv4 CIDR block: 192.168.0.0/16 ~ 24, 10.0.0.0/8 ~ 24, 172.16.0.0/12 ~ 24. */ cidrBlock?: pulumi.Input; /** * Time when the VPC was created. */ creationTime?: pulumi.Input; /** * Description of the VPC. Length must be between 0 and 255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Cannot start with http:// or https://. */ description?: pulumi.Input; /** * DNS server addresses of the VPC. Maximum of 5 per request. Each DnsServer must be a valid IP address. Use & to separate multiple IPs. If not specified, defaults to the system DNS server addresses. */ dnsServers?: pulumi.Input[]>; /** * Whether to enable IPv6 CIDR block. false (default): not enabled. true: enabled. */ enableIpv6?: pulumi.Input; /** * ID of the IPv4 gateway bound to the VPC. */ ipv4GatewayId?: pulumi.Input; /** * IPv6 CIDR block of the VPC. If this parameter is provided, the Ipv6MaskLen parameter is ignored. If the Ipv6Isp parameter is set to a value other than BGP, either the Ipv6MaskLen or Ipv6CidrBlock parameter must be provided. If the Ipv6Isp parameter is not provided or set to BGP and this parameter is not provided, the system automatically assigns an IPv6 CIDR block. */ ipv6CidrBlock?: pulumi.Input; /** * Whether this VPC is the default VPC. true: default VPC, meaning the VPC was automatically created by the system when creating an ECS instance. false: non-default VPC, meaning the VPC was manually created by the user. */ isDefault?: pulumi.Input; /** * ID of the NAT gateway created in the VPC. */ natGatewayIds?: pulumi.Input[]>; /** * Number of network ACLs in the VPC. */ networkAclNum?: pulumi.Input; /** * Name of the project to which the VPC belongs. If not specified, it is added to the default project. */ projectName?: pulumi.Input; /** * ID of the route table associated with the VPC. */ routeTableIds?: pulumi.Input[]>; /** * Secondary CIDR block of the VPC. */ secondaryCidrBlocks?: pulumi.Input[]>; /** * List of security groups in the VPC. */ securityGroupIds?: pulumi.Input[]>; /** * Status of the VPC. Creating: being created. Created: created. Available: available. */ status?: pulumi.Input; /** * List of subnets in the VPC. */ subnetIds?: pulumi.Input[]>; /** * Whether the VPC enables the IPv4 gateway. false (default): not enabled. true: enabled. */ supportIpv4Gateway?: pulumi.Input; tags?: pulumi.Input[]>; /** * Time when the VPC was updated. */ updateTime?: pulumi.Input; /** * User CIDR block of the VPC. */ userCidrBlocks?: pulumi.Input[]>; /** * ID of the VPC. */ vpcId?: pulumi.Input; /** * Name of the VPC. Length must be between 1 and 128 characters. Must start with a letter, Chinese character, or number, and can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the VPC instance ID. Cannot start with http:// or https://. */ vpcName?: pulumi.Input; } /** * The set of arguments for constructing a Vpc resource. */ export interface VpcArgs { /** * IPv4 CIDR block of the VPC. You can use the following CIDR blocks or their subsets as the VPC's IPv4 CIDR block: 192.168.0.0/16 ~ 24, 10.0.0.0/8 ~ 24, 172.16.0.0/12 ~ 24. */ cidrBlock?: pulumi.Input; /** * Description of the VPC. Length must be between 0 and 255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). Cannot start with http:// or https://. */ description?: pulumi.Input; /** * DNS server addresses of the VPC. Maximum of 5 per request. Each DnsServer must be a valid IP address. Use & to separate multiple IPs. If not specified, defaults to the system DNS server addresses. */ dnsServers?: pulumi.Input[]>; /** * Whether to enable IPv6 CIDR block. false (default): not enabled. true: enabled. */ enableIpv6?: pulumi.Input; /** * ID of the IPv4 gateway bound to the VPC. */ ipv4GatewayId?: pulumi.Input; /** * IPv6 CIDR block of the VPC. If this parameter is provided, the Ipv6MaskLen parameter is ignored. If the Ipv6Isp parameter is set to a value other than BGP, either the Ipv6MaskLen or Ipv6CidrBlock parameter must be provided. If the Ipv6Isp parameter is not provided or set to BGP and this parameter is not provided, the system automatically assigns an IPv6 CIDR block. */ ipv6CidrBlock?: pulumi.Input; /** * ID of the NAT gateway created in the VPC. */ natGatewayIds?: pulumi.Input[]>; /** * Name of the project to which the VPC belongs. If not specified, it is added to the default project. */ projectName?: pulumi.Input; /** * Secondary CIDR block of the VPC. */ secondaryCidrBlocks?: pulumi.Input[]>; /** * List of subnets in the VPC. */ subnetIds?: pulumi.Input[]>; /** * Whether the VPC enables the IPv4 gateway. false (default): not enabled. true: enabled. */ supportIpv4Gateway?: pulumi.Input; tags?: pulumi.Input[]>; /** * Name of the VPC. Length must be between 1 and 128 characters. Must start with a letter, Chinese character, or number, and can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the VPC instance ID. Cannot start with http:// or https://. */ vpcName?: pulumi.Input; }