blob: dddeed7dd17eb7da7e3f4d1d8b509453bddb6a06 [file] [log] [blame]
Jamie Hannaforda7f671a2014-09-11 10:25:08 +02001package networks
2
3// A Network represents a a virtual layer-2 broadcast domain.
4type Network struct {
5 // Id is the unique identifier for the network.
6 Id string `json:"id"`
7 // Name is the (not necessarily unique) human-readable identifier for the network.
8 Name string `json:"name"`
9 // AdminStateUp is administrative state of the network. If false, network is down.
10 AdminStateUp bool `json:"admin_state_up"`
11 // Status indicates if the network is operational. Possible values: active, down, build, error.
12 Status string `json:"status"`
13 // Subnets are IP address blocks that can be used to assign IP addresses to virtual instances.
14 Subnets []string `json:"subnets"`
15 // Shared indicates whether the network can be accessed by any tenant or not.
16 Shared bool `json:"shared"`
17 // TenantId is the owner of the network. Admins may specify TenantId other than their own.
18 TenantId string `json:"tenant_id"`
19 // RouterExternal indicates if the network is connected to an external router.
20 RouterExternal bool `json:"router:external"`
21 // ProviderPhysicalNetwork is the name of the provider physical network.
22 ProviderPhysicalNetwork string `json:"provider:physical_network"`
23 // ProviderNetworkType is the type of provider network (eg "vlan").
24 ProviderNetworkType string `json:"provider:network_type"`
25 // ProviderSegmentationId is the provider network identifier (such as the vlan id).
26 ProviderSegmentationId string `json:"provider:segmentation_id"`
27}