Show / Hide Table of Contents

Namespace Pulumi.OpenStack.Networking

Classes

AddressScope

Manages a V2 Neutron addressscope resource within OpenStack.

Example Usage

Create an Address-scope

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var addressscope1 = new OpenStack.Networking.AddressScope("addressscope1", new OpenStack.Networking.AddressScopeArgs
    {
        IpVersion = 6,
    });
}

}

Create a Subnet Pool from an Address-scope

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var addressscope1 = new OpenStack.Networking.AddressScope("addressscope1", new OpenStack.Networking.AddressScopeArgs
    {
        IpVersion = 6,
    });
    var subnetpool1 = new OpenStack.Networking.SubnetPool("subnetpool1", new OpenStack.Networking.SubnetPoolArgs
    {
        AddressScopeId = addressscope1.Id,
        Prefixes = 
        {
            "fdf7:b13d:dead:beef::/64",
            "fd65:86cc:a334:39b7::/64",
        },
    });
}

}

AddressScopeArgs

AddressScopeState

FloatingIp

Manages a V2 floating IP resource within OpenStack Neutron (networking) that can be used for load balancers. These are similar to Nova (compute) floating IP resources, but only compute floating IPs can be used with compute instances.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var floatip1 = new OpenStack.Networking.FloatingIp("floatip1", new OpenStack.Networking.FloatingIpArgs
    {
        Pool = "public",
    });
}

}

FloatingIpArgs

FloatingIpAssociate

Associates a floating IP to a port. This is useful for situations where you have a pre-allocated floating IP or are unable to use the openstack.networking.FloatingIp resource to create a floating IP.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var port1 = new OpenStack.Networking.Port("port1", new OpenStack.Networking.PortArgs
    {
        NetworkId = "a5bbd213-e1d3-49b6-aed1-9df60ea94b9a",
    });
    var fip1 = new OpenStack.Networking.FloatingIpAssociate("fip1", new OpenStack.Networking.FloatingIpAssociateArgs
    {
        FloatingIp = "1.2.3.4",
        PortId = port1.Id,
    });
}

}

FloatingIpAssociateArgs

FloatingIpAssociateState

FloatingIpState

GetAddressScope

GetAddressScopeArgs

GetAddressScopeResult

GetFloatingIp

GetFloatingIpArgs

GetFloatingIpResult

GetNetwork

GetNetworkArgs

GetNetworkResult

GetPort

GetPortArgs

GetPortIds

GetPortIdsArgs

GetPortIdsResult

GetPortResult

GetQosBandwidthLimitRule

GetQosBandwidthLimitRuleArgs

GetQosBandwidthLimitRuleResult

GetQosDscpMarkingRule

GetQosDscpMarkingRuleArgs

GetQosDscpMarkingRuleResult

GetQosMinimumBandwidthRule

GetQosMinimumBandwidthRuleArgs

GetQosMinimumBandwidthRuleResult

GetQosPolicy

GetQosPolicyArgs

GetQosPolicyResult

GetRouter

GetRouterArgs

GetRouterResult

GetSecGroup

GetSecGroupArgs

GetSecGroupResult

GetSubnet

GetSubnetArgs

GetSubnetPool

GetSubnetPoolArgs

GetSubnetPoolResult

GetSubnetResult

GetTrunk

GetTrunkArgs

GetTrunkResult

Network

Manages a V2 Neutron network resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        IpVersion = 4,
        NetworkId = network1.Id,
    });
    var secgroup1 = new OpenStack.Compute.SecGroup("secgroup1", new OpenStack.Compute.SecGroupArgs
    {
        Description = "a security group",
        Rules = 
        {
            new OpenStack.Compute.Inputs.SecGroupRuleArgs
            {
                Cidr = "0.0.0.0/0",
                FromPort = 22,
                IpProtocol = "tcp",
                ToPort = 22,
            },
        },
    });
    var port1 = new OpenStack.Networking.Port("port1", new OpenStack.Networking.PortArgs
    {
        AdminStateUp = "true",
        FixedIps = 
        {
            new OpenStack.Networking.Inputs.PortFixedIpArgs
            {
                IpAddress = "192.168.199.10",
                SubnetId = subnet1.Id,
            },
        },
        NetworkId = network1.Id,
        SecurityGroupIds = 
        {
            secgroup1.Id,
        },
    });
    var instance1 = new OpenStack.Compute.Instance("instance1", new OpenStack.Compute.InstanceArgs
    {
        Networks = 
        {
            new OpenStack.Compute.Inputs.InstanceNetworkArgs
            {
                Port = port1.Id,
            },
        },
        SecurityGroups = 
        {
            secgroup1.Name,
        },
    });
}

}

