in gdb-20190903/client/client.go [5409:5544]
func (client *Client) CloneDBInstanceWithOptions(request *CloneDBInstanceRequest, runtime *util.RuntimeOptions) (_result *CloneDBInstanceResponse, _err error) {
_err = util.ValidateModel(request)
if _err != nil {
return _result, _err
}
query := map[string]interface{}{}
if !tea.BoolValue(util.IsUnset(request.AutoRenew)) {
query["AutoRenew"] = request.AutoRenew
}
if !tea.BoolValue(util.IsUnset(request.AutoRenewPeriod)) {
query["AutoRenewPeriod"] = request.AutoRenewPeriod
}
if !tea.BoolValue(util.IsUnset(request.BackupSetId)) {
query["BackupSetId"] = request.BackupSetId
}
if !tea.BoolValue(util.IsUnset(request.ClientToken)) {
query["ClientToken"] = request.ClientToken
}
if !tea.BoolValue(util.IsUnset(request.DBInstanceCategory)) {
query["DBInstanceCategory"] = request.DBInstanceCategory
}
if !tea.BoolValue(util.IsUnset(request.DBInstanceClass)) {
query["DBInstanceClass"] = request.DBInstanceClass
}
if !tea.BoolValue(util.IsUnset(request.DBInstanceDescription)) {
query["DBInstanceDescription"] = request.DBInstanceDescription
}
if !tea.BoolValue(util.IsUnset(request.DBInstanceNetworkType)) {
query["DBInstanceNetworkType"] = request.DBInstanceNetworkType
}
if !tea.BoolValue(util.IsUnset(request.DBInstanceVersion)) {
query["DBInstanceVersion"] = request.DBInstanceVersion
}
if !tea.BoolValue(util.IsUnset(request.DBNodeStorage)) {
query["DBNodeStorage"] = request.DBNodeStorage
}
if !tea.BoolValue(util.IsUnset(request.DBNodeStorageType)) {
query["DBNodeStorageType"] = request.DBNodeStorageType
}
if !tea.BoolValue(util.IsUnset(request.OwnerAccount)) {
query["OwnerAccount"] = request.OwnerAccount
}
if !tea.BoolValue(util.IsUnset(request.OwnerId)) {
query["OwnerId"] = request.OwnerId
}
if !tea.BoolValue(util.IsUnset(request.PayType)) {
query["PayType"] = request.PayType
}
if !tea.BoolValue(util.IsUnset(request.Period)) {
query["Period"] = request.Period
}
if !tea.BoolValue(util.IsUnset(request.RegionId)) {
query["RegionId"] = request.RegionId
}
if !tea.BoolValue(util.IsUnset(request.ResourceGroupId)) {
query["ResourceGroupId"] = request.ResourceGroupId
}
if !tea.BoolValue(util.IsUnset(request.ResourceOwnerAccount)) {
query["ResourceOwnerAccount"] = request.ResourceOwnerAccount
}
if !tea.BoolValue(util.IsUnset(request.ResourceOwnerId)) {
query["ResourceOwnerId"] = request.ResourceOwnerId
}
if !tea.BoolValue(util.IsUnset(request.RestoreTime)) {
query["RestoreTime"] = request.RestoreTime
}
if !tea.BoolValue(util.IsUnset(request.RestoreType)) {
query["RestoreType"] = request.RestoreType
}
if !tea.BoolValue(util.IsUnset(request.SecurityIPList)) {
query["SecurityIPList"] = request.SecurityIPList
}
if !tea.BoolValue(util.IsUnset(request.SourceDBInstanceId)) {
query["SourceDBInstanceId"] = request.SourceDBInstanceId
}
if !tea.BoolValue(util.IsUnset(request.UsedTime)) {
query["UsedTime"] = request.UsedTime
}
if !tea.BoolValue(util.IsUnset(request.VPCId)) {
query["VPCId"] = request.VPCId
}
if !tea.BoolValue(util.IsUnset(request.VSwitchId)) {
query["VSwitchId"] = request.VSwitchId
}
if !tea.BoolValue(util.IsUnset(request.ZoneId)) {
query["ZoneId"] = request.ZoneId
}
req := &openapi.OpenApiRequest{
Query: openapiutil.Query(query),
}
params := &openapi.Params{
Action: tea.String("CloneDBInstance"),
Version: tea.String("2019-09-03"),
Protocol: tea.String("HTTPS"),
Pathname: tea.String("/"),
Method: tea.String("POST"),
AuthType: tea.String("AK"),
Style: tea.String("RPC"),
ReqBodyType: tea.String("formData"),
BodyType: tea.String("json"),
}
_result = &CloneDBInstanceResponse{}
_body, _err := client.CallApi(params, req, runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
}