github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/lts/v2/streams/CreateLogStream.go (about) 1 package streams 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 // ID of a created log group 11 GroupId string `json:"-" required:"true"` 12 // Name of the log stream to be created. 13 // Minimum length: 1 character 14 // Maximum length: 64 characters 15 // Enumerated value: 16 // lts-stream-13ci 17 LogStreamName string `json:"log_stream_name" required:"true"` 18 } 19 20 func CreateLogStream(client *golangsdk.ServiceClient, opts CreateOpts) (string, error) { 21 b, err := build.RequestBody(opts, "") 22 if err != nil { 23 return "", err 24 } 25 26 // POST /v2/{project_id}/groups/{log_group_id}/streams 27 raw, err := client.Post(client.ServiceURL("groups", opts.GroupId, "streams"), b, nil, nil) 28 if err != nil { 29 return "", err 30 } 31 32 var res struct { 33 ID string `json:"log_stream_id"` 34 } 35 err = extract.Into(raw.Body, &res) 36 return res.ID, err 37 }