NetworkArgs

NetworkState

Port

Manages a V2 port resource within OpenStack.

Example Usage

Simple port

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var port1 = new OpenStack.Networking.Port("port1", new OpenStack.Networking.PortArgs
    {
        AdminStateUp = "true",
        NetworkId = network1.Id,
    });
}

}

Port with physical binding information

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var port1 = new OpenStack.Networking.Port("port1", new OpenStack.Networking.PortArgs
    {
        AdminStateUp = "true",
        Binding = new OpenStack.Networking.Inputs.PortBindingArgs
        {
            HostId = "b080b9cf-46e0-4ce8-ad47-0fd4accc872b",
            Profile = @"{
""local_link_information"": [
{
  ""switch_info"": ""info1"",
  ""port_id"": ""Ethernet3/4"",
  ""switch_id"": ""12:34:56:78:9A:BC""
},
{
  ""switch_info"": ""info2"",
  ""port_id"": ""Ethernet3/4"",
  ""switch_id"": ""12:34:56:78:9A:BD""
}
],
""vlan_type"": ""allowed""
}

",
            VnicType = "baremetal",
        },
        DeviceId = "cdf70fcf-c161-4f24-9c70-96b3f5a54b71",
        DeviceOwner = "baremetal:none",
        NetworkId = network1.Id,
    });
}

}

Notes

Ports and Instances

There are some notes to consider when connecting Instances to networks using Ports. Please see the openstack.compute.Instance documentation for further documentation.

PortArgs

PortSecGroupAssociate

PortSecGroupAssociateArgs

PortSecGroupAssociateState

PortState

QosBandwidthLimitRule

Manages a V2 Neutron QoS bandwidth limit rule resource within OpenStack.

Example Usage

Create a QoS Policy with some bandwidth limit rule

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var qosPolicy1 = new OpenStack.Networking.QosPolicy("qosPolicy1", new OpenStack.Networking.QosPolicyArgs
    {
        Description = "bw_limit",
    });
    var bwLimitRule1 = new OpenStack.Networking.QosBandwidthLimitRule("bwLimitRule1", new OpenStack.Networking.QosBandwidthLimitRuleArgs
    {
        Direction = "egress",
        MaxBurstKbps = 300,
        MaxKbps = 3000,
        QosPolicyId = qosPolicy1.Id,
    });
}

}

QosBandwidthLimitRuleArgs

QosBandwidthLimitRuleState

QosDscpMarkingRule

Manages a V2 Neutron QoS DSCP marking rule resource within OpenStack.

Example Usage

Create a QoS Policy with some DSCP marking rule

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var qosPolicy1 = new OpenStack.Networking.QosPolicy("qosPolicy1", new OpenStack.Networking.QosPolicyArgs
    {
        Description = "dscp_mark",
    });
    var dscpMarkingRule1 = new OpenStack.Networking.QosDscpMarkingRule("dscpMarkingRule1", new OpenStack.Networking.QosDscpMarkingRuleArgs
    {
        DscpMark = 26,
        QosPolicyId = qosPolicy1.Id,
    });
}

}

QosDscpMarkingRuleArgs

QosDscpMarkingRuleState

QosMinimumBandwidthRule

Manages a V2 Neutron QoS minimum bandwidth rule resource within OpenStack.

Example Usage

