github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/fgs/v2/function/UpdateMetadata.go (about) 1 package function 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 UpdateFuncMetadataOpts struct { 10 FuncUrn string `json:"-"` 11 Name string `json:"func_name" required:"true"` 12 Runtime string `json:"runtime" required:"true"` 13 Timeout int `json:"timeout" required:"true"` 14 Handler string `json:"handler" required:"true"` 15 MemorySize int `json:"memory_size" required:"true"` 16 GpuMemory *int `json:"gpu_memory,omitempty"` 17 UserData string `json:"user_data,omitempty"` 18 EncryptedUserData string `json:"encrypted_user_data,omitempty"` 19 Xrole string `json:"xrole,omitempty"` 20 AppXrole string `json:"app_xrole,omitempty"` 21 Description string `json:"description,omitempty"` 22 FuncVpc *FuncVpc `json:"func_vpc,omitempty"` 23 MountConfig *MountConfig `json:"mount_config,omitempty"` 24 StrategyConfig *StrategyConfig `json:"strategy_config,omitempty"` 25 CustomImage *CustomImage `json:"custom_image,omitempty"` 26 Package string `json:"package"` 27 ExtendConfig string `json:"extend_config,omitempty"` 28 InitHandler string `json:"initializer_handler,omitempty"` 29 InitTimeout *int `json:"initializer_timeout,omitempty"` 30 PreStopHandler string `json:"pre_stop_handler,omitempty"` 31 PreStopTimeout *int `json:"pre_stop_timeout,omitempty"` 32 EphemeralStorage *int `json:"ephemeral_storage,omitempty"` 33 LogConfig *FuncLogConfig `json:"log_config,omitempty"` 34 NetworkController *NetworkControlConfig `json:"network_controller,omitempty"` 35 IsStatefulFunction *bool `json:"is_stateful_function,omitempty"` 36 EnableDynamicMemory *bool `json:"enable_dynamic_memory,omitempty"` 37 EnableAuthInHeader *bool `json:"enable_auth_in_header,omitempty"` 38 DomainNames string `json:"domain_names,omitempty"` 39 RestoreHookHandler string `json:"restore_hook_handler,omitempty"` 40 RestoreHookTimeout *int `json:"restore_hook_timeout,omitempty"` 41 HeartbeatHandler string `json:"heartbeat_handler,omitempty"` 42 EnableClassIsolation *bool `json:"enable_class_isolation,omitempty"` 43 GpuType string `json:"gpu_type,omitempty"` 44 } 45 46 func UpdateFuncMetadata(client *golangsdk.ServiceClient, opts UpdateFuncMetadataOpts) (*FuncGraph, error) { 47 b, err := build.RequestBody(opts, "") 48 if err != nil { 49 return nil, err 50 } 51 52 raw, err := client.Put(client.ServiceURL("fgs", "functions", opts.FuncUrn, "config"), b, nil, &golangsdk.RequestOpts{ 53 OkCodes: []int{200}, 54 }) 55 if err != nil { 56 return nil, err 57 } 58 59 var res FuncGraph 60 return &res, extract.Into(raw.Body, &res) 61 }