func()

in cddc-20200320/client/client.go [5583:5708]


func (client *Client) CreateDedicatedHostWithOptions(tmpReq *CreateDedicatedHostRequest, runtime *util.RuntimeOptions) (_result *CreateDedicatedHostResponse, _err error) {
	_err = util.ValidateModel(tmpReq)
	if _err != nil {
		return _result, _err
	}
	request := &CreateDedicatedHostShrinkRequest{}
	openapiutil.Convert(tmpReq, request)
	if !tea.BoolValue(util.IsUnset(tmpReq.ClusterServices)) {
		request.ClusterServicesShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.ClusterServices, tea.String("ClusterServices"), tea.String("simple"))
	}

	if !tea.BoolValue(util.IsUnset(tmpReq.MyBaseEcsClass)) {
		request.MyBaseEcsClassShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.MyBaseEcsClass, tea.String("MyBaseEcsClass"), tea.String("json"))
	}

	query := map[string]interface{}{}
	if !tea.BoolValue(util.IsUnset(request.AutoRenew)) {
		query["AutoRenew"] = request.AutoRenew
	}

	if !tea.BoolValue(util.IsUnset(request.ClientToken)) {
		query["ClientToken"] = request.ClientToken
	}

	if !tea.BoolValue(util.IsUnset(request.ClusterAlias)) {
		query["ClusterAlias"] = request.ClusterAlias
	}

	if !tea.BoolValue(util.IsUnset(request.ClusterServicesShrink)) {
		query["ClusterServices"] = request.ClusterServicesShrink
	}

	if !tea.BoolValue(util.IsUnset(request.ClusterType)) {
		query["ClusterType"] = request.ClusterType
	}

	if !tea.BoolValue(util.IsUnset(request.DedicatedHostGroupId)) {
		query["DedicatedHostGroupId"] = request.DedicatedHostGroupId
	}

	if !tea.BoolValue(util.IsUnset(request.HostClass)) {
		query["HostClass"] = request.HostClass
	}

	if !tea.BoolValue(util.IsUnset(request.HostStorage)) {
		query["HostStorage"] = request.HostStorage
	}

	if !tea.BoolValue(util.IsUnset(request.HostStorageType)) {
		query["HostStorageType"] = request.HostStorageType
	}

	if !tea.BoolValue(util.IsUnset(request.ImageCategory)) {
		query["ImageCategory"] = request.ImageCategory
	}

	if !tea.BoolValue(util.IsUnset(request.MyBaseEcsClassShrink)) {
		query["MyBaseEcsClass"] = request.MyBaseEcsClassShrink
	}

	if !tea.BoolValue(util.IsUnset(request.OsPassword)) {
		query["OsPassword"] = request.OsPassword
	}

	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.ResourceOwnerAccount)) {
		query["ResourceOwnerAccount"] = request.ResourceOwnerAccount
	}

	if !tea.BoolValue(util.IsUnset(request.ResourceOwnerId)) {
		query["ResourceOwnerId"] = request.ResourceOwnerId
	}

	if !tea.BoolValue(util.IsUnset(request.UsedTime)) {
		query["UsedTime"] = request.UsedTime
	}

	if !tea.BoolValue(util.IsUnset(request.VSwitchId)) {
		query["VSwitchId"] = request.VSwitchId
	}

	if !tea.BoolValue(util.IsUnset(request.VpcID)) {
		query["VpcID"] = request.VpcID
	}

	if !tea.BoolValue(util.IsUnset(request.ZoneId)) {
		query["ZoneId"] = request.ZoneId
	}

	req := &openapi.OpenApiRequest{
		Query: openapiutil.Query(query),
	}
	params := &openapi.Params{
		Action:      tea.String("CreateDedicatedHost"),
		Version:     tea.String("2020-03-20"),
		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 = &CreateDedicatedHostResponse{}
	_body, _err := client.CallApi(params, req, runtime)
	if _err != nil {
		return _result, _err
	}
	_err = tea.Convert(_body, &_result)
	return _result, _err
}