Create a QoS Policy with some minimum bandwidth rule

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var qosPolicy1 = new OpenStack.Networking.QosPolicy("qosPolicy1", new OpenStack.Networking.QosPolicyArgs
    {
        Description = "min_kbps",
    });
    var minimumBandwidthRule1 = new OpenStack.Networking.QosMinimumBandwidthRule("minimumBandwidthRule1", new OpenStack.Networking.QosMinimumBandwidthRuleArgs
    {
        MinKbps = 200,
        QosPolicyId = qosPolicy1.Id,
    });
}

}

QosMinimumBandwidthRuleArgs

QosMinimumBandwidthRuleState

QosPolicy

Manages a V2 Neutron QoS policy resource within OpenStack.

Example Usage

Create a QoS Policy

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var qosPolicy1 = new OpenStack.Networking.QosPolicy("qosPolicy1", new OpenStack.Networking.QosPolicyArgs
    {
        Description = "bw_limit",
    });
}

}

QosPolicyArgs

QosPolicyState

QuotaV2

Manages a V2 networking quota resource within OpenStack.

Note: This usually requires admin privileges.

Note: This resource has a no-op deletion so no actual actions will be done against the OpenStack API in case of delete call.

QuotaV2Args

QuotaV2State

RbacPolicyV2

The RBAC policy resource contains functionality for working with Neutron RBAC Policies. Role-Based Access Control (RBAC) policy framework enables both operators and users to grant access to resources for specific projects.

Sharing an object with a specific project is accomplished by creating a policy entry that permits the target project the access_as_shared action on that object.

To make a network available as an external network for specific projects rather than all projects, use the access_as_external action. If a network is marked as external during creation, it now implicitly creates a wildcard RBAC policy granting everyone access to preserve previous behavior before this feature was added.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var rbacPolicy1 = new OpenStack.Networking.RbacPolicyV2("rbacPolicy1", new OpenStack.Networking.RbacPolicyV2Args
    {
        Action = "access_as_shared",
        ObjectId = network1.Id,
        ObjectType = "network",
        TargetTenant = "20415a973c9e45d3917f078950644697",
    });
}

}

RbacPolicyV2Args

RbacPolicyV2State

Router

Manages a V2 router resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var router1 = new OpenStack.Networking.Router("router1", new OpenStack.Networking.RouterArgs
    {
        AdminStateUp = true,
        ExternalNetworkId = "f67f0d72-0ddf-11e4-9d95-e1f29f417e2f",
    });
}

}

RouterArgs

RouterInterface

Manages a V2 router interface resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        IpVersion = 4,
        NetworkId = network1.Id,
    });
    var router1 = new OpenStack.Networking.Router("router1", new OpenStack.Networking.RouterArgs
    {
        ExternalNetworkId = "f67f0d72-0ddf-11e4-9d95-e1f29f417e2f",
    });
    var routerInterface1 = new OpenStack.Networking.RouterInterface("routerInterface1", new OpenStack.Networking.RouterInterfaceArgs
    {
        RouterId = router1.Id,
        SubnetId = subnet1.Id,
    });
}

}

RouterInterfaceArgs

RouterInterfaceState

RouterRoute

Creates a routing entry on a OpenStack V2 router.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var router1 = new OpenStack.Networking.Router("router1", new OpenStack.Networking.RouterArgs
    {
        AdminStateUp = "true",
    });
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        IpVersion = 4,
        NetworkId = network1.Id,
    });
    var int1 = new OpenStack.Networking.RouterInterface("int1", new OpenStack.Networking.RouterInterfaceArgs
    {
        RouterId = router1.Id,
        SubnetId = subnet1.Id,
    });
    var routerRoute1 = new OpenStack.Networking.RouterRoute("routerRoute1", new OpenStack.Networking.RouterRouteArgs
    {
        DestinationCidr = "10.0.1.0/24",
        NextHop = "192.168.199.254",
        RouterId = router1.Id,
    });
}

}

Notes

The next_hop IP address must be directly reachable from the router at the openstack.networking.RouterRoute resource creation time. You can ensure that by explicitly specifying a dependency on the openstack.networking.RouterInterface resource that connects the next hop to the router, as in the example above.

RouterRouteArgs

RouterRouteState

RouterState

SecGroup

