本文整理汇总了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)
}