github.com/alloyzeus/go-azfl@v0.0.0-20231220071816-9740126a2d07/azcore/service_client.go (about) 1 package azcore 2 3 /**/ /**/ 4 5 // ServiceClientConfig holds the configuration for a service client. 6 type ServiceClientConfig interface { 7 ServiceConfig 8 } 9 10 // ServiceClient provides an abstraction for all service clients. 11 type ServiceClient interface { 12 Service 13 AZServiceClient() 14 } 15 16 // ServiceClientModule provides all the required to instantiate a service 17 // client. 18 type ServiceClientModule struct { 19 ServiceClientConfigSkeleton func() ServiceClientConfig 20 NewServiceClient func(ServiceClientConfig) (ServiceClient, ServiceClientError) 21 } 22 23 var _ ServiceModule = ServiceClientModule{} 24 25 // AZServiceModule is required for conformance with ServiceModule. 26 func (ServiceClientModule) AZServiceModule() {} 27 28 // ServiceClientError is an abstraction for all errors emitted by a 29 // service server. 30 type ServiceClientError interface { 31 ServiceError 32 33 AZServiceClientError() 34 }