本文整理汇总了Golang中github.com/openshift/origin/pkg/template/api.Template.Parameters方法的典型用法代码示例。如果您正苦于以下问题:Golang Template.Parameters方法的具体用法?Golang Template.Parameters怎么用?Golang Template.Parameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/openshift/origin/pkg/template/api.Template
的用法示例。
在下文中一共展示了Template.Parameters方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: AddParameter
// AddParameter adds new custom parameter to the Template. It overrides
// the existing parameter, if already defined.
func AddParameter(t *api.Template, param api.Parameter) {
if existing := GetParameterByName(t, param.Name); existing != nil {
*existing = param
} else {
t.Parameters = append(t.Parameters, param)
}
}
示例2: autoConvert_v1_Template_To_api_Template
func autoConvert_v1_Template_To_api_Template(in *Template, out *template_api.Template, s conversion.Scope) error {
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
if err := api_v1.Convert_v1_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil {
return err
}
out.Message = in.Message
if in.Objects != nil {
in, out := &in.Objects, &out.Objects
*out = make([]runtime.Object, len(*in))
for i := range *in {
if err := runtime.Convert_runtime_RawExtension_To_runtime_Object(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Objects = nil
}
if in.Parameters != nil {
in, out := &in.Parameters, &out.Parameters
*out = make([]template_api.Parameter, len(*in))
for i := range *in {
if err := Convert_v1_Parameter_To_api_Parameter(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Parameters = nil
}
out.ObjectLabels = in.ObjectLabels
return nil
}
示例3: processTemplate
func processTemplate(tmpl *tapi.Template, domain string, apiserver string) {
generators := map[string]generator.Generator{
"expression": generator.NewExpressionValueGenerator(rand.New(rand.NewSource(time.Now().UnixNano()))),
}
p := template.NewProcessor(generators)
tmpl.Parameters = append(tmpl.Parameters, tapi.Parameter{
Name: "DOMAIN",
Value: domain,
}, tapi.Parameter{
Name: "APISERVER",
Value: apiserver,
})
errorList := p.Process(tmpl)
for _, errInfo := range errorList {
util.Errorf("Processing template field %s got error %s\n", errInfo.Field, errInfo.Detail)
}
}
示例4: processTemplate
func processTemplate(tmpl *tapi.Template, ns string, domain string, apiserver string) {
generators := map[string]generator.Generator{
"expression": generator.NewExpressionValueGenerator(rand.New(rand.NewSource(time.Now().UnixNano()))),
}
p := template.NewProcessor(generators)
ip, port, err := net.SplitHostPort(apiserver)
if err != nil && !strings.Contains(err.Error(), "missing port in address") {
util.Fatalf("%s", err)
}
namespaceIdx := -1
for i, param := range tmpl.Parameters {
if param.Name == "NAMESPACE" {
namespaceIdx = i
}
}
if namespaceIdx >= 0 {
tmpl.Parameters[namespaceIdx].Value = ns
}
tmpl.Parameters = append(tmpl.Parameters, tapi.Parameter{
Name: "DOMAIN",
Value: ns + "." + domain,
}, tapi.Parameter{
Name: "APISERVER",
Value: ip,
}, tapi.Parameter{
Name: "OAUTH_AUTHORIZE_PORT",
Value: port,
})
errorList := p.Process(tmpl)
for _, errInfo := range errorList {
util.Errorf("Processing template field %s got error %s\n", errInfo.Field, errInfo.Detail)
}
}
示例5: createTemplate
func createTemplate(jsonData []byte, templateName string, ns string, domain string, apiserver string, c *k8sclient.Client) {
var v1tmpl tapiv1.Template
err := json.Unmarshal(jsonData, &v1tmpl)
if err != nil {
util.Fatalf("Cannot get %s template to deploy. error: %v\ntemplate: %s", templateName, err, string(jsonData))
}
var tmpl tapi.Template
err = api.Scheme.Convert(&v1tmpl, &tmpl)
if err != nil {
util.Fatalf("Cannot convert %s template to deploy: %v", templateName, err)
}
generators := map[string]generator.Generator{
"expression": generator.NewExpressionValueGenerator(rand.New(rand.NewSource(time.Now().UnixNano()))),
}
p := template.NewProcessor(generators)
tmpl.Parameters = append(tmpl.Parameters, tapi.Parameter{
Name: "DOMAIN",
Value: domain,
}, tapi.Parameter{
Name: "APISERVER",
Value: apiserver,
})
p.Process(&tmpl)
objectCount := len(tmpl.Objects)
if objectCount == 0 {
// can't be a template so lets try just process it directly
var v1List v1.List
err = json.Unmarshal(jsonData, &v1List)
if err != nil {
util.Fatalf("Cannot unmarshal List %s to deploy. error: %v\ntemplate: %s", templateName, err, string(jsonData))
}
if len(v1List.Items) == 0 {
// lets check if its an RC / ReplicaSet or something
_, groupVersionKind, err := api.Codecs.UniversalDeserializer().Decode(jsonData, nil, nil)
if err != nil {
printResult(templateName, Failure, err)
} else {
kind := groupVersionKind.Kind
util.Infof("Processing resource of kind: %s version: %s\n", kind, groupVersionKind.Version)
if len(kind) <= 0 {
printResult(templateName, Failure, fmt.Errorf("Could not find kind from json %s", string(jsonData)))
} else {
processResource(c, jsonData, ns, kind)
}
}
} else {
var kubeList api.List
err = api.Scheme.Convert(&v1List, &kubeList)
if err != nil {
util.Fatalf("Cannot convert %s List to deploy: %v", templateName, err)
}
util.Infof("Converted json to list with %d items with json %s\n", len(kubeList.Items), string(jsonData))
util.Infof("Creating "+templateName+" list resources from %d objects\n", len(kubeList.Items))
for _, o := range kubeList.Items {
err = processItem(c, &o, ns)
}
}
} else {
util.Infof("Creating "+templateName+" template resources from %d objects\n", objectCount)
for _, o := range tmpl.Objects {
err = processItem(c, &o, ns)
}
}
if err != nil {
printResult(templateName, Failure, err)
} else {
printResult(templateName, Success, nil)
}
}
示例6: NewCmdDeploy
func NewCmdDeploy(f *cmdutil.Factory) *cobra.Command {
cmd := &cobra.Command{
Use: "deploy",
Short: "Deploy fabric8 to your Kubernetes or OpenShift environment",
Long: `deploy fabric8 to your Kubernetes or OpenShift environment`,
PreRun: func(cmd *cobra.Command, args []string) {
showBanner()
},
Run: func(cmd *cobra.Command, args []string) {
c, cfg := client.NewClient(f)
ns, _, _ := f.DefaultNamespace()
util.Info("Deploying fabric8 to your ")
util.Success(string(util.TypeOfMaster(c)))
util.Info(" installation at ")
util.Success(cfg.Host)
util.Info(" in namespace ")
util.Successf("%s\n\n", ns)
if confirmAction(cmd.Flags()) {
v := cmd.Flags().Lookup("version").Value.String()
typeOfMaster := util.TypeOfMaster(c)
v = f8Version(v, typeOfMaster)
versioniPaaS := cmd.Flags().Lookup(versioniPaaSFlag).Value.String()
versioniPaaS = versionForUrl(versioniPaaS, iPaaSMetadataUrl)
util.Warnf("\nStarting deployment of %s...\n\n", v)
if typeOfMaster == util.Kubernetes {
uri := fmt.Sprintf(baseConsoleKubernetesUrl, v)
filenames := []string{uri}
createCmd := cobra.Command{}
createCmd.Flags().StringSlice("filename", filenames, "")
err := kcmd.RunCreate(f, &createCmd, ioutil.Discard)
if err != nil {
printResult("fabric8 console", Failure, err)
} else {
printResult("fabric8 console", Success, nil)
}
} else {
oc, _ := client.NewOpenShiftClient(cfg)
r, err := verifyRestrictedSecurityContextConstraints(c, f)
printResult("SecurityContextConstraints restricted", r, err)
r, err = deployFabric8SecurityContextConstraints(c, f, ns)
printResult("SecurityContextConstraints fabric8", r, err)
printAddClusterRoleToUser(oc, f, "cluster-admin", "system:serviceaccount:"+ns+":fabric8")
printAddClusterRoleToUser(oc, f, "cluster-admin", "system:serviceaccount:"+ns+":jenkins")
printAddClusterRoleToUser(oc, f, "cluster-reader", "system:serviceaccount:"+ns+":metrics")
printAddServiceAccount(c, f, "metrics")
printAddServiceAccount(c, f, "router")
if cmd.Flags().Lookup(templatesFlag).Value.String() == "true" {
uri := fmt.Sprintf(baseConsoleUrl, v)
resp, err := http.Get(uri)
if err != nil {
util.Fatalf("Cannot get fabric8 template to deploy: %v", err)
}
defer resp.Body.Close()
jsonData, err := ioutil.ReadAll(resp.Body)
if err != nil {
util.Fatalf("Cannot get fabric8 template to deploy: %v", err)
}
var v1tmpl tapiv1.Template
err = json.Unmarshal(jsonData, &v1tmpl)
if err != nil {
util.Fatalf("Cannot get fabric8 template to deploy: %v", err)
}
var tmpl tapi.Template
err = api.Scheme.Convert(&v1tmpl, &tmpl)
if err != nil {
util.Fatalf("Cannot get fabric8 template to deploy: %v", err)
}
generators := map[string]generator.Generator{
"expression": generator.NewExpressionValueGenerator(rand.New(rand.NewSource(time.Now().UnixNano()))),
}
p := template.NewProcessor(generators)
tmpl.Parameters = append(tmpl.Parameters, tapi.Parameter{
Name: "DOMAIN",
Value: cmd.Flags().Lookup("domain").Value.String(),
})
p.Process(&tmpl)
for _, o := range tmpl.Objects {
switch o := o.(type) {
case *runtime.Unstructured:
var b []byte
b, err = json.Marshal(o.Object)
if err != nil {
break
}
req := c.Post().Body(b)
//.........这里部分代码省略.........