import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides a resource to create a subnet based on the input parameters. * * ## Example * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * //creating subnet with IP pool * const vlan_112 = new nutanix.SubnetV2("vlan-112", { * name: "vlan-112", * description: "subnet VLAN 112 managed by Terraform with IP pool", * clusterReference: "a8fe48c4-f0d3-49c7-a017-efc30dd8fb2b", * subnetType: "VLAN", * networkId: 122, * isExternal: true, * ipConfigs: [{ * ipv4s: [{ * ipSubnets: [{ * ips: [{ * value: "192.168.0.0", * }], * prefixLength: 24, * }], * defaultGatewayIps: [{ * value: "192.168.0.1", * }], * poolLists: [{ * startIps: [{ * value: "192.168.0.20", * }], * endIps: [{ * value: "192.168.0.30", * }], * }], * }], * }], * }); * //creating subnet without IP pool * const vlan_113 = new nutanix.SubnetV2("vlan-113", { * name: "vlan-113", * description: "subnet VLAN 113 managed by Terraform", * clusterReference: "a8fe48c4-f0d3-49c7-a017-efc30dd8fb2b", * subnetType: "VLAN", * networkId: 113, * }); * // creating subnet with IP pool and DHCP options * const van_114 = new nutanix.SubnetV2("van-114", { * name: "vlan-114", * description: "subnet VLAN 114 managed by Terraform", * clusterReference: "a8fe48c4-f0d3-49c7-a017-efc30dd8fb2b", * subnetType: "VLAN", * networkId: 114, * ipConfigs: [{ * ipv4s: [{ * ipSubnets: [{ * ips: [{ * value: "192.168.0.0", * }], * prefixLength: 24, * }], * defaultGatewayIps: [{ * value: "192.168.0.1", * }], * poolLists: [{ * startIps: [{ * value: "192.168.0.20", * }], * endIps: [{ * value: "192.168.0.30", * }], * }], * }], * }], * dhcpOptions: [{ * domainNameServers: [{ * ipv4s: [{ * value: "8.8.8.8", * }], * }], * searchDomains: ["eng.nutanix.com"], * domainName: "nutanix.com", * tftpServerName: "10.5.0.10", * bootFileName: "pxelinux.0", * }], * }); * ``` * */ export declare class SubnetV2 extends pulumi.CustomResource { /** * Get an existing SubnetV2 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?: SubnetV2State, opts?: pulumi.CustomResourceOptions): SubnetV2; /** * Returns true if the given object is an instance of SubnetV2. 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 SubnetV2; /** * Name of the bridge on the host for the subnet. */ readonly bridgeName: pulumi.Output; /** * Cluster Name */ readonly clusterName: pulumi.Output; /** * UUID of the cluster this subnet belongs to. */ readonly clusterReference: pulumi.Output; /** * Description of the subnet. */ readonly description: pulumi.Output; /** * List of DHCP options to be configured. */ readonly dhcpOptions: pulumi.Output; /** * List of IPs, which are a subset from the reserved IP address list, that must be advertised to the SDN gateway. */ readonly dynamicIpAddresses: pulumi.Output; readonly extId: pulumi.Output; /** * Hypervisor Type */ readonly hypervisorType: pulumi.Output; /** * IP configuration for the subnet. */ readonly ipConfigs: pulumi.Output; /** * IP Prefix in CIDR format. */ readonly ipPrefix: pulumi.Output; readonly ipUsages: pulumi.Output; /** * Indicates whether the subnet is used for advanced networking. */ readonly isAdvancedNetworking: pulumi.Output; /** * Indicates whether the subnet is used for external connectivity. */ readonly isExternal: pulumi.Output; /** * Indicates whether NAT must be enabled for VPCs attached to the subnet. This is supported only for external subnets. NAT is enabled by default on external subnets. */ readonly isNatEnabled: pulumi.Output; readonly links: pulumi.Output; readonly metadatas: pulumi.Output; readonly migrationState: pulumi.Output; /** * Name of the subnet. */ readonly name: pulumi.Output; /** * UUID of the Network function chain entity that this subnet belongs to (type VLAN only). */ readonly networkFunctionChainReference: pulumi.Output; /** * For VLAN subnet, this field represents VLAN Id, valid range is from 0 to 4095; For overlay subnet, this field represents 24-bit VNI, this field is read-only. */ readonly networkId: pulumi.Output; /** * List of IPs that are excluded while allocating IP addresses to VM ports. Reference to address configuration */ readonly reservedIpAddresses: pulumi.Output; /** * Type of subnet. Acceptables values are "OVERLAY", "VLAN". */ readonly subnetType: pulumi.Output; /** * UUID of the virtual switch this subnet belongs to (type VLAN only). */ readonly virtualSwitchReference: pulumi.Output; /** * Schema to configure a virtual switch */ readonly virtualSwitches: pulumi.Output; /** * UUID of Virtual Private Cloud this subnet belongs to (type Overlay only). */ readonly vpcReference: pulumi.Output; /** * Networking common base object */ readonly vpcs: pulumi.Output; /** * Create a SubnetV2 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: SubnetV2Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SubnetV2 resources. */ export interface SubnetV2State { /** * Name of the bridge on the host for the subnet. */ bridgeName?: pulumi.Input; /** * Cluster Name */ clusterName?: pulumi.Input; /** * UUID of the cluster this subnet belongs to. */ clusterReference?: pulumi.Input; /** * Description of the subnet. */ description?: pulumi.Input; /** * List of DHCP options to be configured. */ dhcpOptions?: pulumi.Input[] | undefined>; /** * List of IPs, which are a subset from the reserved IP address list, that must be advertised to the SDN gateway. */ dynamicIpAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * Hypervisor Type */ hypervisorType?: pulumi.Input; /** * IP configuration for the subnet. */ ipConfigs?: pulumi.Input[] | undefined>; /** * IP Prefix in CIDR format. */ ipPrefix?: pulumi.Input; ipUsages?: pulumi.Input[] | undefined>; /** * Indicates whether the subnet is used for advanced networking. */ isAdvancedNetworking?: pulumi.Input; /** * Indicates whether the subnet is used for external connectivity. */ isExternal?: pulumi.Input; /** * Indicates whether NAT must be enabled for VPCs attached to the subnet. This is supported only for external subnets. NAT is enabled by default on external subnets. */ isNatEnabled?: pulumi.Input; links?: pulumi.Input[] | undefined>; metadatas?: pulumi.Input[] | undefined>; migrationState?: pulumi.Input; /** * Name of the subnet. */ name?: pulumi.Input; /** * UUID of the Network function chain entity that this subnet belongs to (type VLAN only). */ networkFunctionChainReference?: pulumi.Input; /** * For VLAN subnet, this field represents VLAN Id, valid range is from 0 to 4095; For overlay subnet, this field represents 24-bit VNI, this field is read-only. */ networkId?: pulumi.Input; /** * List of IPs that are excluded while allocating IP addresses to VM ports. Reference to address configuration */ reservedIpAddresses?: pulumi.Input[] | undefined>; /** * Type of subnet. Acceptables values are "OVERLAY", "VLAN". */ subnetType?: pulumi.Input; /** * UUID of the virtual switch this subnet belongs to (type VLAN only). */ virtualSwitchReference?: pulumi.Input; /** * Schema to configure a virtual switch */ virtualSwitches?: pulumi.Input[] | undefined>; /** * UUID of Virtual Private Cloud this subnet belongs to (type Overlay only). */ vpcReference?: pulumi.Input; /** * Networking common base object */ vpcs?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a SubnetV2 resource. */ export interface SubnetV2Args { /** * Name of the bridge on the host for the subnet. */ bridgeName?: pulumi.Input; /** * Cluster Name */ clusterName?: pulumi.Input; /** * UUID of the cluster this subnet belongs to. */ clusterReference?: pulumi.Input; /** * Description of the subnet. */ description?: pulumi.Input; /** * List of DHCP options to be configured. */ dhcpOptions?: pulumi.Input[] | undefined>; /** * List of IPs, which are a subset from the reserved IP address list, that must be advertised to the SDN gateway. */ dynamicIpAddresses?: pulumi.Input[] | undefined>; extId?: pulumi.Input; /** * Hypervisor Type */ hypervisorType?: pulumi.Input; /** * IP configuration for the subnet. */ ipConfigs?: pulumi.Input[] | undefined>; /** * IP Prefix in CIDR format. */ ipPrefix?: pulumi.Input; ipUsages?: pulumi.Input[] | undefined>; /** * Indicates whether the subnet is used for advanced networking. */ isAdvancedNetworking?: pulumi.Input; /** * Indicates whether the subnet is used for external connectivity. */ isExternal?: pulumi.Input; /** * Indicates whether NAT must be enabled for VPCs attached to the subnet. This is supported only for external subnets. NAT is enabled by default on external subnets. */ isNatEnabled?: pulumi.Input; metadatas?: pulumi.Input[] | undefined>; /** * Name of the subnet. */ name?: pulumi.Input; /** * UUID of the Network function chain entity that this subnet belongs to (type VLAN only). */ networkFunctionChainReference?: pulumi.Input; /** * For VLAN subnet, this field represents VLAN Id, valid range is from 0 to 4095; For overlay subnet, this field represents 24-bit VNI, this field is read-only. */ networkId?: pulumi.Input; /** * List of IPs that are excluded while allocating IP addresses to VM ports. Reference to address configuration */ reservedIpAddresses?: pulumi.Input[] | undefined>; /** * Type of subnet. Acceptables values are "OVERLAY", "VLAN". */ subnetType: pulumi.Input; /** * UUID of the virtual switch this subnet belongs to (type VLAN only). */ virtualSwitchReference?: pulumi.Input; /** * Schema to configure a virtual switch */ virtualSwitches?: pulumi.Input[] | undefined>; /** * UUID of Virtual Private Cloud this subnet belongs to (type Overlay only). */ vpcReference?: pulumi.Input; /** * Networking common base object */ vpcs?: pulumi.Input[] | undefined>; } //# sourceMappingURL=subnetV2.d.ts.map