package gwport // List of ports type GatewayPortsList []GatewayPort // Gateway port information type GatewayPort struct { // Created time CreatedAt string `json:"created_at"` // Description Description string `json:"description"` // External L4 port maximum ExternalL4PortMax int `json:"external_l4_port_max"` // External L4 port minimum ExternalL4PortMin int `json:"external_l4_port_min"` // External network port ExternalNetworkPort ExternalNetworkPort `json:"external_network_port"` // ID ID string `json:"id"` // SNAT enabled flag SNATEnabled bool `json:"snat_enabled"` // Status information Status Status `json:"status"` // Updated time UpdatedAt string `json:"updated_at"` // Version ID VersionID uint64 `json:"version_id"` } // External network port information type ExternalNetworkPort struct { // Access group ID AccessGroupID string `json:"access_group_id"` // Access group name AccessGroupName string `json:"access_group_name"` // Comment Comment string `json:"comment"` // Display name DisplayName string `json:"display_name"` // Enabled flag Enabled bool `json:"enabled"` // IPv4 address IPv4 string `json:"ipv4"` // IPv6 address IPv6 string `json:"ipv6"` // IPv6 configuration IPv6Config IPv6Config `json:"ipv6_config"` // MAC address MAC string `json:"mac"` // Router gateway port RouterGatewayPort RouterGatewayPort `json:"router_gateway_port"` // Floating IP FloatingIP FloatingIP `json:"floating_ip"` } // IPv6 configuration information type IPv6Config struct { // Address mode AddressMode string `json:"address_mode"` // Enable periodic RA flag EnablePeriodicRA bool `json:"enable_periodic_ra"` // Interval RA IntervalRA int `json:"interval_ra"` // Router preference RouterPreference string `json:"router_preference"` } // Router gateway port information type RouterGatewayPort struct { // Created time CreatedAt string `json:"created_at"` // Description Description string `json:"description"` // ID ID string `json:"id"` // Router display name RouterDisplayName string `json:"router_display_name"` // Router ID RouterID string `json:"router_id"` // SNAT enabled flag SNATEnabled bool `json:"snat_enabled"` // Updated time UpdatedAt string `json:"updated_at"` } // Floating IP information type FloatingIP struct { // Access group ID AccessGroupID string `json:"access_group_id"` // Access group name AccessGroupName string `json:"access_group_name"` // Created time CreatedAt string `json:"created_at"` // External network port ExternalNetworkPort string `json:"external_network_port"` // ID ID string `json:"id"` // Logical port LogicalPort LogicalPort `json:"logical_port"` // Router Router string `json:"router"` // Updated time UpdatedAt string `json:"updated_at"` // Version ID VersionID uint64 `json:"version_id"` } // Logical port information type LogicalPort struct { // ID ID string `json:"id"` // Access group ID AccessGroupID string `json:"access_group_id"` // Access group name AccessGroupName string `json:"access_group_name"` // Adapter MAC AdapterMAC string `json:"adapter_mac"` // Address detection flag AddressDetection bool `json:"address_detection"` // Description Description string `json:"description"` // Created time CreatedAt string `json:"created_at"` // Display name DisplayName string `json:"display_name"` // Enabled flag Enabled bool `json:"enabled"` // External network ID ExternalNetworkID string `json:"external_network_id"` // Hypervisor Hypervisor string `json:"hypervisor"` // Hypervisor display name HypervisorDisplayName string `json:"hypervisor_display_name"` // Live migration target HV LiveMigrationTargetHV string `json:"live_migration_target_hv"` // Status information Status Status `json:"status"` // Bindings information Bindings Bindings `json:"bindings"` // Unique identifier UniqueIdentifier string `json:"unique_identifier"` // Updated time UpdatedAt string `json:"updated_at"` // Version ID VersionID uint64 `json:"version_id"` } // Status information type Status struct { // Common status Common string `json:"common"` // Hypervisors status list Hypervisors []HypervisorStatus `json:"hypervisors"` } // Hypervisor status information type HypervisorStatus struct { // Status Status string `json:"status"` // Name Name string `json:"name"` // Display name DisplayName string `json:"display_name"` // Hypervisor status HypervisorStatus string `json:"hypervisor_status"` // Synced at time SyncedAt string `json:"synced_at"` } // Bindings information type Bindings struct { // ID ID string `json:"id"` // Segment display name SegmentDisplayName string `json:"segment_display_name"` // Segment ID SegmentID string `json:"segment_id"` // Port security flag PortSecurity bool `json:"port_security"` // Address detection flag AddressDetection bool `json:"address_detection"` // Is excluded from firewall flag IsExcludedFromFirewall bool `json:"is_excluded_from_firewall"` // Version ID VersionID uint64 `json:"version_id"` // Created time CreatedAt string `json:"created_at"` // Updated time UpdatedAt string `json:"updated_at"` // Logical port addresses list LogicalPortAddresses []LogicalPortAddress `json:"logical_port_addresses"` } // Logical port address information type LogicalPortAddress struct { // IP address IP string `json:"ip"` // IP type IPType string `json:"ip_type"` // Is discovered flag IsDiscovered bool `json:"is_discovered"` // Is primary flag IsPrimary bool `json:"is_primary"` // MAC address MAC string `json:"mac"` // ID ID string `json:"id"` // Logical port ID LogicalPortID string `json:"logical_port_id"` // Assigned at time AssignedAt string `json:"assigned_at"` } // Policy information type Policy struct { // Action Action string `json:"action"` // Created time CreatedAt string `json:"created_at"` // Display name DisplayName string `json:"display_name"` // Enabled flag Enabled bool `json:"enabled"` // ID ID string `json:"id"` // Match criteria Match map[string]interface{} `json:"match"` // Next IPv4 addresses list NextIPv4Address []string `json:"next_ipv4_address"` // Next IPv6 addresses list NextIPv6Address []string `json:"next_ipv6_address"` // Priority Priority int `json:"priority"` // Updated time UpdatedAt string `json:"updated_at"` // Version ID VersionID uint64 `json:"version_id"` } // Port information type Port struct { // Created time CreatedAt string `json:"created_at"` // Description Description string `json:"description"` // Enabled flag Enabled bool `json:"enabled"` // ID ID string `json:"id"` // IPv4 address IPv4Address string `json:"ipv4_address"` // IPv6 address IPv6Address string `json:"ipv6_address"` // IPv6 configuration IPv6Config IPv6Config `json:"ipv6_config"` // MAC address MAC string `json:"mac"` // Segment information Segment Segment `json:"segment"` // Segment ID SegmentID string `json:"segment_id"` // Status information Status Status `json:"status"` // Updated time UpdatedAt string `json:"updated_at"` // Version ID VersionID uint64 `json:"version_id"` } // Segment information type Segment struct { // Access group ID AccessGroupID string `json:"access_group_id"` // Access group name AccessGroupName string `json:"access_group_name"` // Created time CreatedAt string `json:"created_at"` // Description Description string `json:"description"` // DHCPv4 configuration DHCPv4 DHCPv4 `json:"dhcp_v4"` // DHCPv6 configuration DHCPv6 DHCPv6 `json:"dhcp_v6"` // Display name DisplayName string `json:"display_name"` // Enabled flag Enabled bool `json:"enabled"` // ID ID string `json:"id"` // Logical ports info list LogicalPortsInfo []LogicalPortInfo `json:"logical_ports_info"` // Routers info list RoutersInfo []RouterInfo `json:"routers_info"` // Status information Status Status `json:"status"` // IPv4 subnet SubnetV4 string `json:"subnet_v4"` // IPv6 subnet SubnetV6 string `json:"subnet_v6"` // Updated time UpdatedAt string `json:"updated_at"` // Version ID VersionID uint64 `json:"version_id"` } // DHCPv4 configuration type DHCPv4 struct { // DNS servers list DNS []string `json:"dns"` // Excluded address ranges list ExcludedAddressRanges []string `json:"excluded_address_ranges"` // Gateway address Gateway string `json:"gateway"` // ID ID string `json:"id"` // Lease time LeaseTime int `json:"lease_time"` // Server IP ServerIP string `json:"server_ip"` // Server MAC ServerMAC string `json:"server_mac"` // Enabled flag Enabled bool `json:"enabled"` } // DHCPv6 configuration type DHCPv6 struct { // Address prefix AddressPrefix string `json:"address_prefix"` // DNS servers list DNS []string `json:"dns"` // ID ID string `json:"id"` // Lease time LeaseTime int `json:"lease_time"` // Server MAC ServerMAC string `json:"server_mac"` // Enabled flag Enabled bool `json:"enabled"` } // Logical port info type LogicalPortInfo struct { // Display name DisplayName string `json:"display_name"` // ID ID string `json:"id"` } // Router info type RouterInfo struct { // Display name DisplayName string `json:"display_name"` // ID ID string `json:"id"` }