本文整理匯總了Golang中github.com/juju/juju/jujuclient.ClientStore.ModelByName方法的典型用法代碼示例。如果您正苦於以下問題:Golang ClientStore.ModelByName方法的具體用法?Golang ClientStore.ModelByName怎麽用?Golang ClientStore.ModelByName使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/juju/juju/jujuclient.ClientStore
的用法示例。
在下文中一共展示了ClientStore.ModelByName方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: newAPIConnectionFromNames
func newAPIConnectionFromNames(
c *gc.C,
controller, account, model string,
store jujuclient.ClientStore,
apiOpen api.OpenFunc,
getBootstrapConfig func(string) (*config.Config, error),
) (api.Connection, error) {
params := juju.NewAPIConnectionParams{
Store: store,
ControllerName: controller,
BootstrapConfig: getBootstrapConfig,
DialOpts: api.DefaultDialOpts(),
}
if account != "" {
accountDetails, err := store.AccountByName(controller, account)
c.Assert(err, jc.ErrorIsNil)
params.AccountDetails = accountDetails
}
if model != "" {
modelDetails, err := store.ModelByName(controller, account, model)
c.Assert(err, jc.ErrorIsNil)
params.ModelUUID = modelDetails.ModelUUID
}
return juju.NewAPIFromStore(params, apiOpen)
}
示例2: newAPIConnectionParams
func newAPIConnectionParams(
store jujuclient.ClientStore,
controllerName,
modelName string,
accountDetails *jujuclient.AccountDetails,
bakery *httpbakery.Client,
apiOpen api.OpenFunc,
getPassword func(string) (string, error),
) (juju.NewAPIConnectionParams, error) {
if controllerName == "" {
return juju.NewAPIConnectionParams{}, errors.Trace(errNoNameSpecified)
}
var modelUUID string
if modelName != "" {
modelDetails, err := store.ModelByName(controllerName, modelName)
if err != nil {
return juju.NewAPIConnectionParams{}, errors.Trace(err)
}
modelUUID = modelDetails.ModelUUID
}
dialOpts := api.DefaultDialOpts()
dialOpts.BakeryClient = bakery
if accountDetails != nil {
bakery.WebPageVisitor = httpbakery.NewMultiVisitor(
authentication.NewVisitor(accountDetails.User, getPassword),
bakery.WebPageVisitor,
)
}
return juju.NewAPIConnectionParams{
Store: store,
ControllerName: controllerName,
AccountDetails: accountDetails,
ModelUUID: modelUUID,
DialOpts: dialOpts,
OpenAPI: apiOpen,
}, nil
}
示例3: newAPIConnectionParams
func newAPIConnectionParams(
store jujuclient.ClientStore,
controllerName,
accountName,
modelName string,
bakery *httpbakery.Client,
) (juju.NewAPIConnectionParams, error) {
if controllerName == "" {
return juju.NewAPIConnectionParams{}, errors.Trace(errNoNameSpecified)
}
var accountDetails *jujuclient.AccountDetails
if accountName != "" {
var err error
accountDetails, err = store.AccountByName(controllerName, accountName)
if err != nil {
return juju.NewAPIConnectionParams{}, errors.Trace(err)
}
}
var modelUUID string
if modelName != "" {
modelDetails, err := store.ModelByName(controllerName, accountName, modelName)
if err != nil {
return juju.NewAPIConnectionParams{}, errors.Trace(err)
}
modelUUID = modelDetails.ModelUUID
}
dialOpts := api.DefaultDialOpts()
dialOpts.BakeryClient = bakery
return juju.NewAPIConnectionParams{
Store: store,
ControllerName: controllerName,
BootstrapConfig: NewGetBootstrapConfigFunc(store),
AccountDetails: accountDetails,
ModelUUID: modelUUID,
DialOpts: dialOpts,
}, nil
}
示例4: newAPIConnectionFromNames
func newAPIConnectionFromNames(
c *gc.C,
controller, model string,
store jujuclient.ClientStore,
apiOpen api.OpenFunc,
) (api.Connection, error) {
params := juju.NewAPIConnectionParams{
Store: store,
ControllerName: controller,
DialOpts: api.DefaultDialOpts(),
OpenAPI: apiOpen,
}
accountDetails, err := store.AccountDetails(controller)
if !errors.IsNotFound(err) {
c.Assert(err, jc.ErrorIsNil)
params.AccountDetails = accountDetails
}
if model != "" {
modelDetails, err := store.ModelByName(controller, model)
c.Assert(err, jc.ErrorIsNil)
params.ModelUUID = modelDetails.ModelUUID
}
return juju.NewAPIConnection(params)
}
示例5: checkModelRemovedFromStore
func checkModelRemovedFromStore(c *gc.C, name string, store jujuclient.ClientStore) {
controller, model := modelcmd.SplitModelName(name)
_, err := store.ModelByName(controller, model)
c.Assert(err, jc.Satisfies, errors.IsNotFound)
}
示例6: checkModelExistsInStore
func checkModelExistsInStore(c *gc.C, name string, store jujuclient.ClientStore) {
controller, model := modelcmd.SplitModelName(name)
_, err := store.ModelByName(controller, model)
c.Assert(err, jc.ErrorIsNil)
}