in hologram-20220601/client/client.go [5614:5733]
func (client *Client) CreateInstanceWithOptions(request *CreateInstanceRequest, headers map[string]*string, runtime *util.RuntimeOptions) (_result *CreateInstanceResponse, _err error) {
_err = util.ValidateModel(request)
if _err != nil {
return _result, _err
}
body := map[string]interface{}{}
if !tea.BoolValue(util.IsUnset(request.AutoPay)) {
body["autoPay"] = request.AutoPay
}
if !tea.BoolValue(util.IsUnset(request.AutoRenew)) {
body["autoRenew"] = request.AutoRenew
}
if !tea.BoolValue(util.IsUnset(request.ChargeType)) {
body["chargeType"] = request.ChargeType
}
if !tea.BoolValue(util.IsUnset(request.ColdStorageSize)) {
body["coldStorageSize"] = request.ColdStorageSize
}
if !tea.BoolValue(util.IsUnset(request.Cpu)) {
body["cpu"] = request.Cpu
}
if !tea.BoolValue(util.IsUnset(request.Duration)) {
body["duration"] = request.Duration
}
if !tea.BoolValue(util.IsUnset(request.EnableServerlessComputing)) {
body["enableServerlessComputing"] = request.EnableServerlessComputing
}
if !tea.BoolValue(util.IsUnset(request.GatewayCount)) {
body["gatewayCount"] = request.GatewayCount
}
if !tea.BoolValue(util.IsUnset(request.InitialDatabases)) {
body["initialDatabases"] = request.InitialDatabases
}
if !tea.BoolValue(util.IsUnset(request.InstanceName)) {
body["instanceName"] = request.InstanceName
}
if !tea.BoolValue(util.IsUnset(request.InstanceType)) {
body["instanceType"] = request.InstanceType
}
if !tea.BoolValue(util.IsUnset(request.LeaderInstanceId)) {
body["leaderInstanceId"] = request.LeaderInstanceId
}
if !tea.BoolValue(util.IsUnset(request.PricingCycle)) {
body["pricingCycle"] = request.PricingCycle
}
if !tea.BoolValue(util.IsUnset(request.RegionId)) {
body["regionId"] = request.RegionId
}
if !tea.BoolValue(util.IsUnset(request.ResourceGroupId)) {
body["resourceGroupId"] = request.ResourceGroupId
}
if !tea.BoolValue(util.IsUnset(request.StorageSize)) {
body["storageSize"] = request.StorageSize
}
if !tea.BoolValue(util.IsUnset(request.StorageType)) {
body["storageType"] = request.StorageType
}
if !tea.BoolValue(util.IsUnset(request.VSwitchId)) {
body["vSwitchId"] = request.VSwitchId
}
if !tea.BoolValue(util.IsUnset(request.VpcId)) {
body["vpcId"] = request.VpcId
}
if !tea.BoolValue(util.IsUnset(request.ZoneId)) {
body["zoneId"] = request.ZoneId
}
req := &openapi.OpenApiRequest{
Headers: headers,
Body: openapiutil.ParseToMap(body),
}
params := &openapi.Params{
Action: tea.String("CreateInstance"),
Version: tea.String("2022-06-01"),
Protocol: tea.String("HTTPS"),
Pathname: tea.String("/api/v1/instances/create"),
Method: tea.String("POST"),
AuthType: tea.String("AK"),
Style: tea.String("ROA"),
ReqBodyType: tea.String("json"),
BodyType: tea.String("json"),
}
if tea.BoolValue(util.IsUnset(client.SignatureVersion)) || !tea.BoolValue(util.EqualString(client.SignatureVersion, tea.String("v4"))) {
_result = &CreateInstanceResponse{}
_body, _err := client.CallApi(params, req, runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
} else {
_result = &CreateInstanceResponse{}
_body, _err := client.Execute(params, req, runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
}
}