github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/apigw/v2/env_vars/Create.go (about) 1 package env_vars 2 3 import ( 4 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/build" 6 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 7 ) 8 9 type CreateOpts struct { 10 GatewayID string `json:"-"` 11 GroupID string `json:"group_id" required:"true"` 12 EnvID string `json:"env_id" required:"true"` 13 VariableName string `json:"variable_name" required:"true"` 14 VariableValue string `json:"variable_value" required:"true"` 15 } 16 17 func Create(client *golangsdk.ServiceClient, opts CreateOpts) (*EnvVarsResp, error) { 18 b, err := build.RequestBody(opts, "") 19 if err != nil { 20 return nil, err 21 } 22 23 raw, err := client.Post(client.ServiceURL("apigw", "instances", opts.GatewayID, "env-variables"), b, nil, &golangsdk.RequestOpts{ 24 OkCodes: []int{201}, 25 }) 26 if err != nil { 27 return nil, err 28 } 29 30 var res EnvVarsResp 31 32 err = extract.Into(raw.Body, &res) 33 return &res, err 34 } 35 36 type EnvVarsResp struct { 37 EnvID string `json:"env_id"` 38 GroupID string `json:"group_id"` 39 ID string `json:"id"` 40 VariableName string `json:"variable_name"` 41 VariableValue string `json:"variable_value"` 42 }