diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-01-19 16:56:17 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-19 16:56:17 -0500 |
commit | 5e7262ddf595f9187d01e12f5dcee2fe1c713798 (patch) | |
tree | 6cde028a76610dfc85eb7e27af7743af2e9842bb /pkg/domain | |
parent | 37470c4d200c5cde2f8e233dbaa6d200d94919cc (diff) | |
parent | a45d22a1ddd2840cf8c3a38540aa8683cc0d5c7d (diff) | |
download | podman-5e7262ddf595f9187d01e12f5dcee2fe1c713798.tar.gz podman-5e7262ddf595f9187d01e12f5dcee2fe1c713798.tar.bz2 podman-5e7262ddf595f9187d01e12f5dcee2fe1c713798.zip |
Merge pull request #9021 from Luap99/podman-network-exists
podman network exists
Diffstat (limited to 'pkg/domain')
-rw-r--r-- | pkg/domain/entities/engine_container.go | 1 | ||||
-rw-r--r-- | pkg/domain/infra/abi/network.go | 15 | ||||
-rw-r--r-- | pkg/domain/infra/tunnel/network.go | 11 |
3 files changed, 27 insertions, 0 deletions
diff --git a/pkg/domain/entities/engine_container.go b/pkg/domain/entities/engine_container.go index d2552770c..7b43ac961 100644 --- a/pkg/domain/entities/engine_container.go +++ b/pkg/domain/entities/engine_container.go @@ -60,6 +60,7 @@ type ContainerEngine interface { NetworkConnect(ctx context.Context, networkname string, options NetworkConnectOptions) error NetworkCreate(ctx context.Context, name string, options NetworkCreateOptions) (*NetworkCreateReport, error) NetworkDisconnect(ctx context.Context, networkname string, options NetworkDisconnectOptions) error + NetworkExists(ctx context.Context, networkname string) (*BoolReport, error) NetworkInspect(ctx context.Context, namesOrIds []string, options InspectOptions) ([]NetworkInspectReport, []error, error) NetworkList(ctx context.Context, options NetworkListOptions) ([]*NetworkListReport, error) NetworkReload(ctx context.Context, names []string, options NetworkReloadOptions) ([]*NetworkReloadReport, error) diff --git a/pkg/domain/infra/abi/network.go b/pkg/domain/infra/abi/network.go index e5ecf5c72..bc4328fcd 100644 --- a/pkg/domain/infra/abi/network.go +++ b/pkg/domain/infra/abi/network.go @@ -140,3 +140,18 @@ func (ic *ContainerEngine) NetworkDisconnect(ctx context.Context, networkname st func (ic *ContainerEngine) NetworkConnect(ctx context.Context, networkname string, options entities.NetworkConnectOptions) error { return ic.Libpod.ConnectContainerToNetwork(options.Container, networkname, options.Aliases) } + +// NetworkExists checks if the given network exists +func (ic *ContainerEngine) NetworkExists(ctx context.Context, networkname string) (*entities.BoolReport, error) { + config, err := ic.Libpod.GetConfig() + if err != nil { + return nil, err + } + exists, err := network.Exists(config, networkname) + if err != nil { + return nil, err + } + return &entities.BoolReport{ + Value: exists, + }, nil +} diff --git a/pkg/domain/infra/tunnel/network.go b/pkg/domain/infra/tunnel/network.go index d4e827580..bdb1beb03 100644 --- a/pkg/domain/infra/tunnel/network.go +++ b/pkg/domain/infra/tunnel/network.go @@ -78,3 +78,14 @@ func (ic *ContainerEngine) NetworkConnect(ctx context.Context, networkname strin options := new(network.ConnectOptions).WithAliases(opts.Aliases) return network.Connect(ic.ClientCtx, networkname, opts.Container, options) } + +// NetworkExists checks if the given network exists +func (ic *ContainerEngine) NetworkExists(ctx context.Context, networkname string) (*entities.BoolReport, error) { + exists, err := network.Exists(ic.ClientCtx, networkname, nil) + if err != nil { + return nil, err + } + return &entities.BoolReport{ + Value: exists, + }, nil +} |