How to set Request parameters using pointers
masterThe SDK uses a pointer-based style for assigning request parameters. Even for basic types (like int64 or string), you must pass a pointer. The SDK provides helper functions to wrap these values easily:
common.Int64Ptr(val): Forint64types.common.StringPtr(val): Forstringtypes.common.StringPtrs([]string{...}): For slices of strings.
Example for complex objects:
When setting a field that is a slice of complex structs (like Filters), you must pass a slice of pointers to those structs.
// Basic type using pointer helper
request.Limit = common.Int64Ptr(1)
// Complex object (slice of pointers to structs)
request.Filters = []*cvm.Filter{
&cvm.Filter{
Name: common.StringPtr("zone"),
Values: common.StringPtrs([]string{"ap-guangzhou-1"}),
},
}