11package command
22
33import (
4- "fmt"
5-
64 "github.com/docker/cli/cli/context/docker"
75 "github.com/docker/cli/cli/context/store"
86 cliflags "github.com/docker/cli/cli/flags"
7+ "github.com/docker/docker/errdefs"
98 "github.com/pkg/errors"
109)
1110
@@ -107,15 +106,15 @@ func (s *ContextStoreWithDefault) List() ([]store.Metadata, error) {
107106// CreateOrUpdate is not allowed for the default context and fails
108107func (s * ContextStoreWithDefault ) CreateOrUpdate (meta store.Metadata ) error {
109108 if meta .Name == DefaultContextName {
110- return errors .New ("default context cannot be created nor updated" )
109+ return errdefs . InvalidParameter ( errors .New ("default context cannot be created nor updated" ) )
111110 }
112111 return s .Store .CreateOrUpdate (meta )
113112}
114113
115114// Remove is not allowed for the default context and fails
116115func (s * ContextStoreWithDefault ) Remove (name string ) error {
117116 if name == DefaultContextName {
118- return errors .New ("default context cannot be removed" )
117+ return errdefs . InvalidParameter ( errors .New ("default context cannot be removed" ) )
119118 }
120119 return s .Store .Remove (name )
121120}
@@ -135,15 +134,15 @@ func (s *ContextStoreWithDefault) GetMetadata(name string) (store.Metadata, erro
135134// ResetTLSMaterial is not implemented for default context and fails
136135func (s * ContextStoreWithDefault ) ResetTLSMaterial (name string , data * store.ContextTLSData ) error {
137136 if name == DefaultContextName {
138- return errors .New ("The default context store does not support ResetTLSMaterial" )
137+ return errdefs . InvalidParameter ( errors .New ("default context cannot be edited" ) )
139138 }
140139 return s .Store .ResetTLSMaterial (name , data )
141140}
142141
143142// ResetEndpointTLSMaterial is not implemented for default context and fails
144143func (s * ContextStoreWithDefault ) ResetEndpointTLSMaterial (contextName string , endpointName string , data * store.EndpointTLSData ) error {
145144 if contextName == DefaultContextName {
146- return errors .New ("The default context store does not support ResetEndpointTLSMaterial" )
145+ return errdefs . InvalidParameter ( errors .New ("default context cannot be edited" ) )
147146 }
148147 return s .Store .ResetEndpointTLSMaterial (contextName , endpointName , data )
149148}
@@ -176,29 +175,13 @@ func (s *ContextStoreWithDefault) GetTLSData(contextName, endpointName, fileName
176175 return nil , err
177176 }
178177 if defaultContext .TLS .Endpoints [endpointName ].Files [fileName ] == nil {
179- return nil , & noDefaultTLSDataError { endpointName : endpointName , fileName : fileName }
178+ return nil , errdefs . NotFound ( errors . Errorf ( "TLS data for %s/%s/%s does not exist" , DefaultContextName , endpointName , fileName ))
180179 }
181180 return defaultContext .TLS .Endpoints [endpointName ].Files [fileName ], nil
182-
183181 }
184182 return s .Store .GetTLSData (contextName , endpointName , fileName )
185183}
186184
187- type noDefaultTLSDataError struct {
188- endpointName string
189- fileName string
190- }
191-
192- func (e * noDefaultTLSDataError ) Error () string {
193- return fmt .Sprintf ("tls data for %s/%s/%s does not exist" , DefaultContextName , e .endpointName , e .fileName )
194- }
195-
196- // NotFound satisfies interface github.com/docker/docker/errdefs.ErrNotFound
197- func (e * noDefaultTLSDataError ) NotFound () {}
198-
199- // IsTLSDataDoesNotExist satisfies github.com/docker/cli/cli/context/store.tlsDataDoesNotExist
200- func (e * noDefaultTLSDataError ) IsTLSDataDoesNotExist () {}
201-
202185// GetStorageInfo implements store.Store's GetStorageInfo
203186func (s * ContextStoreWithDefault ) GetStorageInfo (contextName string ) store.StorageInfo {
204187 if contextName == DefaultContextName {
0 commit comments