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",
},
});
}
}