ports.go 798 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package convert
  2. import (
  3. "strings"
  4. "github.com/Azure/azure-sdk-for-go/services/containerinstance/mgmt/2018-10-01/containerinstance"
  5. "github.com/docker/api/containers"
  6. )
  7. // ToPorts converts Azure container ports to api ports
  8. func ToPorts(ipAddr *containerinstance.IPAddress, ports []containerinstance.ContainerPort) []containers.Port {
  9. var result []containers.Port
  10. for _, port := range ports {
  11. if port.Port == nil {
  12. continue
  13. }
  14. protocol := "tcp"
  15. if port.Protocol != "" {
  16. protocol = string(port.Protocol)
  17. }
  18. ip := ""
  19. if ipAddr != nil {
  20. ip = *ipAddr.IP
  21. }
  22. result = append(result, containers.Port{
  23. HostPort: uint32(*port.Port),
  24. ContainerPort: uint32(*port.Port),
  25. HostIP: ip,
  26. Protocol: strings.ToLower(protocol),
  27. })
  28. }
  29. return result
  30. }