mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Merge pull request #50846 from akerouanton/drop-deprecated-network-structs
api/t/ctr: drop NetworkSettingsBase, DefaultNetworkSettings
This commit is contained in:
153
api/swagger.yaml
153
api/swagger.yaml
@@ -1586,165 +1586,16 @@ definitions:
|
||||
description: "NetworkSettings exposes the network settings in the API"
|
||||
type: "object"
|
||||
properties:
|
||||
Bridge:
|
||||
description: |
|
||||
Name of the default bridge interface when dockerd's --bridge flag is set.
|
||||
|
||||
Deprecated: This field is only set when the daemon is started with the --bridge flag specified.
|
||||
type: "string"
|
||||
example: "docker0"
|
||||
SandboxID:
|
||||
description: SandboxID uniquely represents a container's network stack.
|
||||
type: "string"
|
||||
example: "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3"
|
||||
HairpinMode:
|
||||
description: |
|
||||
Indicates if hairpin NAT should be enabled on the virtual interface.
|
||||
|
||||
Deprecated: This field is never set and will be removed in a future release.
|
||||
type: "boolean"
|
||||
example: false
|
||||
LinkLocalIPv6Address:
|
||||
description: |
|
||||
IPv6 unicast address using the link-local prefix.
|
||||
|
||||
Deprecated: This field is never set and will be removed in a future release.
|
||||
type: "string"
|
||||
example: ""
|
||||
LinkLocalIPv6PrefixLen:
|
||||
description: |
|
||||
Prefix length of the IPv6 unicast address.
|
||||
|
||||
Deprecated: This field is never set and will be removed in a future release.
|
||||
type: "integer"
|
||||
example: ""
|
||||
Ports:
|
||||
$ref: "#/definitions/PortMap"
|
||||
SandboxKey:
|
||||
description: SandboxKey is the full path of the netns handle
|
||||
type: "string"
|
||||
example: "/var/run/docker/netns/8ab54b426c38"
|
||||
|
||||
SecondaryIPAddresses:
|
||||
description: "Deprecated: This field is never set and will be removed in a future release."
|
||||
type: "array"
|
||||
items:
|
||||
$ref: "#/definitions/Address"
|
||||
x-nullable: true
|
||||
|
||||
SecondaryIPv6Addresses:
|
||||
description: "Deprecated: This field is never set and will be removed in a future release."
|
||||
type: "array"
|
||||
items:
|
||||
$ref: "#/definitions/Address"
|
||||
x-nullable: true
|
||||
|
||||
# TODO properties below are part of DefaultNetworkSettings, which is
|
||||
# marked as deprecated since Docker 1.9 and to be removed in Docker v17.12
|
||||
EndpointID:
|
||||
description: |
|
||||
EndpointID uniquely represents a service endpoint in a Sandbox.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "string"
|
||||
example: "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b"
|
||||
Gateway:
|
||||
description: |
|
||||
Gateway address for the default "bridge" network.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "string"
|
||||
example: "172.17.0.1"
|
||||
GlobalIPv6Address:
|
||||
description: |
|
||||
Global IPv6 address for the default "bridge" network.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "string"
|
||||
example: "2001:db8::5689"
|
||||
GlobalIPv6PrefixLen:
|
||||
description: |
|
||||
Mask length of the global IPv6 address.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "integer"
|
||||
example: 64
|
||||
IPAddress:
|
||||
description: |
|
||||
IPv4 address for the default "bridge" network.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "string"
|
||||
example: "172.17.0.4"
|
||||
IPPrefixLen:
|
||||
description: |
|
||||
Mask length of the IPv4 address.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "integer"
|
||||
example: 16
|
||||
IPv6Gateway:
|
||||
description: |
|
||||
IPv6 gateway address for this network.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "string"
|
||||
example: "2001:db8:2::100"
|
||||
MacAddress:
|
||||
description: |
|
||||
MAC address for the container on the default "bridge" network.
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Deprecated**: This field is only propagated when attached to the
|
||||
> default "bridge" network. Use the information from the "bridge"
|
||||
> network inside the `Networks` map instead, which contains the same
|
||||
> information. This field was deprecated in Docker 1.9 and is scheduled
|
||||
> to be removed in Docker 17.12.0
|
||||
type: "string"
|
||||
example: "02:42:ac:11:00:04"
|
||||
Ports:
|
||||
$ref: "#/definitions/PortMap"
|
||||
Networks:
|
||||
description: |
|
||||
Information about all networks that the container is connected to.
|
||||
|
||||
@@ -6,75 +6,10 @@ import (
|
||||
|
||||
// NetworkSettings exposes the network settings in the api
|
||||
type NetworkSettings struct {
|
||||
NetworkSettingsBase
|
||||
DefaultNetworkSettings
|
||||
Networks map[string]*network.EndpointSettings
|
||||
}
|
||||
|
||||
// NetworkSettingsBase holds networking state for a container when inspecting it.
|
||||
//
|
||||
// Deprecated: Most fields in NetworkSettingsBase are deprecated. Fields which aren't deprecated will move to
|
||||
// NetworkSettings in v29.0, and this struct will be removed.
|
||||
type NetworkSettingsBase struct {
|
||||
Bridge string // Deprecated: This field is only set when the daemon is started with the --bridge flag specified.
|
||||
SandboxID string // SandboxID uniquely represents a container's network stack
|
||||
SandboxKey string // SandboxKey identifies the sandbox
|
||||
Ports PortMap // Ports is a collection of PortBinding indexed by Port
|
||||
|
||||
// HairpinMode specifies if hairpin NAT should be enabled on the virtual interface
|
||||
//
|
||||
// Deprecated: This field is never set and will be removed in a future release.
|
||||
HairpinMode bool
|
||||
// LinkLocalIPv6Address is an IPv6 unicast address using the link-local prefix
|
||||
//
|
||||
// Deprecated: This field is never set and will be removed in a future release.
|
||||
LinkLocalIPv6Address string
|
||||
// LinkLocalIPv6PrefixLen is the prefix length of an IPv6 unicast address
|
||||
//
|
||||
// Deprecated: This field is never set and will be removed in a future release.
|
||||
LinkLocalIPv6PrefixLen int
|
||||
SecondaryIPAddresses []network.Address // Deprecated: This field is never set and will be removed in a future release.
|
||||
SecondaryIPv6Addresses []network.Address // Deprecated: This field is never set and will be removed in a future release.
|
||||
}
|
||||
|
||||
// DefaultNetworkSettings holds the networking state for the default bridge, if the container is connected to that
|
||||
// network.
|
||||
//
|
||||
// Deprecated: this struct is deprecated since Docker v1.11 and will be removed in v29. You should look for the default
|
||||
// network in NetworkSettings.Networks instead.
|
||||
type DefaultNetworkSettings struct {
|
||||
// EndpointID uniquely represents a service endpoint in a Sandbox
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
EndpointID string
|
||||
// Gateway holds the gateway address for the network
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
Gateway string
|
||||
// GlobalIPv6Address holds network's global IPv6 address
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
GlobalIPv6Address string
|
||||
// GlobalIPv6PrefixLen represents mask length of network's global IPv6 address
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
GlobalIPv6PrefixLen int
|
||||
// IPAddress holds the IPv4 address for the network
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
IPAddress string
|
||||
// IPPrefixLen represents mask length of network's IPv4 address
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
IPPrefixLen int
|
||||
// IPv6Gateway holds gateway address specific for IPv6
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
IPv6Gateway string
|
||||
// MacAddress holds the MAC address for the network
|
||||
//
|
||||
// Deprecated: This field will be removed in v29. You should look for the default network in NetworkSettings.Networks instead.
|
||||
MacAddress string
|
||||
Networks map[string]*network.EndpointSettings
|
||||
}
|
||||
|
||||
// NetworkSettingsSummary provides a summary of container's networks
|
||||
|
||||
@@ -34,12 +34,6 @@ type CreateRequest struct {
|
||||
CheckDuplicate *bool `json:",omitempty"`
|
||||
}
|
||||
|
||||
// Address represents an IP address
|
||||
type Address struct {
|
||||
Addr string
|
||||
PrefixLen int
|
||||
}
|
||||
|
||||
// ServiceInfo represents service parameters with the list of service's tasks
|
||||
type ServiceInfo struct {
|
||||
VIP string
|
||||
|
||||
@@ -5,7 +5,9 @@ import (
|
||||
"net/http"
|
||||
|
||||
"github.com/moby/moby/api/types/container"
|
||||
"github.com/moby/moby/api/types/network"
|
||||
"github.com/moby/moby/api/types/versions"
|
||||
"github.com/moby/moby/v2/daemon/internal/compat"
|
||||
"github.com/moby/moby/v2/daemon/internal/sliceutil"
|
||||
"github.com/moby/moby/v2/daemon/internal/stringid"
|
||||
"github.com/moby/moby/v2/daemon/server/backend"
|
||||
@@ -34,5 +36,24 @@ func (c *containerRouter) getContainersByName(ctx context.Context, w http.Respon
|
||||
ctr.ImageManifestDescriptor = nil
|
||||
}
|
||||
|
||||
return httputils.WriteJSON(w, http.StatusOK, ctr)
|
||||
var bridgeNw network.EndpointSettings
|
||||
if v := ctr.NetworkSettings.Networks["bridge"]; v != nil {
|
||||
bridgeNw = *v
|
||||
}
|
||||
|
||||
var wrapOpts []compat.Option
|
||||
if versions.LessThan(version, "1.52") {
|
||||
wrapOpts = append(wrapOpts, compat.WithExtraFields(map[string]any{
|
||||
"EndpointID": bridgeNw.EndpointID,
|
||||
"Gateway": bridgeNw.Gateway,
|
||||
"GlobalIPv6Address": bridgeNw.GlobalIPv6Address,
|
||||
"GlobalIPv6PrefixLen": bridgeNw.GlobalIPv6PrefixLen,
|
||||
"IPAddress": bridgeNw.IPAddress,
|
||||
"IPPrefixLen": bridgeNw.IPPrefixLen,
|
||||
"IPv6Gateway": bridgeNw.IPv6Gateway,
|
||||
"MacAddress": bridgeNw.MacAddress,
|
||||
}))
|
||||
}
|
||||
|
||||
return httputils.WriteJSON(w, http.StatusOK, compat.Wrap(ctr, wrapOpts...))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user