package service import ( "gitlab.ecloud.com/ecloud/ecloudsdkcore/config" "gitlab.ecloud.com/ecloud/ecloudsdkcore/utils" "gitlab.ecloud.com/ecloud/ecloudsdkmaas" cmmodel "gitlab.ecloud.com/ecloud/ecloudsdkmaas/model" ) const ( chinaMobileAssetConnectTimeoutSeconds int32 = 10 chinaMobileAssetReadTimeoutSeconds int32 = 60 ) type chinaMobileAssetSDKClient interface { CreateAsset(request *cmmodel.CreateAssetRequest) (*cmmodel.CreateAssetResponse, error) ListAssets(request *cmmodel.ListAssetsRequest) (*cmmodel.ListAssetsResponse, error) GetAsset(request *cmmodel.GetAssetRequest) (*cmmodel.GetAssetResponse, error) UpdateAsset(request *cmmodel.UpdateAssetRequest) (*cmmodel.UpdateAssetResponse, error) DeleteAsset(request *cmmodel.DeleteAssetRequest) (*cmmodel.DeleteAssetResponse, error) CreateAssetGroup(request *cmmodel.CreateAssetGroupRequest) (*cmmodel.CreateAssetGroupResponse, error) ListAssetGroups(request *cmmodel.ListAssetGroupsRequest) (*cmmodel.ListAssetGroupsResponse, error) GetAssetGroup(request *cmmodel.GetAssetGroupRequest) (*cmmodel.GetAssetGroupResponse, error) UpdateAssetGroup(request *cmmodel.UpdateAssetGroupRequest) (*cmmodel.UpdateAssetGroupResponse, error) DeleteAssetGroup(request *cmmodel.DeleteAssetGroupRequest) (*cmmodel.DeleteAssetGroupResponse, error) } func newChinaMobileAssetSDKClient(credential chinaMobileAssetCredential) chinaMobileAssetSDKClient { return ecloudsdkmaas.NewClient(newChinaMobileAssetSDKConfig(credential)) } func newChinaMobileAssetSDKConfig(credential chinaMobileAssetCredential) *config.Config { return &config.Config{ AccessKey: &credential.AK, SecretKey: &credential.SK, PoolId: &credential.PoolID, ConnectTimeout: utils.Int32(chinaMobileAssetConnectTimeoutSeconds), ReadTimeout: utils.Int32(chinaMobileAssetReadTimeoutSeconds), IgnoreSSL: utils.Bool(false), } }