SecGroupArgs

SecGroupRule

Manages a V2 neutron security group rule resource within OpenStack. Unlike Nova security groups, neutron separates the group from the rules and also allows an admin to target a specific tenant_id.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var secgroup1 = new OpenStack.Networking.SecGroup("secgroup1", new OpenStack.Networking.SecGroupArgs
    {
        Description = "My neutron security group",
    });
    var secgroupRule1 = new OpenStack.Networking.SecGroupRule("secgroupRule1", new OpenStack.Networking.SecGroupRuleArgs
    {
        Direction = "ingress",
        Ethertype = "IPv4",
        PortRangeMax = 22,
        PortRangeMin = 22,
        Protocol = "tcp",
        RemoteIpPrefix = "0.0.0.0/0",
        SecurityGroupId = secgroup1.Id,
    });
}

}

SecGroupRuleArgs

SecGroupRuleState

SecGroupState

Subnet

Manages a V2 Neutron subnet resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        NetworkId = network1.Id,
    });
}

}

SubnetArgs

SubnetPool

Manages a V2 Neutron subnetpool resource within OpenStack.

Example Usage

Create a Subnet Pool

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var subnetpool1 = new OpenStack.Networking.SubnetPool("subnetpool1", new OpenStack.Networking.SubnetPoolArgs
    {
        IpVersion = 6,
        Prefixes = 
        {
            "fdf7:b13d:dead:beef::/64",
            "fd65:86cc:a334:39b7::/64",
        },
    });
}

}

Create a Subnet from a Subnet Pool

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnetpool1 = new OpenStack.Networking.SubnetPool("subnetpool1", new OpenStack.Networking.SubnetPoolArgs
    {
        Prefixes = 
        {
            "10.11.12.0/24",
        },
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "10.11.12.0/25",
        NetworkId = network1.Id,
        SubnetpoolId = subnetpool1.Id,
    });
}

}

SubnetPoolArgs

SubnetPoolState

SubnetRoute

Creates a routing entry on a OpenStack V2 subnet.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var router1 = new OpenStack.Networking.Router("router1", new OpenStack.Networking.RouterArgs
    {
        AdminStateUp = "true",
    });
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        IpVersion = 4,
        NetworkId = network1.Id,
    });
    var subnetRoute1 = new OpenStack.Networking.SubnetRoute("subnetRoute1", new OpenStack.Networking.SubnetRouteArgs
    {
        DestinationCidr = "10.0.1.0/24",
        NextHop = "192.168.199.254",
        SubnetId = subnet1.Id,
    });
}

}

SubnetRouteArgs

SubnetRouteState

SubnetState

Trunk

Manages a networking V2 trunk resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.1.0/24",
        EnableDhcp = true,
        IpVersion = 4,
        NetworkId = network1.Id,
        NoGateway = true,
    });
    var parentPort1 = new OpenStack.Networking.Port("parentPort1", new OpenStack.Networking.PortArgs
    {
        AdminStateUp = "true",
        NetworkId = network1.Id,
    });
    var subport1 = new OpenStack.Networking.Port("subport1", new OpenStack.Networking.PortArgs
    {
        AdminStateUp = "true",
        NetworkId = network1.Id,
    });
    var trunk1 = new OpenStack.Networking.Trunk("trunk1", new OpenStack.Networking.TrunkArgs
    {
        AdminStateUp = "true",
        PortId = parentPort1.Id,
        SubPorts = 
        {
            new OpenStack.Networking.Inputs.TrunkSubPortArgs
            {
                PortId = subport1.Id,
                SegmentationId = 1,
                SegmentationType = "vlan",
            },
        },
    });
    var instance1 = new OpenStack.Compute.Instance("instance1", new OpenStack.Compute.InstanceArgs
    {
        Networks = 
        {
            new OpenStack.Compute.Inputs.InstanceNetworkArgs
            {
                Port = trunk1.PortId,
            },
        },
        SecurityGroups = 
        {
            "default",
        },
    });
}

}

TrunkArgs

TrunkState

Back to top Copyright 2016-2020, Pulumi Corporation.