opentelekomcloud.NetworkingVipAssociateV2
Explore with Pulumi AI
Manages a V2 vip associate resource within OpenTelekomCloud.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as opentelekomcloud from "@pulumi/opentelekomcloud";
const network1 = new opentelekomcloud.NetworkingNetworkV2("network1", {adminStateUp: "true"});
const subnet1 = new opentelekomcloud.NetworkingSubnetV2("subnet1", {
cidr: "192.168.199.0/24",
ipVersion: 4,
networkId: network1.networkingNetworkV2Id,
});
const router1 = new opentelekomcloud.NetworkingRouterV2("router1", {externalGateway: "0a2228f2-7f8a-45f1-8e09-9039e1d09975"});
const routerInterface1 = new opentelekomcloud.NetworkingRouterInterfaceV2("routerInterface1", {
routerId: router1.networkingRouterV2Id,
subnetId: subnet1.networkingSubnetV2Id,
});
const port1 = new opentelekomcloud.NetworkingPortV2("port1", {
adminStateUp: true,
networkId: network1.networkingNetworkV2Id,
fixedIp: {
subnetId: subnet1.networkingSubnetV2Id,
},
});
const instance1 = new opentelekomcloud.ComputeInstanceV2("instance1", {
securityGroups: ["default"],
networks: [{
port: port1.networkingPortV2Id,
}],
});
const port2 = new opentelekomcloud.NetworkingPortV2("port2", {
adminStateUp: true,
networkId: network1.networkingNetworkV2Id,
fixedIp: {
subnetId: subnet1.networkingSubnetV2Id,
},
});
const instance2 = new opentelekomcloud.ComputeInstanceV2("instance2", {
securityGroups: ["default"],
networks: [{
port: port1.networkingPortV2Id,
}],
});
const vip1 = new opentelekomcloud.NetworkingVipV2("vip1", {
networkId: network1.networkingNetworkV2Id,
subnetId: subnet1.networkingSubnetV2Id,
});
const vipAssociate1 = new opentelekomcloud.NetworkingVipAssociateV2("vipAssociate1", {
vipId: vip1.networkingVipV2Id,
portIds: [
port1.networkingPortV2Id,
port2.networkingPortV2Id,
],
});
import pulumi
import pulumi_opentelekomcloud as opentelekomcloud
network1 = opentelekomcloud.NetworkingNetworkV2("network1", admin_state_up="true")
subnet1 = opentelekomcloud.NetworkingSubnetV2("subnet1",
cidr="192.168.199.0/24",
ip_version=4,
network_id=network1.networking_network_v2_id)
router1 = opentelekomcloud.NetworkingRouterV2("router1", external_gateway="0a2228f2-7f8a-45f1-8e09-9039e1d09975")
router_interface1 = opentelekomcloud.NetworkingRouterInterfaceV2("routerInterface1",
router_id=router1.networking_router_v2_id,
subnet_id=subnet1.networking_subnet_v2_id)
port1 = opentelekomcloud.NetworkingPortV2("port1",
admin_state_up=True,
network_id=network1.networking_network_v2_id,
fixed_ip={
"subnet_id": subnet1.networking_subnet_v2_id,
})
instance1 = opentelekomcloud.ComputeInstanceV2("instance1",
security_groups=["default"],
networks=[{
"port": port1.networking_port_v2_id,
}])
port2 = opentelekomcloud.NetworkingPortV2("port2",
admin_state_up=True,
network_id=network1.networking_network_v2_id,
fixed_ip={
"subnet_id": subnet1.networking_subnet_v2_id,
})
instance2 = opentelekomcloud.ComputeInstanceV2("instance2",
security_groups=["default"],
networks=[{
"port": port1.networking_port_v2_id,
}])
vip1 = opentelekomcloud.NetworkingVipV2("vip1",
network_id=network1.networking_network_v2_id,
subnet_id=subnet1.networking_subnet_v2_id)
vip_associate1 = opentelekomcloud.NetworkingVipAssociateV2("vipAssociate1",
vip_id=vip1.networking_vip_v2_id,
port_ids=[
port1.networking_port_v2_id,
port2.networking_port_v2_id,
])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
network1, err := opentelekomcloud.NewNetworkingNetworkV2(ctx, "network1", &opentelekomcloud.NetworkingNetworkV2Args{
AdminStateUp: pulumi.String("true"),
})
if err != nil {
return err
}
subnet1, err := opentelekomcloud.NewNetworkingSubnetV2(ctx, "subnet1", &opentelekomcloud.NetworkingSubnetV2Args{
Cidr: pulumi.String("192.168.199.0/24"),
IpVersion: pulumi.Float64(4),
NetworkId: network1.NetworkingNetworkV2Id,
})
if err != nil {
return err
}
router1, err := opentelekomcloud.NewNetworkingRouterV2(ctx, "router1", &opentelekomcloud.NetworkingRouterV2Args{
ExternalGateway: pulumi.String("0a2228f2-7f8a-45f1-8e09-9039e1d09975"),
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewNetworkingRouterInterfaceV2(ctx, "routerInterface1", &opentelekomcloud.NetworkingRouterInterfaceV2Args{
RouterId: router1.NetworkingRouterV2Id,
SubnetId: subnet1.NetworkingSubnetV2Id,
})
if err != nil {
return err
}
port1, err := opentelekomcloud.NewNetworkingPortV2(ctx, "port1", &opentelekomcloud.NetworkingPortV2Args{
AdminStateUp: pulumi.Bool(true),
NetworkId: network1.NetworkingNetworkV2Id,
FixedIp: &opentelekomcloud.NetworkingPortV2FixedIpArgs{
SubnetId: subnet1.NetworkingSubnetV2Id,
},
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewComputeInstanceV2(ctx, "instance1", &opentelekomcloud.ComputeInstanceV2Args{
SecurityGroups: pulumi.StringArray{
pulumi.String("default"),
},
Networks: opentelekomcloud.ComputeInstanceV2NetworkArray{
&opentelekomcloud.ComputeInstanceV2NetworkArgs{
Port: port1.NetworkingPortV2Id,
},
},
})
if err != nil {
return err
}
port2, err := opentelekomcloud.NewNetworkingPortV2(ctx, "port2", &opentelekomcloud.NetworkingPortV2Args{
AdminStateUp: pulumi.Bool(true),
NetworkId: network1.NetworkingNetworkV2Id,
FixedIp: &opentelekomcloud.NetworkingPortV2FixedIpArgs{
SubnetId: subnet1.NetworkingSubnetV2Id,
},
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewComputeInstanceV2(ctx, "instance2", &opentelekomcloud.ComputeInstanceV2Args{
SecurityGroups: pulumi.StringArray{
pulumi.String("default"),
},
Networks: opentelekomcloud.ComputeInstanceV2NetworkArray{
&opentelekomcloud.ComputeInstanceV2NetworkArgs{
Port: port1.NetworkingPortV2Id,
},
},
})
if err != nil {
return err
}
vip1, err := opentelekomcloud.NewNetworkingVipV2(ctx, "vip1", &opentelekomcloud.NetworkingVipV2Args{
NetworkId: network1.NetworkingNetworkV2Id,
SubnetId: subnet1.NetworkingSubnetV2Id,
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewNetworkingVipAssociateV2(ctx, "vipAssociate1", &opentelekomcloud.NetworkingVipAssociateV2Args{
VipId: vip1.NetworkingVipV2Id,
PortIds: pulumi.StringArray{
port1.NetworkingPortV2Id,
port2.NetworkingPortV2Id,
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Opentelekomcloud = Pulumi.Opentelekomcloud;
return await Deployment.RunAsync(() =>
{
var network1 = new Opentelekomcloud.NetworkingNetworkV2("network1", new()
{
AdminStateUp = "true",
});
var subnet1 = new Opentelekomcloud.NetworkingSubnetV2("subnet1", new()
{
Cidr = "192.168.199.0/24",
IpVersion = 4,
NetworkId = network1.NetworkingNetworkV2Id,
});
var router1 = new Opentelekomcloud.NetworkingRouterV2("router1", new()
{
ExternalGateway = "0a2228f2-7f8a-45f1-8e09-9039e1d09975",
});
var routerInterface1 = new Opentelekomcloud.NetworkingRouterInterfaceV2("routerInterface1", new()
{
RouterId = router1.NetworkingRouterV2Id,
SubnetId = subnet1.NetworkingSubnetV2Id,
});
var port1 = new Opentelekomcloud.NetworkingPortV2("port1", new()
{
AdminStateUp = true,
NetworkId = network1.NetworkingNetworkV2Id,
FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs
{
SubnetId = subnet1.NetworkingSubnetV2Id,
},
});
var instance1 = new Opentelekomcloud.ComputeInstanceV2("instance1", new()
{
SecurityGroups = new[]
{
"default",
},
Networks = new[]
{
new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs
{
Port = port1.NetworkingPortV2Id,
},
},
});
var port2 = new Opentelekomcloud.NetworkingPortV2("port2", new()
{
AdminStateUp = true,
NetworkId = network1.NetworkingNetworkV2Id,
FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs
{
SubnetId = subnet1.NetworkingSubnetV2Id,
},
});
var instance2 = new Opentelekomcloud.ComputeInstanceV2("instance2", new()
{
SecurityGroups = new[]
{
"default",
},
Networks = new[]
{
new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs
{
Port = port1.NetworkingPortV2Id,
},
},
});
var vip1 = new Opentelekomcloud.NetworkingVipV2("vip1", new()
{
NetworkId = network1.NetworkingNetworkV2Id,
SubnetId = subnet1.NetworkingSubnetV2Id,
});
var vipAssociate1 = new Opentelekomcloud.NetworkingVipAssociateV2("vipAssociate1", new()
{
VipId = vip1.NetworkingVipV2Id,
PortIds = new[]
{
port1.NetworkingPortV2Id,
port2.NetworkingPortV2Id,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.opentelekomcloud.NetworkingNetworkV2;
import com.pulumi.opentelekomcloud.NetworkingNetworkV2Args;
import com.pulumi.opentelekomcloud.NetworkingSubnetV2;
import com.pulumi.opentelekomcloud.NetworkingSubnetV2Args;
import com.pulumi.opentelekomcloud.NetworkingRouterV2;
import com.pulumi.opentelekomcloud.NetworkingRouterV2Args;
import com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2;
import com.pulumi.opentelekomcloud.NetworkingRouterInterfaceV2Args;
import com.pulumi.opentelekomcloud.NetworkingPortV2;
import com.pulumi.opentelekomcloud.NetworkingPortV2Args;
import com.pulumi.opentelekomcloud.inputs.NetworkingPortV2FixedIpArgs;
import com.pulumi.opentelekomcloud.ComputeInstanceV2;
import com.pulumi.opentelekomcloud.ComputeInstanceV2Args;
import com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;
import com.pulumi.opentelekomcloud.NetworkingVipV2;
import com.pulumi.opentelekomcloud.NetworkingVipV2Args;
import com.pulumi.opentelekomcloud.NetworkingVipAssociateV2;
import com.pulumi.opentelekomcloud.NetworkingVipAssociateV2Args;
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 network1 = new NetworkingNetworkV2("network1", NetworkingNetworkV2Args.builder()
.adminStateUp("true")
.build());
var subnet1 = new NetworkingSubnetV2("subnet1", NetworkingSubnetV2Args.builder()
.cidr("192.168.199.0/24")
.ipVersion(4)
.networkId(network1.networkingNetworkV2Id())
.build());
var router1 = new NetworkingRouterV2("router1", NetworkingRouterV2Args.builder()
.externalGateway("0a2228f2-7f8a-45f1-8e09-9039e1d09975")
.build());
var routerInterface1 = new NetworkingRouterInterfaceV2("routerInterface1", NetworkingRouterInterfaceV2Args.builder()
.routerId(router1.networkingRouterV2Id())
.subnetId(subnet1.networkingSubnetV2Id())
.build());
var port1 = new NetworkingPortV2("port1", NetworkingPortV2Args.builder()
.adminStateUp("true")
.networkId(network1.networkingNetworkV2Id())
.fixedIp(NetworkingPortV2FixedIpArgs.builder()
.subnetId(subnet1.networkingSubnetV2Id())
.build())
.build());
var instance1 = new ComputeInstanceV2("instance1", ComputeInstanceV2Args.builder()
.securityGroups("default")
.networks(ComputeInstanceV2NetworkArgs.builder()
.port(port1.networkingPortV2Id())
.build())
.build());
var port2 = new NetworkingPortV2("port2", NetworkingPortV2Args.builder()
.adminStateUp("true")
.networkId(network1.networkingNetworkV2Id())
.fixedIp(NetworkingPortV2FixedIpArgs.builder()
.subnetId(subnet1.networkingSubnetV2Id())
.build())
.build());
var instance2 = new ComputeInstanceV2("instance2", ComputeInstanceV2Args.builder()
.securityGroups("default")
.networks(ComputeInstanceV2NetworkArgs.builder()
.port(port1.networkingPortV2Id())
.build())
.build());
var vip1 = new NetworkingVipV2("vip1", NetworkingVipV2Args.builder()
.networkId(network1.networkingNetworkV2Id())
.subnetId(subnet1.networkingSubnetV2Id())
.build());
var vipAssociate1 = new NetworkingVipAssociateV2("vipAssociate1", NetworkingVipAssociateV2Args.builder()
.vipId(vip1.networkingVipV2Id())
.portIds(
port1.networkingPortV2Id(),
port2.networkingPortV2Id())
.build());
}
}
resources:
network1:
type: opentelekomcloud:NetworkingNetworkV2
properties:
adminStateUp: 'true'
subnet1:
type: opentelekomcloud:NetworkingSubnetV2
properties:
cidr: 192.168.199.0/24
ipVersion: 4
networkId: ${network1.networkingNetworkV2Id}
routerInterface1:
type: opentelekomcloud:NetworkingRouterInterfaceV2
properties:
routerId: ${router1.networkingRouterV2Id}
subnetId: ${subnet1.networkingSubnetV2Id}
router1:
type: opentelekomcloud:NetworkingRouterV2
properties:
externalGateway: 0a2228f2-7f8a-45f1-8e09-9039e1d09975
port1:
type: opentelekomcloud:NetworkingPortV2
properties:
adminStateUp: 'true'
networkId: ${network1.networkingNetworkV2Id}
fixedIp:
subnetId: ${subnet1.networkingSubnetV2Id}
instance1:
type: opentelekomcloud:ComputeInstanceV2
properties:
securityGroups:
- default
networks:
- port: ${port1.networkingPortV2Id}
port2:
type: opentelekomcloud:NetworkingPortV2
properties:
adminStateUp: 'true'
networkId: ${network1.networkingNetworkV2Id}
fixedIp:
subnetId: ${subnet1.networkingSubnetV2Id}
instance2:
type: opentelekomcloud:ComputeInstanceV2
properties:
securityGroups:
- default
networks:
- port: ${port1.networkingPortV2Id}
vip1:
type: opentelekomcloud:NetworkingVipV2
properties:
networkId: ${network1.networkingNetworkV2Id}
subnetId: ${subnet1.networkingSubnetV2Id}
vipAssociate1:
type: opentelekomcloud:NetworkingVipAssociateV2
properties:
vipId: ${vip1.networkingVipV2Id}
portIds:
- ${port1.networkingPortV2Id}
- ${port2.networkingPortV2Id}
Example VIP-EIP association
import * as pulumi from "@pulumi/pulumi";
import * as opentelekomcloud from "@pulumi/opentelekomcloud";
const sharedSubnet = opentelekomcloud.getVpcSubnetV1({
name: "my-shared-subnet",
});
const latestImage = opentelekomcloud.getImagesImageV2({
name: "Standard_Debian_11_latest",
mostRecent: true,
});
const port1 = new opentelekomcloud.NetworkingPortV2("port1", {
adminStateUp: true,
networkId: sharedSubnet.then(sharedSubnet => sharedSubnet.networkId),
fixedIp: {
subnetId: sharedSubnet.then(sharedSubnet => sharedSubnet.subnetId),
},
});
const instance1 = new opentelekomcloud.ComputeInstanceV2("instance1", {
securityGroups: ["default"],
imageId: latestImage.then(latestImage => latestImage.id),
networks: [{
port: port1.networkingPortV2Id,
}],
});
const port2 = new opentelekomcloud.NetworkingPortV2("port2", {
adminStateUp: true,
networkId: sharedSubnet.then(sharedSubnet => sharedSubnet.networkId),
fixedIp: {
subnetId: sharedSubnet.then(sharedSubnet => sharedSubnet.subnetId),
},
});
const instance2 = new opentelekomcloud.ComputeInstanceV2("instance2", {
securityGroups: ["default"],
imageId: latestImage.then(latestImage => latestImage.id),
networks: [{
port: port2.networkingPortV2Id,
}],
});
const vipEip1 = new opentelekomcloud.VpcEipV1("vipEip1", {
publicip: {
type: "5_bgp",
name: "eip-vip",
},
bandwidth: {
name: "eip-bandwidth-vip",
size: 10,
shareType: "PER",
chargeMode: "traffic",
},
});
const vip1 = new opentelekomcloud.NetworkingVipV2("vip1", {
networkId: sharedSubnet.then(sharedSubnet => sharedSubnet.networkId),
subnetId: sharedSubnet.then(sharedSubnet => sharedSubnet.subnetId),
});
const vipAssociate1 = new opentelekomcloud.NetworkingVipAssociateV2("vipAssociate1", {
vipId: vip1.networkingVipV2Id,
portIds: [
port1.networkingPortV2Id,
port2.networkingPortV2Id,
],
});
const vipEipAssociate1 = new opentelekomcloud.NetworkingFloatingipAssociateV2("vipEipAssociate1", {
floatingIp: vipEip1.publicip.apply(publicip => publicip.ipAddress),
portId: vip1.networkingVipV2Id,
});
import pulumi
import pulumi_opentelekomcloud as opentelekomcloud
shared_subnet = opentelekomcloud.get_vpc_subnet_v1(name="my-shared-subnet")
latest_image = opentelekomcloud.get_images_image_v2(name="Standard_Debian_11_latest",
most_recent=True)
port1 = opentelekomcloud.NetworkingPortV2("port1",
admin_state_up=True,
network_id=shared_subnet.network_id,
fixed_ip={
"subnet_id": shared_subnet.subnet_id,
})
instance1 = opentelekomcloud.ComputeInstanceV2("instance1",
security_groups=["default"],
image_id=latest_image.id,
networks=[{
"port": port1.networking_port_v2_id,
}])
port2 = opentelekomcloud.NetworkingPortV2("port2",
admin_state_up=True,
network_id=shared_subnet.network_id,
fixed_ip={
"subnet_id": shared_subnet.subnet_id,
})
instance2 = opentelekomcloud.ComputeInstanceV2("instance2",
security_groups=["default"],
image_id=latest_image.id,
networks=[{
"port": port2.networking_port_v2_id,
}])
vip_eip1 = opentelekomcloud.VpcEipV1("vipEip1",
publicip={
"type": "5_bgp",
"name": "eip-vip",
},
bandwidth={
"name": "eip-bandwidth-vip",
"size": 10,
"share_type": "PER",
"charge_mode": "traffic",
})
vip1 = opentelekomcloud.NetworkingVipV2("vip1",
network_id=shared_subnet.network_id,
subnet_id=shared_subnet.subnet_id)
vip_associate1 = opentelekomcloud.NetworkingVipAssociateV2("vipAssociate1",
vip_id=vip1.networking_vip_v2_id,
port_ids=[
port1.networking_port_v2_id,
port2.networking_port_v2_id,
])
vip_eip_associate1 = opentelekomcloud.NetworkingFloatingipAssociateV2("vipEipAssociate1",
floating_ip=vip_eip1.publicip.ip_address,
port_id=vip1.networking_vip_v2_id)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
sharedSubnet, err := opentelekomcloud.LookupVpcSubnetV1(ctx, &opentelekomcloud.LookupVpcSubnetV1Args{
Name: pulumi.StringRef("my-shared-subnet"),
}, nil)
if err != nil {
return err
}
latestImage, err := opentelekomcloud.LookupImagesImageV2(ctx, &opentelekomcloud.LookupImagesImageV2Args{
Name: pulumi.StringRef("Standard_Debian_11_latest"),
MostRecent: pulumi.BoolRef(true),
}, nil)
if err != nil {
return err
}
port1, err := opentelekomcloud.NewNetworkingPortV2(ctx, "port1", &opentelekomcloud.NetworkingPortV2Args{
AdminStateUp: pulumi.Bool(true),
NetworkId: pulumi.String(sharedSubnet.NetworkId),
FixedIp: &opentelekomcloud.NetworkingPortV2FixedIpArgs{
SubnetId: pulumi.String(sharedSubnet.SubnetId),
},
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewComputeInstanceV2(ctx, "instance1", &opentelekomcloud.ComputeInstanceV2Args{
SecurityGroups: pulumi.StringArray{
pulumi.String("default"),
},
ImageId: pulumi.String(latestImage.Id),
Networks: opentelekomcloud.ComputeInstanceV2NetworkArray{
&opentelekomcloud.ComputeInstanceV2NetworkArgs{
Port: port1.NetworkingPortV2Id,
},
},
})
if err != nil {
return err
}
port2, err := opentelekomcloud.NewNetworkingPortV2(ctx, "port2", &opentelekomcloud.NetworkingPortV2Args{
AdminStateUp: pulumi.Bool(true),
NetworkId: pulumi.String(sharedSubnet.NetworkId),
FixedIp: &opentelekomcloud.NetworkingPortV2FixedIpArgs{
SubnetId: pulumi.String(sharedSubnet.SubnetId),
},
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewComputeInstanceV2(ctx, "instance2", &opentelekomcloud.ComputeInstanceV2Args{
SecurityGroups: pulumi.StringArray{
pulumi.String("default"),
},
ImageId: pulumi.String(latestImage.Id),
Networks: opentelekomcloud.ComputeInstanceV2NetworkArray{
&opentelekomcloud.ComputeInstanceV2NetworkArgs{
Port: port2.NetworkingPortV2Id,
},
},
})
if err != nil {
return err
}
vipEip1, err := opentelekomcloud.NewVpcEipV1(ctx, "vipEip1", &opentelekomcloud.VpcEipV1Args{
Publicip: &opentelekomcloud.VpcEipV1PublicipArgs{
Type: pulumi.String("5_bgp"),
Name: pulumi.String("eip-vip"),
},
Bandwidth: &opentelekomcloud.VpcEipV1BandwidthArgs{
Name: pulumi.String("eip-bandwidth-vip"),
Size: pulumi.Float64(10),
ShareType: pulumi.String("PER"),
ChargeMode: pulumi.String("traffic"),
},
})
if err != nil {
return err
}
vip1, err := opentelekomcloud.NewNetworkingVipV2(ctx, "vip1", &opentelekomcloud.NetworkingVipV2Args{
NetworkId: pulumi.String(sharedSubnet.NetworkId),
SubnetId: pulumi.String(sharedSubnet.SubnetId),
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewNetworkingVipAssociateV2(ctx, "vipAssociate1", &opentelekomcloud.NetworkingVipAssociateV2Args{
VipId: vip1.NetworkingVipV2Id,
PortIds: pulumi.StringArray{
port1.NetworkingPortV2Id,
port2.NetworkingPortV2Id,
},
})
if err != nil {
return err
}
_, err = opentelekomcloud.NewNetworkingFloatingipAssociateV2(ctx, "vipEipAssociate1", &opentelekomcloud.NetworkingFloatingipAssociateV2Args{
FloatingIp: pulumi.String(vipEip1.Publicip.ApplyT(func(publicip opentelekomcloud.VpcEipV1Publicip) (*string, error) {
return &publicip.IpAddress, nil
}).(pulumi.StringPtrOutput)),
PortId: vip1.NetworkingVipV2Id,
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Opentelekomcloud = Pulumi.Opentelekomcloud;
return await Deployment.RunAsync(() =>
{
var sharedSubnet = Opentelekomcloud.GetVpcSubnetV1.Invoke(new()
{
Name = "my-shared-subnet",
});
var latestImage = Opentelekomcloud.GetImagesImageV2.Invoke(new()
{
Name = "Standard_Debian_11_latest",
MostRecent = true,
});
var port1 = new Opentelekomcloud.NetworkingPortV2("port1", new()
{
AdminStateUp = true,
NetworkId = sharedSubnet.Apply(getVpcSubnetV1Result => getVpcSubnetV1Result.NetworkId),
FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs
{
SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result => getVpcSubnetV1Result.SubnetId),
},
});
var instance1 = new Opentelekomcloud.ComputeInstanceV2("instance1", new()
{
SecurityGroups = new[]
{
"default",
},
ImageId = latestImage.Apply(getImagesImageV2Result => getImagesImageV2Result.Id),
Networks = new[]
{
new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs
{
Port = port1.NetworkingPortV2Id,
},
},
});
var port2 = new Opentelekomcloud.NetworkingPortV2("port2", new()
{
AdminStateUp = true,
NetworkId = sharedSubnet.Apply(getVpcSubnetV1Result => getVpcSubnetV1Result.NetworkId),
FixedIp = new Opentelekomcloud.Inputs.NetworkingPortV2FixedIpArgs
{
SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result => getVpcSubnetV1Result.SubnetId),
},
});
var instance2 = new Opentelekomcloud.ComputeInstanceV2("instance2", new()
{
SecurityGroups = new[]
{
"default",
},
ImageId = latestImage.Apply(getImagesImageV2Result => getImagesImageV2Result.Id),
Networks = new[]
{
new Opentelekomcloud.Inputs.ComputeInstanceV2NetworkArgs
{
Port = port2.NetworkingPortV2Id,
},
},
});
var vipEip1 = new Opentelekomcloud.VpcEipV1("vipEip1", new()
{
Publicip = new Opentelekomcloud.Inputs.VpcEipV1PublicipArgs
{
Type = "5_bgp",
Name = "eip-vip",
},
Bandwidth = new Opentelekomcloud.Inputs.VpcEipV1BandwidthArgs
{
Name = "eip-bandwidth-vip",
Size = 10,
ShareType = "PER",
ChargeMode = "traffic",
},
});
var vip1 = new Opentelekomcloud.NetworkingVipV2("vip1", new()
{
NetworkId = sharedSubnet.Apply(getVpcSubnetV1Result => getVpcSubnetV1Result.NetworkId),
SubnetId = sharedSubnet.Apply(getVpcSubnetV1Result => getVpcSubnetV1Result.SubnetId),
});
var vipAssociate1 = new Opentelekomcloud.NetworkingVipAssociateV2("vipAssociate1", new()
{
VipId = vip1.NetworkingVipV2Id,
PortIds = new[]
{
port1.NetworkingPortV2Id,
port2.NetworkingPortV2Id,
},
});
var vipEipAssociate1 = new Opentelekomcloud.NetworkingFloatingipAssociateV2("vipEipAssociate1", new()
{
FloatingIp = vipEip1.Publicip.Apply(publicip => publicip.IpAddress),
PortId = vip1.NetworkingVipV2Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;
import com.pulumi.opentelekomcloud.inputs.GetVpcSubnetV1Args;
import com.pulumi.opentelekomcloud.inputs.GetImagesImageV2Args;
import com.pulumi.opentelekomcloud.NetworkingPortV2;
import com.pulumi.opentelekomcloud.NetworkingPortV2Args;
import com.pulumi.opentelekomcloud.inputs.NetworkingPortV2FixedIpArgs;
import com.pulumi.opentelekomcloud.ComputeInstanceV2;
import com.pulumi.opentelekomcloud.ComputeInstanceV2Args;
import com.pulumi.opentelekomcloud.inputs.ComputeInstanceV2NetworkArgs;
import com.pulumi.opentelekomcloud.VpcEipV1;
import com.pulumi.opentelekomcloud.VpcEipV1Args;
import com.pulumi.opentelekomcloud.inputs.VpcEipV1PublicipArgs;
import com.pulumi.opentelekomcloud.inputs.VpcEipV1BandwidthArgs;
import com.pulumi.opentelekomcloud.NetworkingVipV2;
import com.pulumi.opentelekomcloud.NetworkingVipV2Args;
import com.pulumi.opentelekomcloud.NetworkingVipAssociateV2;
import com.pulumi.opentelekomcloud.NetworkingVipAssociateV2Args;
import com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2;
import com.pulumi.opentelekomcloud.NetworkingFloatingipAssociateV2Args;
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) {
final var sharedSubnet = OpentelekomcloudFunctions.getVpcSubnetV1(GetVpcSubnetV1Args.builder()
.name("my-shared-subnet")
.build());
final var latestImage = OpentelekomcloudFunctions.getImagesImageV2(GetImagesImageV2Args.builder()
.name("Standard_Debian_11_latest")
.mostRecent(true)
.build());
var port1 = new NetworkingPortV2("port1", NetworkingPortV2Args.builder()
.adminStateUp("true")
.networkId(sharedSubnet.applyValue(getVpcSubnetV1Result -> getVpcSubnetV1Result.networkId()))
.fixedIp(NetworkingPortV2FixedIpArgs.builder()
.subnetId(sharedSubnet.applyValue(getVpcSubnetV1Result -> getVpcSubnetV1Result.subnetId()))
.build())
.build());
var instance1 = new ComputeInstanceV2("instance1", ComputeInstanceV2Args.builder()
.securityGroups("default")
.imageId(latestImage.applyValue(getImagesImageV2Result -> getImagesImageV2Result.id()))
.networks(ComputeInstanceV2NetworkArgs.builder()
.port(port1.networkingPortV2Id())
.build())
.build());
var port2 = new NetworkingPortV2("port2", NetworkingPortV2Args.builder()
.adminStateUp("true")
.networkId(sharedSubnet.applyValue(getVpcSubnetV1Result -> getVpcSubnetV1Result.networkId()))
.fixedIp(NetworkingPortV2FixedIpArgs.builder()
.subnetId(sharedSubnet.applyValue(getVpcSubnetV1Result -> getVpcSubnetV1Result.subnetId()))
.build())
.build());
var instance2 = new ComputeInstanceV2("instance2", ComputeInstanceV2Args.builder()
.securityGroups("default")
.imageId(latestImage.applyValue(getImagesImageV2Result -> getImagesImageV2Result.id()))
.networks(ComputeInstanceV2NetworkArgs.builder()
.port(port2.networkingPortV2Id())
.build())
.build());
var vipEip1 = new VpcEipV1("vipEip1", VpcEipV1Args.builder()
.publicip(VpcEipV1PublicipArgs.builder()
.type("5_bgp")
.name("eip-vip")
.build())
.bandwidth(VpcEipV1BandwidthArgs.builder()
.name("eip-bandwidth-vip")
.size(10)
.shareType("PER")
.chargeMode("traffic")
.build())
.build());
var vip1 = new NetworkingVipV2("vip1", NetworkingVipV2Args.builder()
.networkId(sharedSubnet.applyValue(getVpcSubnetV1Result -> getVpcSubnetV1Result.networkId()))
.subnetId(sharedSubnet.applyValue(getVpcSubnetV1Result -> getVpcSubnetV1Result.subnetId()))
.build());
var vipAssociate1 = new NetworkingVipAssociateV2("vipAssociate1", NetworkingVipAssociateV2Args.builder()
.vipId(vip1.networkingVipV2Id())
.portIds(
port1.networkingPortV2Id(),
port2.networkingPortV2Id())
.build());
var vipEipAssociate1 = new NetworkingFloatingipAssociateV2("vipEipAssociate1", NetworkingFloatingipAssociateV2Args.builder()
.floatingIp(vipEip1.publicip().applyValue(publicip -> publicip.ipAddress()))
.portId(vip1.networkingVipV2Id())
.build());
}
}
resources:
port1:
type: opentelekomcloud:NetworkingPortV2
properties:
adminStateUp: 'true'
networkId: ${sharedSubnet.networkId}
fixedIp:
subnetId: ${sharedSubnet.subnetId}
instance1:
type: opentelekomcloud:ComputeInstanceV2
properties:
securityGroups:
- default
imageId: ${latestImage.id}
networks:
- port: ${port1.networkingPortV2Id}
port2:
type: opentelekomcloud:NetworkingPortV2
properties:
adminStateUp: 'true'
networkId: ${sharedSubnet.networkId}
fixedIp:
subnetId: ${sharedSubnet.subnetId}
instance2:
type: opentelekomcloud:ComputeInstanceV2
properties:
securityGroups:
- default
imageId: ${latestImage.id}
networks:
- port: ${port2.networkingPortV2Id}
vipEip1:
type: opentelekomcloud:VpcEipV1
properties:
publicip:
type: 5_bgp
name: eip-vip
bandwidth:
name: eip-bandwidth-vip
size: 10
shareType: PER
chargeMode: traffic
vip1:
type: opentelekomcloud:NetworkingVipV2
properties:
networkId: ${sharedSubnet.networkId}
subnetId: ${sharedSubnet.subnetId}
vipAssociate1:
type: opentelekomcloud:NetworkingVipAssociateV2
properties:
vipId: ${vip1.networkingVipV2Id}
portIds:
- ${port1.networkingPortV2Id}
- ${port2.networkingPortV2Id}
vipEipAssociate1:
type: opentelekomcloud:NetworkingFloatingipAssociateV2
properties:
floatingIp: ${vipEip1.publicip.ipAddress}
portId: ${vip1.networkingVipV2Id}
variables:
sharedSubnet:
fn::invoke:
function: opentelekomcloud:getVpcSubnetV1
arguments:
name: my-shared-subnet
latestImage:
fn::invoke:
function: opentelekomcloud:getImagesImageV2
arguments:
name: Standard_Debian_11_latest
mostRecent: true
Create NetworkingVipAssociateV2 Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new NetworkingVipAssociateV2(name: string, args: NetworkingVipAssociateV2Args, opts?: CustomResourceOptions);
@overload
def NetworkingVipAssociateV2(resource_name: str,
args: NetworkingVipAssociateV2Args,
opts: Optional[ResourceOptions] = None)
@overload
def NetworkingVipAssociateV2(resource_name: str,
opts: Optional[ResourceOptions] = None,
port_ids: Optional[Sequence[str]] = None,
vip_id: Optional[str] = None,
networking_vip_associate_v2_id: Optional[str] = None)
func NewNetworkingVipAssociateV2(ctx *Context, name string, args NetworkingVipAssociateV2Args, opts ...ResourceOption) (*NetworkingVipAssociateV2, error)
public NetworkingVipAssociateV2(string name, NetworkingVipAssociateV2Args args, CustomResourceOptions? opts = null)
public NetworkingVipAssociateV2(String name, NetworkingVipAssociateV2Args args)
public NetworkingVipAssociateV2(String name, NetworkingVipAssociateV2Args args, CustomResourceOptions options)
type: opentelekomcloud:NetworkingVipAssociateV2
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args NetworkingVipAssociateV2Args
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args NetworkingVipAssociateV2Args
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args NetworkingVipAssociateV2Args
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args NetworkingVipAssociateV2Args
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args NetworkingVipAssociateV2Args
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var networkingVipAssociateV2Resource = new Opentelekomcloud.NetworkingVipAssociateV2("networkingVipAssociateV2Resource", new()
{
PortIds = new[]
{
"string",
},
VipId = "string",
NetworkingVipAssociateV2Id = "string",
});
example, err := opentelekomcloud.NewNetworkingVipAssociateV2(ctx, "networkingVipAssociateV2Resource", &opentelekomcloud.NetworkingVipAssociateV2Args{
PortIds: pulumi.StringArray{
pulumi.String("string"),
},
VipId: pulumi.String("string"),
NetworkingVipAssociateV2Id: pulumi.String("string"),
})
var networkingVipAssociateV2Resource = new NetworkingVipAssociateV2("networkingVipAssociateV2Resource", NetworkingVipAssociateV2Args.builder()
.portIds("string")
.vipId("string")
.networkingVipAssociateV2Id("string")
.build());
networking_vip_associate_v2_resource = opentelekomcloud.NetworkingVipAssociateV2("networkingVipAssociateV2Resource",
port_ids=["string"],
vip_id="string",
networking_vip_associate_v2_id="string")
const networkingVipAssociateV2Resource = new opentelekomcloud.NetworkingVipAssociateV2("networkingVipAssociateV2Resource", {
portIds: ["string"],
vipId: "string",
networkingVipAssociateV2Id: "string",
});
type: opentelekomcloud:NetworkingVipAssociateV2
properties:
networkingVipAssociateV2Id: string
portIds:
- string
vipId: string
NetworkingVipAssociateV2 Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The NetworkingVipAssociateV2 resource accepts the following input properties:
- Port
Ids List<string> - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- Vip
Id string - The ID of vip to attach the port to. Changing this creates a new vip associate.
- Networking
Vip stringAssociate V2Id
- Port
Ids []string - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- Vip
Id string - The ID of vip to attach the port to. Changing this creates a new vip associate.
- Networking
Vip stringAssociate V2Id
- port
Ids List<String> - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip
Id String - The ID of vip to attach the port to. Changing this creates a new vip associate.
- networking
Vip StringAssociate V2Id
- port
Ids string[] - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip
Id string - The ID of vip to attach the port to. Changing this creates a new vip associate.
- networking
Vip stringAssociate V2Id
- port_
ids Sequence[str] - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip_
id str - The ID of vip to attach the port to. Changing this creates a new vip associate.
- networking_
vip_ strassociate_ v2_ id
- port
Ids List<String> - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip
Id String - The ID of vip to attach the port to. Changing this creates a new vip associate.
- networking
Vip StringAssociate V2Id
Outputs
All input properties are implicitly available as output properties. Additionally, the NetworkingVipAssociateV2 resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Vip
Ip stringAddress - The IP address in the subnet for this vip.
- Vip
Subnet stringId - The ID of the subnet this vip connects to.
- Id string
- The provider-assigned unique ID for this managed resource.
- Vip
Ip stringAddress - The IP address in the subnet for this vip.
- Vip
Subnet stringId - The ID of the subnet this vip connects to.
- id String
- The provider-assigned unique ID for this managed resource.
- vip
Ip StringAddress - The IP address in the subnet for this vip.
- vip
Subnet StringId - The ID of the subnet this vip connects to.
- id string
- The provider-assigned unique ID for this managed resource.
- vip
Ip stringAddress - The IP address in the subnet for this vip.
- vip
Subnet stringId - The ID of the subnet this vip connects to.
- id str
- The provider-assigned unique ID for this managed resource.
- vip_
ip_ straddress - The IP address in the subnet for this vip.
- vip_
subnet_ strid - The ID of the subnet this vip connects to.
- id String
- The provider-assigned unique ID for this managed resource.
- vip
Ip StringAddress - The IP address in the subnet for this vip.
- vip
Subnet StringId - The ID of the subnet this vip connects to.
Look up Existing NetworkingVipAssociateV2 Resource
Get an existing NetworkingVipAssociateV2 resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: NetworkingVipAssociateV2State, opts?: CustomResourceOptions): NetworkingVipAssociateV2
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
networking_vip_associate_v2_id: Optional[str] = None,
port_ids: Optional[Sequence[str]] = None,
vip_id: Optional[str] = None,
vip_ip_address: Optional[str] = None,
vip_subnet_id: Optional[str] = None) -> NetworkingVipAssociateV2
func GetNetworkingVipAssociateV2(ctx *Context, name string, id IDInput, state *NetworkingVipAssociateV2State, opts ...ResourceOption) (*NetworkingVipAssociateV2, error)
public static NetworkingVipAssociateV2 Get(string name, Input<string> id, NetworkingVipAssociateV2State? state, CustomResourceOptions? opts = null)
public static NetworkingVipAssociateV2 get(String name, Output<String> id, NetworkingVipAssociateV2State state, CustomResourceOptions options)
resources: _: type: opentelekomcloud:NetworkingVipAssociateV2 get: id: ${id}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Networking
Vip stringAssociate V2Id - Port
Ids List<string> - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- Vip
Id string - The ID of vip to attach the port to. Changing this creates a new vip associate.
- Vip
Ip stringAddress - The IP address in the subnet for this vip.
- Vip
Subnet stringId - The ID of the subnet this vip connects to.
- Networking
Vip stringAssociate V2Id - Port
Ids []string - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- Vip
Id string - The ID of vip to attach the port to. Changing this creates a new vip associate.
- Vip
Ip stringAddress - The IP address in the subnet for this vip.
- Vip
Subnet stringId - The ID of the subnet this vip connects to.
- networking
Vip StringAssociate V2Id - port
Ids List<String> - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip
Id String - The ID of vip to attach the port to. Changing this creates a new vip associate.
- vip
Ip StringAddress - The IP address in the subnet for this vip.
- vip
Subnet StringId - The ID of the subnet this vip connects to.
- networking
Vip stringAssociate V2Id - port
Ids string[] - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip
Id string - The ID of vip to attach the port to. Changing this creates a new vip associate.
- vip
Ip stringAddress - The IP address in the subnet for this vip.
- vip
Subnet stringId - The ID of the subnet this vip connects to.
- networking_
vip_ strassociate_ v2_ id - port_
ids Sequence[str] - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip_
id str - The ID of vip to attach the port to. Changing this creates a new vip associate.
- vip_
ip_ straddress - The IP address in the subnet for this vip.
- vip_
subnet_ strid - The ID of the subnet this vip connects to.
- networking
Vip StringAssociate V2Id - port
Ids List<String> - An array of one or more IDs of the ports to attach the vip to. Changing this creates a new vip associate.
- vip
Id String - The ID of vip to attach the port to. Changing this creates a new vip associate.
- vip
Ip StringAddress - The IP address in the subnet for this vip.
- vip
Subnet StringId - The ID of the subnet this vip connects to.
Package Details
- Repository
- opentelekomcloud opentelekomcloud/terraform-provider-opentelekomcloud
- License
- Notes
- This Pulumi package is based on the
opentelekomcloud
Terraform Provider.