mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-22 07:51:39 -04:00
148 lines
4.2 KiB
Go
148 lines
4.2 KiB
Go
// Copyright 2018 JDCLOUD.COM
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
// NOTE: This class is auto generated by the jdcloud code generator program.
|
|
|
|
package apis
|
|
|
|
import (
|
|
"github.com/jdcloud-api/jdcloud-sdk-go/core"
|
|
vm "github.com/jdcloud-api/jdcloud-sdk-go/services/vm/models"
|
|
)
|
|
|
|
type CreateInstancesRequest struct {
|
|
|
|
core.JDCloudRequest
|
|
|
|
/* 地域ID */
|
|
RegionId string `json:"regionId"`
|
|
|
|
/* 描述云主机配置
|
|
*/
|
|
InstanceSpec *vm.InstanceSpec `json:"instanceSpec"`
|
|
|
|
/* 购买云主机的数量;取值范围:[1,100],默认为1。
|
|
(Optional) */
|
|
MaxCount *int `json:"maxCount"`
|
|
|
|
/* 用于保证请求的幂等性。由客户端生成,长度不能超过64个字符。
|
|
(Optional) */
|
|
ClientToken *string `json:"clientToken"`
|
|
}
|
|
|
|
/*
|
|
* param regionId: 地域ID (Required)
|
|
* param instanceSpec: 描述云主机配置
|
|
(Required)
|
|
*
|
|
* @Deprecated, not compatible when mandatory parameters changed
|
|
*/
|
|
func NewCreateInstancesRequest(
|
|
regionId string,
|
|
instanceSpec *vm.InstanceSpec,
|
|
) *CreateInstancesRequest {
|
|
|
|
return &CreateInstancesRequest{
|
|
JDCloudRequest: core.JDCloudRequest{
|
|
URL: "/regions/{regionId}/instances",
|
|
Method: "POST",
|
|
Header: nil,
|
|
Version: "v1",
|
|
},
|
|
RegionId: regionId,
|
|
InstanceSpec: instanceSpec,
|
|
}
|
|
}
|
|
|
|
/*
|
|
* param regionId: 地域ID (Required)
|
|
* param instanceSpec: 描述云主机配置
|
|
(Required)
|
|
* param maxCount: 购买云主机的数量;取值范围:[1,100],默认为1。
|
|
(Optional)
|
|
* param clientToken: 用于保证请求的幂等性。由客户端生成,长度不能超过64个字符。
|
|
(Optional)
|
|
*/
|
|
func NewCreateInstancesRequestWithAllParams(
|
|
regionId string,
|
|
instanceSpec *vm.InstanceSpec,
|
|
maxCount *int,
|
|
clientToken *string,
|
|
) *CreateInstancesRequest {
|
|
|
|
return &CreateInstancesRequest{
|
|
JDCloudRequest: core.JDCloudRequest{
|
|
URL: "/regions/{regionId}/instances",
|
|
Method: "POST",
|
|
Header: nil,
|
|
Version: "v1",
|
|
},
|
|
RegionId: regionId,
|
|
InstanceSpec: instanceSpec,
|
|
MaxCount: maxCount,
|
|
ClientToken: clientToken,
|
|
}
|
|
}
|
|
|
|
/* This constructor has better compatible ability when API parameters changed */
|
|
func NewCreateInstancesRequestWithoutParam() *CreateInstancesRequest {
|
|
|
|
return &CreateInstancesRequest{
|
|
JDCloudRequest: core.JDCloudRequest{
|
|
URL: "/regions/{regionId}/instances",
|
|
Method: "POST",
|
|
Header: nil,
|
|
Version: "v1",
|
|
},
|
|
}
|
|
}
|
|
|
|
/* param regionId: 地域ID(Required) */
|
|
func (r *CreateInstancesRequest) SetRegionId(regionId string) {
|
|
r.RegionId = regionId
|
|
}
|
|
|
|
/* param instanceSpec: 描述云主机配置
|
|
(Required) */
|
|
func (r *CreateInstancesRequest) SetInstanceSpec(instanceSpec *vm.InstanceSpec) {
|
|
r.InstanceSpec = instanceSpec
|
|
}
|
|
|
|
/* param maxCount: 购买云主机的数量;取值范围:[1,100],默认为1。
|
|
(Optional) */
|
|
func (r *CreateInstancesRequest) SetMaxCount(maxCount int) {
|
|
r.MaxCount = &maxCount
|
|
}
|
|
|
|
/* param clientToken: 用于保证请求的幂等性。由客户端生成,长度不能超过64个字符。
|
|
(Optional) */
|
|
func (r *CreateInstancesRequest) SetClientToken(clientToken string) {
|
|
r.ClientToken = &clientToken
|
|
}
|
|
|
|
// GetRegionId returns path parameter 'regionId' if exist,
|
|
// otherwise return empty string
|
|
func (r CreateInstancesRequest) GetRegionId() string {
|
|
return r.RegionId
|
|
}
|
|
|
|
type CreateInstancesResponse struct {
|
|
RequestID string `json:"requestId"`
|
|
Error core.ErrorResponse `json:"error"`
|
|
Result CreateInstancesResult `json:"result"`
|
|
}
|
|
|
|
type CreateInstancesResult struct {
|
|
InstanceIds []string `json:"instanceIds"`
|
|
} |