// This file is auto-generated, don't edit it. Thanks. package client import ( openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" openapiutil "github.com/alibabacloud-go/darabonba-openapi/v2/utils" "github.com/alibabacloud-go/tea/dara" ) type Client struct { openapi.Client DisableSDKError *bool EnableValidate *bool } func NewClient(config *openapiutil.Config) (*Client, error) { client := new(Client) err := client.Init(config) return client, err } func (client *Client) Init(config *openapiutil.Config) (_err error) { _err = client.Client.Init(config) if _err != nil { return _err } client.EndpointRule = dara.String("regional") client.EndpointMap = map[string]*string{ "cn-hangzhou": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-shanghai-finance-1": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-shenzhen-finance-1": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-north-2-gov-1": dara.String("ecs.aliyuncs.com"), "ap-northeast-2-pop": dara.String("ecs.aliyuncs.com"), "cn-beijing-finance-pop": dara.String("ecs.aliyuncs.com"), "cn-beijing-gov-1": dara.String("ecs.aliyuncs.com"), "cn-beijing-nu16-b01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-edge-1": dara.String("ecs.cn-qingdao-nebula.aliyuncs.com"), "cn-fujian": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-haidian-cm12-c01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-hangzhou-bj-b01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-hangzhou-finance": dara.String("ecs.aliyuncs.com"), "cn-hangzhou-internal-prod-1": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-hangzhou-internal-test-1": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-hangzhou-internal-test-2": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-hangzhou-internal-test-3": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-hangzhou-test-306": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-hongkong-finance-pop": dara.String("ecs.aliyuncs.com"), "cn-huhehaote-nebula-1": dara.String("ecs.cn-qingdao-nebula.aliyuncs.com"), "cn-shanghai-et15-b01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-shanghai-et2-b01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-shanghai-inner": dara.String("ecs.aliyuncs.com"), "cn-shanghai-internal-test-1": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-shenzhen-inner": dara.String("ecs.aliyuncs.com"), "cn-shenzhen-st4-d01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-shenzhen-su18-b01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-wuhan": dara.String("ecs.aliyuncs.com"), "cn-yushanfang": dara.String("ecs.aliyuncs.com"), "cn-zhangbei": dara.String("ecs.aliyuncs.com"), "cn-zhangbei-na61-b01": dara.String("ecs-cn-hangzhou.aliyuncs.com"), "cn-zhangjiakou-na62-a01": dara.String("ecs.cn-zhangjiakou.aliyuncs.com"), "cn-zhengzhou-nebula-1": dara.String("ecs.cn-qingdao-nebula.aliyuncs.com"), "eu-west-1-oxs": dara.String("ecs.cn-shenzhen-cloudstone.aliyuncs.com"), "rus-west-1-pop": dara.String("ecs.aliyuncs.com"), } _err = client.CheckConfig(config) if _err != nil { return _err } client.Endpoint, _err = client.GetEndpoint(dara.String("ecs"), client.RegionId, client.EndpointRule, client.Network, client.Suffix, client.EndpointMap, client.Endpoint) if _err != nil { return _err } return nil } func (client *Client) GetEndpoint(productId *string, regionId *string, endpointRule *string, network *string, suffix *string, endpointMap map[string]*string, endpoint *string) (_result *string, _err error) { if !dara.IsNil(endpoint) { _result = endpoint return _result, _err } if !dara.IsNil(endpointMap) && !dara.IsNil(endpointMap[dara.StringValue(regionId)]) { _result = endpointMap[dara.StringValue(regionId)] return _result, _err } _body, _err := openapiutil.GetEndpointRules(productId, regionId, endpointRule, network, suffix) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // dubbo // // @param request - AcceptInquiredSystemEventRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AcceptInquiredSystemEventResponse func (client *Client) AcceptInquiredSystemEventWithOptions(request *AcceptInquiredSystemEventRequest, runtime *dara.RuntimeOptions) (_result *AcceptInquiredSystemEventResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Choice) { query["Choice"] = request.Choice } if !dara.IsNil(request.EventId) { query["EventId"] = request.EventId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AcceptInquiredSystemEvent"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AcceptInquiredSystemEventResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // dubbo // // @param request - AcceptInquiredSystemEventRequest // // @return AcceptInquiredSystemEventResponse func (client *Client) AcceptInquiredSystemEvent(request *AcceptInquiredSystemEventRequest) (_result *AcceptInquiredSystemEventResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AcceptInquiredSystemEventResponse{} _body, _err := client.AcceptInquiredSystemEventWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ActivateRouterInterface is deprecated, please use Vpc::2016-04-28::ActivateRouterInterface instead. // // Summary: // // # ActivateRouterInterface // // @param request - ActivateRouterInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ActivateRouterInterfaceResponse func (client *Client) ActivateRouterInterfaceWithOptions(request *ActivateRouterInterfaceRequest, runtime *dara.RuntimeOptions) (_result *ActivateRouterInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouterInterfaceId) { query["RouterInterfaceId"] = request.RouterInterfaceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ActivateRouterInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ActivateRouterInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ActivateRouterInterface is deprecated, please use Vpc::2016-04-28::ActivateRouterInterface instead. // // Summary: // // # ActivateRouterInterface // // @param request - ActivateRouterInterfaceRequest // // @return ActivateRouterInterfaceResponse // Deprecated func (client *Client) ActivateRouterInterface(request *ActivateRouterInterfaceRequest) (_result *ActivateRouterInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ActivateRouterInterfaceResponse{} _body, _err := client.ActivateRouterInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI AddBandwidthPackageIps is deprecated // // Summary: // // # AddBandwidthPackageIps // // @param request - AddBandwidthPackageIpsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AddBandwidthPackageIpsResponse func (client *Client) AddBandwidthPackageIpsWithOptions(request *AddBandwidthPackageIpsRequest, runtime *dara.RuntimeOptions) (_result *AddBandwidthPackageIpsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BandwidthPackageId) { query["BandwidthPackageId"] = request.BandwidthPackageId } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.IpCount) { query["IpCount"] = request.IpCount } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AddBandwidthPackageIps"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AddBandwidthPackageIpsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI AddBandwidthPackageIps is deprecated // // Summary: // // # AddBandwidthPackageIps // // @param request - AddBandwidthPackageIpsRequest // // @return AddBandwidthPackageIpsResponse // Deprecated func (client *Client) AddBandwidthPackageIps(request *AddBandwidthPackageIpsRequest) (_result *AddBandwidthPackageIpsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AddBandwidthPackageIpsResponse{} _body, _err := client.AddBandwidthPackageIpsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI AddTags is deprecated, please use Ecs::2014-05-26::TagResources instead. // // Summary: // // Adds tags to Elastic Compute Service (ECS) resources, or overwrites tags of ECS resources. You can add tags to ECS resources such as instances, disks, snapshots, images, and security groups for easy management. // // Description: // // When you call this operation, take note of the following items: // // - Up to 20 tags can be added to each ECS resource. // // - `Tag.N.Key` must match `Tag.N.Value` based on the value of N. // // - If you add a tag that has the same key (`Tag.N.Key`) as an existing tag on the specified resource, the new tag value (`Tag.N.Value`) overwrites the original tag value. // // @param request - AddTagsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AddTagsResponse func (client *Client) AddTagsWithOptions(request *AddTagsRequest, runtime *dara.RuntimeOptions) (_result *AddTagsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AddTags"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AddTagsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI AddTags is deprecated, please use Ecs::2014-05-26::TagResources instead. // // Summary: // // Adds tags to Elastic Compute Service (ECS) resources, or overwrites tags of ECS resources. You can add tags to ECS resources such as instances, disks, snapshots, images, and security groups for easy management. // // Description: // // When you call this operation, take note of the following items: // // - Up to 20 tags can be added to each ECS resource. // // - `Tag.N.Key` must match `Tag.N.Value` based on the value of N. // // - If you add a tag that has the same key (`Tag.N.Key`) as an existing tag on the specified resource, the new tag value (`Tag.N.Value`) overwrites the original tag value. // // @param request - AddTagsRequest // // @return AddTagsResponse // Deprecated func (client *Client) AddTags(request *AddTagsRequest) (_result *AddTagsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AddTagsResponse{} _body, _err := client.AddTagsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates pay-as-you-go or subscription dedicated hosts. A dedicated host is a physical server dedicated to a single tenant. You can create Elastic Compute Service (ECS) instances on a dedicated host and view the attributes of a dedicated host. // // Description: // // Before you create a dedicated host, you can call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation to query the resources available in a specific region or zone. // // We recommend that you understand the billing methods of resources before you create a dedicated host. You are charged for resources used by the created dedicated host. For more information, see [Billing overview](https://help.aliyun.com/document_detail/68978.html). // // - You can create up to 100 pay-as-you-go or subscription dedicated hosts at a time. // // - After a dedicated host is created, you can use the returned dedicated host ID as the value of a request parameter to call the [DescribeDedicatedHosts](https://help.aliyun.com/document_detail/134242.html) operation to query the state of the dedicated host. // // - After you submit a request to create a dedicated host, an error is returned if a specific parameter is invalid or if the requested resources are insufficient. For more information about error causes, see the "Error codes" section of this topic. // // - After a dedicated host is created, you can call the [ModifyInstanceDeployment](https://help.aliyun.com/document_detail/134248.html) operation to migrate ECS instances from a shared host to the dedicated host. You can also migrate ECS instances from another dedicated host to the created dedicated host. // // @param request - AllocateDedicatedHostsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AllocateDedicatedHostsResponse func (client *Client) AllocateDedicatedHostsWithOptions(request *AllocateDedicatedHostsRequest, runtime *dara.RuntimeOptions) (_result *AllocateDedicatedHostsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActionOnMaintenance) { query["ActionOnMaintenance"] = request.ActionOnMaintenance } if !dara.IsNil(request.AutoPlacement) { query["AutoPlacement"] = request.AutoPlacement } if !dara.IsNil(request.AutoReleaseTime) { query["AutoReleaseTime"] = request.AutoReleaseTime } if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.ChargeType) { query["ChargeType"] = request.ChargeType } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.CpuOverCommitRatio) { query["CpuOverCommitRatio"] = request.CpuOverCommitRatio } if !dara.IsNil(request.DedicatedHostClusterId) { query["DedicatedHostClusterId"] = request.DedicatedHostClusterId } if !dara.IsNil(request.DedicatedHostName) { query["DedicatedHostName"] = request.DedicatedHostName } if !dara.IsNil(request.DedicatedHostType) { query["DedicatedHostType"] = request.DedicatedHostType } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.MinQuantity) { query["MinQuantity"] = request.MinQuantity } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.Quantity) { query["Quantity"] = request.Quantity } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.NetworkAttributes) { query["NetworkAttributes"] = request.NetworkAttributes } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AllocateDedicatedHosts"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AllocateDedicatedHostsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates pay-as-you-go or subscription dedicated hosts. A dedicated host is a physical server dedicated to a single tenant. You can create Elastic Compute Service (ECS) instances on a dedicated host and view the attributes of a dedicated host. // // Description: // // Before you create a dedicated host, you can call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation to query the resources available in a specific region or zone. // // We recommend that you understand the billing methods of resources before you create a dedicated host. You are charged for resources used by the created dedicated host. For more information, see [Billing overview](https://help.aliyun.com/document_detail/68978.html). // // - You can create up to 100 pay-as-you-go or subscription dedicated hosts at a time. // // - After a dedicated host is created, you can use the returned dedicated host ID as the value of a request parameter to call the [DescribeDedicatedHosts](https://help.aliyun.com/document_detail/134242.html) operation to query the state of the dedicated host. // // - After you submit a request to create a dedicated host, an error is returned if a specific parameter is invalid or if the requested resources are insufficient. For more information about error causes, see the "Error codes" section of this topic. // // - After a dedicated host is created, you can call the [ModifyInstanceDeployment](https://help.aliyun.com/document_detail/134248.html) operation to migrate ECS instances from a shared host to the dedicated host. You can also migrate ECS instances from another dedicated host to the created dedicated host. // // @param request - AllocateDedicatedHostsRequest // // @return AllocateDedicatedHostsResponse func (client *Client) AllocateDedicatedHosts(request *AllocateDedicatedHostsRequest) (_result *AllocateDedicatedHostsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AllocateDedicatedHostsResponse{} _body, _err := client.AllocateDedicatedHostsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI AllocateEipAddress is deprecated, please use Vpc::2016-04-28::AllocateEipAddress instead. // // Summary: // // # AllocateEipAddress // // Description: // // > This operation has been upgraded. We recommend that you do not use it. For information about the new version of this operation, see [AllocateEipAddress](https://help.aliyun.com/document_detail/120192.html). // // @param request - AllocateEipAddressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AllocateEipAddressResponse func (client *Client) AllocateEipAddressWithOptions(request *AllocateEipAddressRequest, runtime *dara.RuntimeOptions) (_result *AllocateEipAddressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActivityId) { query["ActivityId"] = request.ActivityId } if !dara.IsNil(request.Bandwidth) { query["Bandwidth"] = request.Bandwidth } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ISP) { query["ISP"] = request.ISP } if !dara.IsNil(request.InternetChargeType) { query["InternetChargeType"] = request.InternetChargeType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AllocateEipAddress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AllocateEipAddressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI AllocateEipAddress is deprecated, please use Vpc::2016-04-28::AllocateEipAddress instead. // // Summary: // // # AllocateEipAddress // // Description: // // > This operation has been upgraded. We recommend that you do not use it. For information about the new version of this operation, see [AllocateEipAddress](https://help.aliyun.com/document_detail/120192.html). // // @param request - AllocateEipAddressRequest // // @return AllocateEipAddressResponse // Deprecated func (client *Client) AllocateEipAddress(request *AllocateEipAddressRequest) (_result *AllocateEipAddressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AllocateEipAddressResponse{} _body, _err := client.AllocateEipAddressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Assigns a static public IP address (also called system-assigned public IP address or auto-assigned public IP address) to an Elastic Compute Service (ECS) instance. // // Description: // // ### [](#)Precautions // // - The ECS instance to which you want to assign a static public IP address must be in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. // // - If `OperationLocks` in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an ECS instance, the instance is [locked for security reasons](https://help.aliyun.com/document_detail/25695.html) and cannot be assigned a static public IP address. // // - When you call the AllocatePublicIpAddress operation for an ECS instance, make sure that the public bandwidth of the instance is greater than 0 Mbit/s. You can call the [ModifyInstanceNetworkSpec](https://help.aliyun.com/document_detail/2679879.html) operation to change the public bandwidth. // // ### [](#)Considerations // // - Only users in the whitelist can specify `IpAddress` in the AllocatePublicIpAddress operation. If the public bandwidth of your ECS instance is greater than 0 Mbit/s, you can specify the ID of the instance (`InstanceId`) to randomly assign a static public IP address to the instance. If the public bandwidth of your ECS instance is 0 Mbit/s, you must call the [ModifyInstanceNetworkSpec](https://help.aliyun.com/document_detail/2679879.html) operation to increase the public bandwidth of the instance before you call the AllocatePublicIpAddress operation. // // - You can assign only one static public IP address to an ECS instance. If the instance already has a static public IP address, the static public IP address is returned for the `IpAddress` response parameter. // // - After you assign a static public IP address to an ECS instance, you must restart the instance ([RebootInstance](https://help.aliyun.com/document_detail/25502.html)) or start the instance ([StartInstance](https://help.aliyun.com/document_detail/25500.html)) for the public IP address to take effect. // // If an ECS instance resides in a virtual private cloud (VPC), you can assign a static public IP address to the instance or associate an elastic IP address (EIP) with the instance. For more information, see [AssociateEipAddress](https://help.aliyun.com/document_detail/2518064.html). // // @param request - AllocatePublicIpAddressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AllocatePublicIpAddressResponse func (client *Client) AllocatePublicIpAddressWithOptions(request *AllocatePublicIpAddressRequest, runtime *dara.RuntimeOptions) (_result *AllocatePublicIpAddressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.IpAddress) { query["IpAddress"] = request.IpAddress } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VlanId) { query["VlanId"] = request.VlanId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AllocatePublicIpAddress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AllocatePublicIpAddressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Assigns a static public IP address (also called system-assigned public IP address or auto-assigned public IP address) to an Elastic Compute Service (ECS) instance. // // Description: // // ### [](#)Precautions // // - The ECS instance to which you want to assign a static public IP address must be in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. // // - If `OperationLocks` in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an ECS instance, the instance is [locked for security reasons](https://help.aliyun.com/document_detail/25695.html) and cannot be assigned a static public IP address. // // - When you call the AllocatePublicIpAddress operation for an ECS instance, make sure that the public bandwidth of the instance is greater than 0 Mbit/s. You can call the [ModifyInstanceNetworkSpec](https://help.aliyun.com/document_detail/2679879.html) operation to change the public bandwidth. // // ### [](#)Considerations // // - Only users in the whitelist can specify `IpAddress` in the AllocatePublicIpAddress operation. If the public bandwidth of your ECS instance is greater than 0 Mbit/s, you can specify the ID of the instance (`InstanceId`) to randomly assign a static public IP address to the instance. If the public bandwidth of your ECS instance is 0 Mbit/s, you must call the [ModifyInstanceNetworkSpec](https://help.aliyun.com/document_detail/2679879.html) operation to increase the public bandwidth of the instance before you call the AllocatePublicIpAddress operation. // // - You can assign only one static public IP address to an ECS instance. If the instance already has a static public IP address, the static public IP address is returned for the `IpAddress` response parameter. // // - After you assign a static public IP address to an ECS instance, you must restart the instance ([RebootInstance](https://help.aliyun.com/document_detail/25502.html)) or start the instance ([StartInstance](https://help.aliyun.com/document_detail/25500.html)) for the public IP address to take effect. // // If an ECS instance resides in a virtual private cloud (VPC), you can assign a static public IP address to the instance or associate an elastic IP address (EIP) with the instance. For more information, see [AssociateEipAddress](https://help.aliyun.com/document_detail/2518064.html). // // @param request - AllocatePublicIpAddressRequest // // @return AllocatePublicIpAddressResponse func (client *Client) AllocatePublicIpAddress(request *AllocatePublicIpAddressRequest) (_result *AllocatePublicIpAddressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AllocatePublicIpAddressResponse{} _body, _err := client.AllocatePublicIpAddressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Applies an automatic snapshot policy to one or more cloud disks. You can call this operation to replace the automatic snapshot policy of a cloud disk. // // Description: // // ## [](#)Usage notes // // When you call this operation, note that: // // - You can apply only one automatic snapshot policy to each disk. // // - You can apply a single automatic snapshot policy to multiple disks. // // Feature changes: // // By default, only one policy can be applied to a single disk. After the feature is upgraded, a maximum of 10 automatic snapshot policies can be applied to a single disk at the same time to meet the backup requirements of multiple scenarios. // // If you need to apply for a whitelist to upgrade the feature, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket). // // After you upgrade the feature, take note of the following: // // - Each cloud disk supports up to 10 automatic snapshot policies. // // - If the target cloud disk already has an automatic snapshot policy applied, calling this operation will add to the existing policy rather than replace it. // // > To avoid unexpected fees, cancel the automatic snapshot policies that you no longer need. // // @param request - ApplyAutoSnapshotPolicyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ApplyAutoSnapshotPolicyResponse func (client *Client) ApplyAutoSnapshotPolicyWithOptions(request *ApplyAutoSnapshotPolicyRequest, runtime *dara.RuntimeOptions) (_result *ApplyAutoSnapshotPolicyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.AutoSnapshotPolicyId) { query["autoSnapshotPolicyId"] = request.AutoSnapshotPolicyId } if !dara.IsNil(request.DiskIds) { query["diskIds"] = request.DiskIds } if !dara.IsNil(request.RegionId) { query["regionId"] = request.RegionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ApplyAutoSnapshotPolicy"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ApplyAutoSnapshotPolicyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Applies an automatic snapshot policy to one or more cloud disks. You can call this operation to replace the automatic snapshot policy of a cloud disk. // // Description: // // ## [](#)Usage notes // // When you call this operation, note that: // // - You can apply only one automatic snapshot policy to each disk. // // - You can apply a single automatic snapshot policy to multiple disks. // // Feature changes: // // By default, only one policy can be applied to a single disk. After the feature is upgraded, a maximum of 10 automatic snapshot policies can be applied to a single disk at the same time to meet the backup requirements of multiple scenarios. // // If you need to apply for a whitelist to upgrade the feature, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket). // // After you upgrade the feature, take note of the following: // // - Each cloud disk supports up to 10 automatic snapshot policies. // // - If the target cloud disk already has an automatic snapshot policy applied, calling this operation will add to the existing policy rather than replace it. // // > To avoid unexpected fees, cancel the automatic snapshot policies that you no longer need. // // @param request - ApplyAutoSnapshotPolicyRequest // // @return ApplyAutoSnapshotPolicyResponse func (client *Client) ApplyAutoSnapshotPolicy(request *ApplyAutoSnapshotPolicyRequest) (_result *ApplyAutoSnapshotPolicyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ApplyAutoSnapshotPolicyResponse{} _body, _err := client.ApplyAutoSnapshotPolicyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Assigns one or more IPv6 addresses to an elastic network interface (ENI). // // Description: // // ## [](#)Usage notes // // You can specify IPv6 addresses in the CIDR block of the vSwitch to which the ENI is connected. You can also specify the number of IPv6 addresses that the system assigns to the ENI. Take note of the following items: // // - IPv6 must be enabled on the vSwitch to which the ENI is connected. For more information, see [Enable IPv6 for a vSwitch](https://help.aliyun.com/document_detail/98923.html). // // - The ENI must be in the Available (Available) or InUse (InUse) state. // // - If you want to assign IPv6 addresses to a primary ENI, make sure that the Elastic Compute Service (ECS) instance to which the ENI is attached is in the Running (Running) or Stopped (Stopped) state. // // - The maximum number of IPv6 addresses that can be assigned to an ENI varies based on the instance type of the instance to which the ENI is attached. // // - If the ENI is in the Available (Available) state, up to 10 IPv6 addresses can be assigned to the ENI. // // - If the ENI is attached to an ECS instance, the maximum number of IPv6 addresses that can be assigned to the ENI varies based on the instance type. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). // // - After the operation is called, you can obtain the IPv6 addresses that are assigned to the ENI from the response. // // @param request - AssignIpv6AddressesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AssignIpv6AddressesResponse func (client *Client) AssignIpv6AddressesWithOptions(request *AssignIpv6AddressesRequest, runtime *dara.RuntimeOptions) (_result *AssignIpv6AddressesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Ipv6Address) { query["Ipv6Address"] = request.Ipv6Address } if !dara.IsNil(request.Ipv6AddressCount) { query["Ipv6AddressCount"] = request.Ipv6AddressCount } if !dara.IsNil(request.Ipv6Prefix) { query["Ipv6Prefix"] = request.Ipv6Prefix } if !dara.IsNil(request.Ipv6PrefixCount) { query["Ipv6PrefixCount"] = request.Ipv6PrefixCount } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AssignIpv6Addresses"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AssignIpv6AddressesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Assigns one or more IPv6 addresses to an elastic network interface (ENI). // // Description: // // ## [](#)Usage notes // // You can specify IPv6 addresses in the CIDR block of the vSwitch to which the ENI is connected. You can also specify the number of IPv6 addresses that the system assigns to the ENI. Take note of the following items: // // - IPv6 must be enabled on the vSwitch to which the ENI is connected. For more information, see [Enable IPv6 for a vSwitch](https://help.aliyun.com/document_detail/98923.html). // // - The ENI must be in the Available (Available) or InUse (InUse) state. // // - If you want to assign IPv6 addresses to a primary ENI, make sure that the Elastic Compute Service (ECS) instance to which the ENI is attached is in the Running (Running) or Stopped (Stopped) state. // // - The maximum number of IPv6 addresses that can be assigned to an ENI varies based on the instance type of the instance to which the ENI is attached. // // - If the ENI is in the Available (Available) state, up to 10 IPv6 addresses can be assigned to the ENI. // // - If the ENI is attached to an ECS instance, the maximum number of IPv6 addresses that can be assigned to the ENI varies based on the instance type. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). // // - After the operation is called, you can obtain the IPv6 addresses that are assigned to the ENI from the response. // // @param request - AssignIpv6AddressesRequest // // @return AssignIpv6AddressesResponse func (client *Client) AssignIpv6Addresses(request *AssignIpv6AddressesRequest) (_result *AssignIpv6AddressesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AssignIpv6AddressesResponse{} _body, _err := client.AssignIpv6AddressesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Assigns secondary private IP addresses to an elastic network interface (ENI). You can specify available private IP addresses within the CIDR block of the vSwitch that is connected to the ENI. Alternatively, you can specify the number of private IP addresses that are automatically assigned from the CIDR block of the vSwitch to the ENI. // // Description: // // ## [](#)Usage notes // // - The ENI to which you want to assign IP prefixes must be in the Available (Available) or InUse (InUse) state. // // - When you assign private IP addresses to a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the Running (Running) or Stopped (Stopped) state. // // - When an ENI is in the Available state, you can assign up to 49 secondary private IP addresses to the ENI. When an ENI is attached to an instance, the number of secondary private IP addresses that can be assigned to the ENI varies based on the instance type. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). // // - After the operation is called, you can obtain the assigned secondary private IP addresses from the response. // // @param request - AssignPrivateIpAddressesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AssignPrivateIpAddressesResponse func (client *Client) AssignPrivateIpAddressesWithOptions(request *AssignPrivateIpAddressesRequest, runtime *dara.RuntimeOptions) (_result *AssignPrivateIpAddressesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Ipv4Prefix) { query["Ipv4Prefix"] = request.Ipv4Prefix } if !dara.IsNil(request.Ipv4PrefixCount) { query["Ipv4PrefixCount"] = request.Ipv4PrefixCount } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecondaryPrivateIpAddressCount) { query["SecondaryPrivateIpAddressCount"] = request.SecondaryPrivateIpAddressCount } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AssignPrivateIpAddresses"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AssignPrivateIpAddressesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Assigns secondary private IP addresses to an elastic network interface (ENI). You can specify available private IP addresses within the CIDR block of the vSwitch that is connected to the ENI. Alternatively, you can specify the number of private IP addresses that are automatically assigned from the CIDR block of the vSwitch to the ENI. // // Description: // // ## [](#)Usage notes // // - The ENI to which you want to assign IP prefixes must be in the Available (Available) or InUse (InUse) state. // // - When you assign private IP addresses to a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the Running (Running) or Stopped (Stopped) state. // // - When an ENI is in the Available state, you can assign up to 49 secondary private IP addresses to the ENI. When an ENI is attached to an instance, the number of secondary private IP addresses that can be assigned to the ENI varies based on the instance type. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). // // - After the operation is called, you can obtain the assigned secondary private IP addresses from the response. // // @param request - AssignPrivateIpAddressesRequest // // @return AssignPrivateIpAddressesResponse func (client *Client) AssignPrivateIpAddresses(request *AssignPrivateIpAddressesRequest) (_result *AssignPrivateIpAddressesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AssignPrivateIpAddressesResponse{} _body, _err := client.AssignPrivateIpAddressesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI AssociateEipAddress is deprecated, please use Vpc::2016-04-28::AssociateEipAddress instead. // // Summary: // // # AssociateEipAddress // // @param request - AssociateEipAddressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AssociateEipAddressResponse func (client *Client) AssociateEipAddressWithOptions(request *AssociateEipAddressRequest, runtime *dara.RuntimeOptions) (_result *AssociateEipAddressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationId) { query["AllocationId"] = request.AllocationId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AssociateEipAddress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AssociateEipAddressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI AssociateEipAddress is deprecated, please use Vpc::2016-04-28::AssociateEipAddress instead. // // Summary: // // # AssociateEipAddress // // @param request - AssociateEipAddressRequest // // @return AssociateEipAddressResponse // Deprecated func (client *Client) AssociateEipAddress(request *AssociateEipAddressRequest) (_result *AssociateEipAddressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AssociateEipAddressResponse{} _body, _err := client.AssociateEipAddressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI AssociateHaVip is deprecated, please use Vpc::2016-04-28::AssociateHaVip instead. // // Summary: // // # AssociateHaVip // // @param request - AssociateHaVipRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AssociateHaVipResponse func (client *Client) AssociateHaVipWithOptions(request *AssociateHaVipRequest, runtime *dara.RuntimeOptions) (_result *AssociateHaVipResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.HaVipId) { query["HaVipId"] = request.HaVipId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AssociateHaVip"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AssociateHaVipResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI AssociateHaVip is deprecated, please use Vpc::2016-04-28::AssociateHaVip instead. // // Summary: // // # AssociateHaVip // // @param request - AssociateHaVipRequest // // @return AssociateHaVipResponse // Deprecated func (client *Client) AssociateHaVip(request *AssociateHaVipRequest) (_result *AssociateHaVipResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AssociateHaVipResponse{} _body, _err := client.AssociateHaVipWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Links an instance that is deployed in the classic network to a virtual private cloud (VPC) by establishing a ClassicLink connection between the instance and the VPC. This way, the instance can communicate with cloud resources in the VPC over the internal network. // // Description: // // When you call this operation, take note of the following items: // // - The instance that you want to connect to a VPC must be in the **Running* - or **Stopped* - state. // // - The ClassicLink feature must be enabled for the destination VPC. For more information, see [Create a ClassicLink connection](https://help.aliyun.com/document_detail/65413.html). // // - The instance and the VPC must reside in the same region. // // @param request - AttachClassicLinkVpcRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AttachClassicLinkVpcResponse func (client *Client) AttachClassicLinkVpcWithOptions(request *AttachClassicLinkVpcRequest, runtime *dara.RuntimeOptions) (_result *AttachClassicLinkVpcResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AttachClassicLinkVpc"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AttachClassicLinkVpcResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Links an instance that is deployed in the classic network to a virtual private cloud (VPC) by establishing a ClassicLink connection between the instance and the VPC. This way, the instance can communicate with cloud resources in the VPC over the internal network. // // Description: // // When you call this operation, take note of the following items: // // - The instance that you want to connect to a VPC must be in the **Running* - or **Stopped* - state. // // - The ClassicLink feature must be enabled for the destination VPC. For more information, see [Create a ClassicLink connection](https://help.aliyun.com/document_detail/65413.html). // // - The instance and the VPC must reside in the same region. // // @param request - AttachClassicLinkVpcRequest // // @return AttachClassicLinkVpcResponse func (client *Client) AttachClassicLinkVpc(request *AttachClassicLinkVpcRequest) (_result *AttachClassicLinkVpcResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AttachClassicLinkVpcResponse{} _body, _err := client.AttachClassicLinkVpcWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Attaches a pay-as-you-go data disk or a system disk to an Elastic Compute Service (ECS) instance. // // Description: // // Take note of the following items: // // - The ECS instance and the disk must reside in the same zone. // // - The disk must be in the **Unattached* - (`Available`) state. // // - When you attach the disk as a data disk to an ECS instance, take note of the following items: // // - The ECS instance must be in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. // // - If the disk was separately purchased, the billing method of the disk must be pay-as-you-go. // // - If the disk is a system disk that was detached from an ECS instance, no limits apply to the billing method of the disk. // // - If the disk is an elastic ephemeral disk that was detached from an ECS instance, the disk can be attached only to the instance. // // - When you attach the disk as the system disk to an ECS instance, take note of the following items: // // - The ECS instance must be the original instance from which the system disk was detached. // // - The ECS instance must be in the **Stopped* - (`Stopped`) state. // // - You must configure logon credentials for the ECS instance. // // - The disk cannot be an elastic ephemeral disk. // // - For more information about how to attach a system disk, see [Detach or attach a system disk](https://help.aliyun.com/document_detail/146752.html). // // - If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an ECS instance, the instance is locked for security reasons. No operations are allowed on the instance. // // @param request - AttachDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AttachDiskResponse func (client *Client) AttachDiskWithOptions(request *AttachDiskRequest, runtime *dara.RuntimeOptions) (_result *AttachDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Bootable) { query["Bootable"] = request.Bootable } if !dara.IsNil(request.DeleteWithInstance) { query["DeleteWithInstance"] = request.DeleteWithInstance } if !dara.IsNil(request.Device) { query["Device"] = request.Device } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Password) { query["Password"] = request.Password } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AttachDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AttachDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Attaches a pay-as-you-go data disk or a system disk to an Elastic Compute Service (ECS) instance. // // Description: // // Take note of the following items: // // - The ECS instance and the disk must reside in the same zone. // // - The disk must be in the **Unattached* - (`Available`) state. // // - When you attach the disk as a data disk to an ECS instance, take note of the following items: // // - The ECS instance must be in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. // // - If the disk was separately purchased, the billing method of the disk must be pay-as-you-go. // // - If the disk is a system disk that was detached from an ECS instance, no limits apply to the billing method of the disk. // // - If the disk is an elastic ephemeral disk that was detached from an ECS instance, the disk can be attached only to the instance. // // - When you attach the disk as the system disk to an ECS instance, take note of the following items: // // - The ECS instance must be the original instance from which the system disk was detached. // // - The ECS instance must be in the **Stopped* - (`Stopped`) state. // // - You must configure logon credentials for the ECS instance. // // - The disk cannot be an elastic ephemeral disk. // // - For more information about how to attach a system disk, see [Detach or attach a system disk](https://help.aliyun.com/document_detail/146752.html). // // - If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an ECS instance, the instance is locked for security reasons. No operations are allowed on the instance. // // @param request - AttachDiskRequest // // @return AttachDiskResponse func (client *Client) AttachDisk(request *AttachDiskRequest) (_result *AttachDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AttachDiskResponse{} _body, _err := client.AttachDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Attaches an instance Resource Access Management (RAM) role to Elastic Compute Service (ECS) instances. // // Description: // // You can call the [DescribeInstanceRamRole](https://help.aliyun.com/document_detail/2679686.html) operation to query the [instance RAM roles](https://help.aliyun.com/document_detail/61175.html) that are attached to ECS instances. // // > If an ECS instance already has an instance RAM role, an error is returned when you attach another instance RAM role to the instance. // // @param request - AttachInstanceRamRoleRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AttachInstanceRamRoleResponse func (client *Client) AttachInstanceRamRoleWithOptions(request *AttachInstanceRamRoleRequest, runtime *dara.RuntimeOptions) (_result *AttachInstanceRamRoleResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Policy) { query["Policy"] = request.Policy } if !dara.IsNil(request.RamRoleName) { query["RamRoleName"] = request.RamRoleName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AttachInstanceRamRole"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AttachInstanceRamRoleResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Attaches an instance Resource Access Management (RAM) role to Elastic Compute Service (ECS) instances. // // Description: // // You can call the [DescribeInstanceRamRole](https://help.aliyun.com/document_detail/2679686.html) operation to query the [instance RAM roles](https://help.aliyun.com/document_detail/61175.html) that are attached to ECS instances. // // > If an ECS instance already has an instance RAM role, an error is returned when you attach another instance RAM role to the instance. // // @param request - AttachInstanceRamRoleRequest // // @return AttachInstanceRamRoleResponse func (client *Client) AttachInstanceRamRole(request *AttachInstanceRamRoleRequest) (_result *AttachInstanceRamRoleResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AttachInstanceRamRoleResponse{} _body, _err := client.AttachInstanceRamRoleWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Binds an SSH key pair to one or more Linux instances. // // Description: // // Take note of the following items: // // - SSH key pairs are not supported on Windows instances. // // - If an SSH key pair is bound to an instance, authentication by using the username and password is disabled for the instance. // // - If you bind an SSH key pair to an instance in the **running* - state, you must call the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation to restart the instance for the key pair to take effect. // // - If you bind an SSH key pair to an instance in the **stopped* - state, you must call the [StartInstance](https://help.aliyun.com/document_detail/25500.html) operation to start the instance for the key pair to take effect. // // - If an instance is already bound to an SSH key pair, the new SSH key pair will replace the original one. // // @param request - AttachKeyPairRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AttachKeyPairResponse func (client *Client) AttachKeyPairWithOptions(request *AttachKeyPairRequest, runtime *dara.RuntimeOptions) (_result *AttachKeyPairResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AttachKeyPair"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AttachKeyPairResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Binds an SSH key pair to one or more Linux instances. // // Description: // // Take note of the following items: // // - SSH key pairs are not supported on Windows instances. // // - If an SSH key pair is bound to an instance, authentication by using the username and password is disabled for the instance. // // - If you bind an SSH key pair to an instance in the **running* - state, you must call the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation to restart the instance for the key pair to take effect. // // - If you bind an SSH key pair to an instance in the **stopped* - state, you must call the [StartInstance](https://help.aliyun.com/document_detail/25500.html) operation to start the instance for the key pair to take effect. // // - If an instance is already bound to an SSH key pair, the new SSH key pair will replace the original one. // // @param request - AttachKeyPairRequest // // @return AttachKeyPairResponse func (client *Client) AttachKeyPair(request *AttachKeyPairRequest) (_result *AttachKeyPairResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AttachKeyPairResponse{} _body, _err := client.AttachKeyPairWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Attaches an elastic network interface (ENI) to an Elastic Compute Service (ECS) instance that resides in a virtual private cloud (VPC). When you call this operation, you can specify parameters, such as NetworkInterfaceId, InstanceId, and NetworkCardIndex, in the request. // // Description: // // Take note of the following items: // // - The ENI must be in the **Available* - state. You can attach an ENI to only one instance that resides in the same zone and VPC as the ENI. // // - The instance must be in the Running or Stopped state. When you attach ENIs to instances of specific instance types, make sure that the instances are in the Stopped state. For more information, see the "Instance types of the ECS instances that must be in the Stopped (Stopped) state" section in the [Bind an ENI](https://help.aliyun.com/document_detail/58503.html) topic. // // >If the last start time of the instance (including the start time of the instance if it is a new instance, the last restart time of the instance, and the last reactivation time of the instance) is before April 1st, 2018 and the instance is in the Running state, you must call the RebootInstance operation to restart the instance. If you do not call the RebootInstance operation to restart the instance, you cannot attach the ENI to the instance. // // - You can attach multiple ENIs to one instance. For more information, see [ENI overview](https://help.aliyun.com/document_detail/58496.html). // // - The vSwitch to which the ENI is connected must be in the same zone and VPC as the vSwitch to which the instance is connected. // // - This operation is an asynchronous operation. After you call this operation to attach an ENI, you can view the status or events of the ENI to check whether the ENI is attached. The following figure shows the transitions between the statuses of the ENI. // // ![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/en-US/20230223/vqky/AttachNetworkInterface.png) // // - If the ENI is in the Attaching state, the ENI attachment request is sent and the ENI is being attached to the specified instance. // // - If the ENI is in the InUse state, the ENI is attached to the specified instance. // // - If the ENI is in the Available state, the ENI failed to be attached. // // **For examples on how to call this operation, see* - [Attach an ENI](https://help.aliyun.com/document_detail/471550.html). // // @param request - AttachNetworkInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AttachNetworkInterfaceResponse func (client *Client) AttachNetworkInterfaceWithOptions(request *AttachNetworkInterfaceRequest, runtime *dara.RuntimeOptions) (_result *AttachNetworkInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.NetworkCardIndex) { query["NetworkCardIndex"] = request.NetworkCardIndex } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TrunkNetworkInstanceId) { query["TrunkNetworkInstanceId"] = request.TrunkNetworkInstanceId } if !dara.IsNil(request.WaitForNetworkConfigurationReady) { query["WaitForNetworkConfigurationReady"] = request.WaitForNetworkConfigurationReady } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AttachNetworkInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AttachNetworkInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Attaches an elastic network interface (ENI) to an Elastic Compute Service (ECS) instance that resides in a virtual private cloud (VPC). When you call this operation, you can specify parameters, such as NetworkInterfaceId, InstanceId, and NetworkCardIndex, in the request. // // Description: // // Take note of the following items: // // - The ENI must be in the **Available* - state. You can attach an ENI to only one instance that resides in the same zone and VPC as the ENI. // // - The instance must be in the Running or Stopped state. When you attach ENIs to instances of specific instance types, make sure that the instances are in the Stopped state. For more information, see the "Instance types of the ECS instances that must be in the Stopped (Stopped) state" section in the [Bind an ENI](https://help.aliyun.com/document_detail/58503.html) topic. // // >If the last start time of the instance (including the start time of the instance if it is a new instance, the last restart time of the instance, and the last reactivation time of the instance) is before April 1st, 2018 and the instance is in the Running state, you must call the RebootInstance operation to restart the instance. If you do not call the RebootInstance operation to restart the instance, you cannot attach the ENI to the instance. // // - You can attach multiple ENIs to one instance. For more information, see [ENI overview](https://help.aliyun.com/document_detail/58496.html). // // - The vSwitch to which the ENI is connected must be in the same zone and VPC as the vSwitch to which the instance is connected. // // - This operation is an asynchronous operation. After you call this operation to attach an ENI, you can view the status or events of the ENI to check whether the ENI is attached. The following figure shows the transitions between the statuses of the ENI. // // ![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/en-US/20230223/vqky/AttachNetworkInterface.png) // // - If the ENI is in the Attaching state, the ENI attachment request is sent and the ENI is being attached to the specified instance. // // - If the ENI is in the InUse state, the ENI is attached to the specified instance. // // - If the ENI is in the Available state, the ENI failed to be attached. // // **For examples on how to call this operation, see* - [Attach an ENI](https://help.aliyun.com/document_detail/471550.html). // // @param request - AttachNetworkInterfaceRequest // // @return AttachNetworkInterfaceResponse func (client *Client) AttachNetworkInterface(request *AttachNetworkInterfaceRequest) (_result *AttachNetworkInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AttachNetworkInterfaceResponse{} _body, _err := client.AttachNetworkInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates inbound security group rules in a security group. You can use the created rules to allow or deny inbound traffic from other objects to Elastic Compute Service (ECS) instances in the security group for fine-grained network access control. // // Description: // // ### [](#)Precautions // // - **Quantity limit**: The maximum number of inbound and outbound rules in all security groups associated with an elastic network interface (ENI) cannot exceed 1,000. For more information, see the [Security groups](~~25412#SecurityGroupQuota1~~) section of the "Limits and quotas on ECS" topic. // // - **Rule priorities**: For inbound security group rules, the valid values of Priority range from 1 to 100. A smaller value indicates a higher priority. When multiple security group rules have the same priority, drop rules take precedence. // // ### [](#)Considerations // // If the security group rule that you call the AuthorizeSecurityGroup operation to create exists in the security group, the call is successful but no security group rule is created. // // ### [](#)Parameters that define a security group rule // // Define an inbound security group rule by configuring the following parameters together: // // - Source: You can specify one parameter from SourceCidrIp (IPv4 address), Ipv6SourceCidrIp (IPv6 address), SourcetPrefixListId (prefix list ID), and SourceGroupId (source security group ID). // // - PortRange: specifies the range of destination port numbers. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > Advanced security groups do not support security group rules that reference security groups as authorization objects. Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects. // // ### [](#)Sample requests // // Sample requests to create inbound security group rules that control access from different sources in a security group in the China (Hangzhou) region: // // - Sample request to create an inbound security group rule that controls access from a specific CIDR block: // // "RegionId":"cn-hangzhou", // Specify the region. // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // Specify the security group. // // "Permissions":[ // // { // // "SourceCidrIp":"10.0.0.0/8", // Specify the source IPv4 CIDR block. // // "PortRange":"22/22", // Specify the port range. // // "IpProtocol":"TCP", // Specify the protocol. // // "Policy":"Accept" // Specify the action. // // } // // ] // // - Sample request to create an inbound security group rule that controls access from a security group and an inbound security group rule that controls access from a prefix list: // // "RegionId":"cn-hangzhou", // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourceGroupId":"sg-bp17vs63txqxbd****", // Specify the source security group. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // },{ // // "SourcePrefixListId":"pl-x1j1k5ykzqlixdcy****", // Specify the source prefix list. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // } // // ] // // @param request - AuthorizeSecurityGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AuthorizeSecurityGroupResponse func (client *Client) AuthorizeSecurityGroupWithOptions(request *AuthorizeSecurityGroupRequest, runtime *dara.RuntimeOptions) (_result *AuthorizeSecurityGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DestCidrIp) { query["DestCidrIp"] = request.DestCidrIp } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.Ipv6DestCidrIp) { query["Ipv6DestCidrIp"] = request.Ipv6DestCidrIp } if !dara.IsNil(request.Ipv6SourceCidrIp) { query["Ipv6SourceCidrIp"] = request.Ipv6SourceCidrIp } if !dara.IsNil(request.NicType) { query["NicType"] = request.NicType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Permissions) { query["Permissions"] = request.Permissions } if !dara.IsNil(request.Policy) { query["Policy"] = request.Policy } if !dara.IsNil(request.PortRange) { query["PortRange"] = request.PortRange } if !dara.IsNil(request.Priority) { query["Priority"] = request.Priority } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SourceCidrIp) { query["SourceCidrIp"] = request.SourceCidrIp } if !dara.IsNil(request.SourceGroupId) { query["SourceGroupId"] = request.SourceGroupId } if !dara.IsNil(request.SourceGroupOwnerAccount) { query["SourceGroupOwnerAccount"] = request.SourceGroupOwnerAccount } if !dara.IsNil(request.SourceGroupOwnerId) { query["SourceGroupOwnerId"] = request.SourceGroupOwnerId } if !dara.IsNil(request.SourcePortRange) { query["SourcePortRange"] = request.SourcePortRange } if !dara.IsNil(request.SourcePrefixListId) { query["SourcePrefixListId"] = request.SourcePrefixListId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AuthorizeSecurityGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AuthorizeSecurityGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates inbound security group rules in a security group. You can use the created rules to allow or deny inbound traffic from other objects to Elastic Compute Service (ECS) instances in the security group for fine-grained network access control. // // Description: // // ### [](#)Precautions // // - **Quantity limit**: The maximum number of inbound and outbound rules in all security groups associated with an elastic network interface (ENI) cannot exceed 1,000. For more information, see the [Security groups](~~25412#SecurityGroupQuota1~~) section of the "Limits and quotas on ECS" topic. // // - **Rule priorities**: For inbound security group rules, the valid values of Priority range from 1 to 100. A smaller value indicates a higher priority. When multiple security group rules have the same priority, drop rules take precedence. // // ### [](#)Considerations // // If the security group rule that you call the AuthorizeSecurityGroup operation to create exists in the security group, the call is successful but no security group rule is created. // // ### [](#)Parameters that define a security group rule // // Define an inbound security group rule by configuring the following parameters together: // // - Source: You can specify one parameter from SourceCidrIp (IPv4 address), Ipv6SourceCidrIp (IPv6 address), SourcetPrefixListId (prefix list ID), and SourceGroupId (source security group ID). // // - PortRange: specifies the range of destination port numbers. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > Advanced security groups do not support security group rules that reference security groups as authorization objects. Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects. // // ### [](#)Sample requests // // Sample requests to create inbound security group rules that control access from different sources in a security group in the China (Hangzhou) region: // // - Sample request to create an inbound security group rule that controls access from a specific CIDR block: // // "RegionId":"cn-hangzhou", // Specify the region. // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // Specify the security group. // // "Permissions":[ // // { // // "SourceCidrIp":"10.0.0.0/8", // Specify the source IPv4 CIDR block. // // "PortRange":"22/22", // Specify the port range. // // "IpProtocol":"TCP", // Specify the protocol. // // "Policy":"Accept" // Specify the action. // // } // // ] // // - Sample request to create an inbound security group rule that controls access from a security group and an inbound security group rule that controls access from a prefix list: // // "RegionId":"cn-hangzhou", // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourceGroupId":"sg-bp17vs63txqxbd****", // Specify the source security group. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // },{ // // "SourcePrefixListId":"pl-x1j1k5ykzqlixdcy****", // Specify the source prefix list. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // } // // ] // // @param request - AuthorizeSecurityGroupRequest // // @return AuthorizeSecurityGroupResponse func (client *Client) AuthorizeSecurityGroup(request *AuthorizeSecurityGroupRequest) (_result *AuthorizeSecurityGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AuthorizeSecurityGroupResponse{} _body, _err := client.AuthorizeSecurityGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates outbound rules in a security group. You can use the created rules to allow or deny outbound traffic from Elastic Compute Service (ECS) instances in the security group to other objects for fine-grained network access control. // // Description: // // ### [](#)Precautions // // - **Quantity limit**: The maximum number of inbound and outbound rules in all security groups associated with an elastic network interface (ENI) cannot exceed 1,000. For more information, see the [Security group limits](~~25412#SecurityGroupQuota1~~) section of the "Limits" topic. // // - **Rule priorities**: For outbound security group rules, the valid values of Priority range from 1 to 100. A smaller value indicates a higher priority. When multiple security group rules have the same priority, drop rules take precedence. // // ### [](#)Considerations // // If the security group rule that you call the AuthorizeSecurityGroupEgress operation to create exists in the security group, the call is successful but no security group rule is created. // // ### [](#)Parameters that define a security group rule // // Define an outbound security group rule by configuring the following parameters together: // // - One of the following parameters: DestCidrIp, Ipv6DestCidrIp, DestPrefixListId, and DestGroupId. DestCidrIp specifies the destination IPv4 CIDR block. Ipv6DestCidrIp specifies the destination IPv6 CIDR block. DestPrefixListId specifies the ID of the destination prefix list. DestGroupId specifies the destination security group. // // - PortRange: specifies the range of destination port numbers. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > Advanced security groups do not support security group rules that reference security groups as authorization objects. Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects. // // ### [](#)Sample requests // // Sample requests to create outbound security group rules that control access to different destinations in a security group in the China (Hangzhou) region: // // - Sample request to create an outbound security group rule that controls access to a specified CIDR block: // // "RegionId":"cn-hangzhou", // The region ID. // // "SecurityGroupId":"sg-bp17vs63txqxbds9***", // The ID of the source security group. // // "Permissions":[ // // { // // "DestCidrIp":"10.0.0.0/8", // The destination IPv4 CIDR block. // // "PortRange":"-1/-1", // The range of destination port numbers. // // "IpProtocol":"ICMP", //T he protocol. "Policy":"Accept" // Specify the action. // // } // // ] // // - Sample request to create an outbound security group rule that controls access to a security group and an outbound security group rule that controls access to a prefix list: // // "RegionId":"cn-hangzhou", // // "SecurityGroupId":"sg-bp17vs63txqxbds9***", // // "Permissions":[ // // { // // "DestGroupId":"sg-bp67acfmxazb4pi***", // The ID of the destination security group. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // },{ // // "DestPrefixListId":"pl-x1j1k5ykzqlixdcy****", // The destination prefix list. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // } // // ] // // @param request - AuthorizeSecurityGroupEgressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return AuthorizeSecurityGroupEgressResponse func (client *Client) AuthorizeSecurityGroupEgressWithOptions(request *AuthorizeSecurityGroupEgressRequest, runtime *dara.RuntimeOptions) (_result *AuthorizeSecurityGroupEgressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DestCidrIp) { query["DestCidrIp"] = request.DestCidrIp } if !dara.IsNil(request.DestGroupId) { query["DestGroupId"] = request.DestGroupId } if !dara.IsNil(request.DestGroupOwnerAccount) { query["DestGroupOwnerAccount"] = request.DestGroupOwnerAccount } if !dara.IsNil(request.DestGroupOwnerId) { query["DestGroupOwnerId"] = request.DestGroupOwnerId } if !dara.IsNil(request.DestPrefixListId) { query["DestPrefixListId"] = request.DestPrefixListId } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.Ipv6DestCidrIp) { query["Ipv6DestCidrIp"] = request.Ipv6DestCidrIp } if !dara.IsNil(request.Ipv6SourceCidrIp) { query["Ipv6SourceCidrIp"] = request.Ipv6SourceCidrIp } if !dara.IsNil(request.NicType) { query["NicType"] = request.NicType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Permissions) { query["Permissions"] = request.Permissions } if !dara.IsNil(request.Policy) { query["Policy"] = request.Policy } if !dara.IsNil(request.PortRange) { query["PortRange"] = request.PortRange } if !dara.IsNil(request.Priority) { query["Priority"] = request.Priority } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SourceCidrIp) { query["SourceCidrIp"] = request.SourceCidrIp } if !dara.IsNil(request.SourcePortRange) { query["SourcePortRange"] = request.SourcePortRange } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("AuthorizeSecurityGroupEgress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &AuthorizeSecurityGroupEgressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates outbound rules in a security group. You can use the created rules to allow or deny outbound traffic from Elastic Compute Service (ECS) instances in the security group to other objects for fine-grained network access control. // // Description: // // ### [](#)Precautions // // - **Quantity limit**: The maximum number of inbound and outbound rules in all security groups associated with an elastic network interface (ENI) cannot exceed 1,000. For more information, see the [Security group limits](~~25412#SecurityGroupQuota1~~) section of the "Limits" topic. // // - **Rule priorities**: For outbound security group rules, the valid values of Priority range from 1 to 100. A smaller value indicates a higher priority. When multiple security group rules have the same priority, drop rules take precedence. // // ### [](#)Considerations // // If the security group rule that you call the AuthorizeSecurityGroupEgress operation to create exists in the security group, the call is successful but no security group rule is created. // // ### [](#)Parameters that define a security group rule // // Define an outbound security group rule by configuring the following parameters together: // // - One of the following parameters: DestCidrIp, Ipv6DestCidrIp, DestPrefixListId, and DestGroupId. DestCidrIp specifies the destination IPv4 CIDR block. Ipv6DestCidrIp specifies the destination IPv6 CIDR block. DestPrefixListId specifies the ID of the destination prefix list. DestGroupId specifies the destination security group. // // - PortRange: specifies the range of destination port numbers. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > Advanced security groups do not support security group rules that reference security groups as authorization objects. Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects. // // ### [](#)Sample requests // // Sample requests to create outbound security group rules that control access to different destinations in a security group in the China (Hangzhou) region: // // - Sample request to create an outbound security group rule that controls access to a specified CIDR block: // // "RegionId":"cn-hangzhou", // The region ID. // // "SecurityGroupId":"sg-bp17vs63txqxbds9***", // The ID of the source security group. // // "Permissions":[ // // { // // "DestCidrIp":"10.0.0.0/8", // The destination IPv4 CIDR block. // // "PortRange":"-1/-1", // The range of destination port numbers. // // "IpProtocol":"ICMP", //T he protocol. "Policy":"Accept" // Specify the action. // // } // // ] // // - Sample request to create an outbound security group rule that controls access to a security group and an outbound security group rule that controls access to a prefix list: // // "RegionId":"cn-hangzhou", // // "SecurityGroupId":"sg-bp17vs63txqxbds9***", // // "Permissions":[ // // { // // "DestGroupId":"sg-bp67acfmxazb4pi***", // The ID of the destination security group. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // },{ // // "DestPrefixListId":"pl-x1j1k5ykzqlixdcy****", // The destination prefix list. // // "PortRange":"22/22", // // "IpProtocol":"TCP", // // "Policy":"Drop" // // } // // ] // // @param request - AuthorizeSecurityGroupEgressRequest // // @return AuthorizeSecurityGroupEgressResponse func (client *Client) AuthorizeSecurityGroupEgress(request *AuthorizeSecurityGroupEgressRequest) (_result *AuthorizeSecurityGroupEgressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &AuthorizeSecurityGroupEgressResponse{} _body, _err := client.AuthorizeSecurityGroupEgressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Disables automatic snapshot policies for one or more disks. // // @param request - CancelAutoSnapshotPolicyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CancelAutoSnapshotPolicyResponse func (client *Client) CancelAutoSnapshotPolicyWithOptions(request *CancelAutoSnapshotPolicyRequest, runtime *dara.RuntimeOptions) (_result *CancelAutoSnapshotPolicyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.AutoSnapshotPolicyId) { query["autoSnapshotPolicyId"] = request.AutoSnapshotPolicyId } if !dara.IsNil(request.DiskIds) { query["diskIds"] = request.DiskIds } if !dara.IsNil(request.RegionId) { query["regionId"] = request.RegionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CancelAutoSnapshotPolicy"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CancelAutoSnapshotPolicyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Disables automatic snapshot policies for one or more disks. // // @param request - CancelAutoSnapshotPolicyRequest // // @return CancelAutoSnapshotPolicyResponse func (client *Client) CancelAutoSnapshotPolicy(request *CancelAutoSnapshotPolicyRequest) (_result *CancelAutoSnapshotPolicyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CancelAutoSnapshotPolicyResponse{} _body, _err := client.CancelAutoSnapshotPolicyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Cancels an ongoing image copy task. // // Description: // // When you call this operation, take note of the following items: // // - After you cancel an image copy task, the image copy created in the destination region is deleted, and the copied image remains unchanged. // // - If the image copy task is complete, the CancelCopyImage operation fails, and an error is returned. // // @param request - CancelCopyImageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CancelCopyImageResponse func (client *Client) CancelCopyImageWithOptions(request *CancelCopyImageRequest, runtime *dara.RuntimeOptions) (_result *CancelCopyImageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CancelCopyImage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CancelCopyImageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Cancels an ongoing image copy task. // // Description: // // When you call this operation, take note of the following items: // // - After you cancel an image copy task, the image copy created in the destination region is deleted, and the copied image remains unchanged. // // - If the image copy task is complete, the CancelCopyImage operation fails, and an error is returned. // // @param request - CancelCopyImageRequest // // @return CancelCopyImageResponse func (client *Client) CancelCopyImage(request *CancelCopyImageRequest) (_result *CancelCopyImageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CancelCopyImageResponse{} _body, _err := client.CancelCopyImageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Cancels an image building task. // // Description: // // Before you call the CancelImagePipelineExecution operation, make sure that the image building task to be canceled is in the BUILDING, PREPARING, or REPAIRING state. // // @param request - CancelImagePipelineExecutionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CancelImagePipelineExecutionResponse func (client *Client) CancelImagePipelineExecutionWithOptions(request *CancelImagePipelineExecutionRequest, runtime *dara.RuntimeOptions) (_result *CancelImagePipelineExecutionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ExecutionId) { query["ExecutionId"] = request.ExecutionId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TemplateTag) { query["TemplateTag"] = request.TemplateTag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CancelImagePipelineExecution"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CancelImagePipelineExecutionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Cancels an image building task. // // Description: // // Before you call the CancelImagePipelineExecution operation, make sure that the image building task to be canceled is in the BUILDING, PREPARING, or REPAIRING state. // // @param request - CancelImagePipelineExecutionRequest // // @return CancelImagePipelineExecutionResponse func (client *Client) CancelImagePipelineExecution(request *CancelImagePipelineExecutionRequest) (_result *CancelImagePipelineExecutionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CancelImagePipelineExecutionResponse{} _body, _err := client.CancelImagePipelineExecutionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CancelPhysicalConnection is deprecated, please use Vpc::2016-04-28::CancelPhysicalConnection instead. // // Summary: // // # CancelPhysicalConnection // // @param request - CancelPhysicalConnectionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CancelPhysicalConnectionResponse func (client *Client) CancelPhysicalConnectionWithOptions(request *CancelPhysicalConnectionRequest, runtime *dara.RuntimeOptions) (_result *CancelPhysicalConnectionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PhysicalConnectionId) { query["PhysicalConnectionId"] = request.PhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CancelPhysicalConnection"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CancelPhysicalConnectionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CancelPhysicalConnection is deprecated, please use Vpc::2016-04-28::CancelPhysicalConnection instead. // // Summary: // // # CancelPhysicalConnection // // @param request - CancelPhysicalConnectionRequest // // @return CancelPhysicalConnectionResponse // Deprecated func (client *Client) CancelPhysicalConnection(request *CancelPhysicalConnectionRequest) (_result *CancelPhysicalConnectionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CancelPhysicalConnectionResponse{} _body, _err := client.CancelPhysicalConnectionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Cancels simulated system events that are in the Scheduled or Executing state. After you cancel a simulated system event, the simulated event enters the Canceled state. // // @param request - CancelSimulatedSystemEventsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CancelSimulatedSystemEventsResponse func (client *Client) CancelSimulatedSystemEventsWithOptions(request *CancelSimulatedSystemEventsRequest, runtime *dara.RuntimeOptions) (_result *CancelSimulatedSystemEventsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EventId) { query["EventId"] = request.EventId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CancelSimulatedSystemEvents"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CancelSimulatedSystemEventsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Cancels simulated system events that are in the Scheduled or Executing state. After you cancel a simulated system event, the simulated event enters the Canceled state. // // @param request - CancelSimulatedSystemEventsRequest // // @return CancelSimulatedSystemEventsResponse func (client *Client) CancelSimulatedSystemEvents(request *CancelSimulatedSystemEventsRequest) (_result *CancelSimulatedSystemEventsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CancelSimulatedSystemEventsResponse{} _body, _err := client.CancelSimulatedSystemEventsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Cancels a running task. You can cancel the running tasks generated by the ImportImage or ExportImage operation. // // @param request - CancelTaskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CancelTaskResponse func (client *Client) CancelTaskWithOptions(request *CancelTaskRequest, runtime *dara.RuntimeOptions) (_result *CancelTaskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TaskId) { query["TaskId"] = request.TaskId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CancelTask"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CancelTaskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Cancels a running task. You can cancel the running tasks generated by the ImportImage or ExportImage operation. // // @param request - CancelTaskRequest // // @return CancelTaskResponse func (client *Client) CancelTask(request *CancelTaskRequest) (_result *CancelTaskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CancelTaskResponse{} _body, _err := client.CancelTaskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ConnectRouterInterface is deprecated, please use Vpc::2016-04-28::ConnectRouterInterface instead. // // Summary: // // # ConnectRouterInterface // // @param request - ConnectRouterInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ConnectRouterInterfaceResponse func (client *Client) ConnectRouterInterfaceWithOptions(request *ConnectRouterInterfaceRequest, runtime *dara.RuntimeOptions) (_result *ConnectRouterInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouterInterfaceId) { query["RouterInterfaceId"] = request.RouterInterfaceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ConnectRouterInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ConnectRouterInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ConnectRouterInterface is deprecated, please use Vpc::2016-04-28::ConnectRouterInterface instead. // // Summary: // // # ConnectRouterInterface // // @param request - ConnectRouterInterfaceRequest // // @return ConnectRouterInterfaceResponse // Deprecated func (client *Client) ConnectRouterInterface(request *ConnectRouterInterfaceRequest) (_result *ConnectRouterInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ConnectRouterInterfaceResponse{} _body, _err := client.ConnectRouterInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Converts the static public IP address of an Elastic Compute Service (ECS) instance that resides in a virtual private cloud (VPC) into an elastic IP address (EIP). Static public IP addresses are the public IP addresses that are automatically assigned to ECS instances. // // Description: // // ## [](#)Usage notes // // After a public IP address is converted into an EIP, the EIP is billed separately. Make sure that you fully understand the billing methods of EIPs. For more information, see [Billing overview](https://help.aliyun.com/document_detail/122035.html). // // When you call this operation, make sure that the ECS instance meets the following requirements: // // - The instance is in the **Stopped* - (`Stopped`) or **Running* - (`Running`) state. // // - The instance has no EIPs associated. // // - The instance has no configuration change tasks that have not taken effect. // // - The public bandwidth of the instance is not 0 Mbit/s. // // - If the instance is a subscription instance, the billing method for network usage of the instance must be `pay-by-traffic`. The public IP address of a subscription instance that uses the `pay-by-bandwidth` billing method for network usage cannot be converted into an EIP. This requirement does not apply to pay-as-you-go instances. For more information, see [Change the billing method for network usage](https://help.aliyun.com/document_detail/178883.html). // // - If the instance is a subscription instance that resides in a VPC, the instance does not expire within 24 hours. // // @param request - ConvertNatPublicIpToEipRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ConvertNatPublicIpToEipResponse func (client *Client) ConvertNatPublicIpToEipWithOptions(request *ConvertNatPublicIpToEipRequest, runtime *dara.RuntimeOptions) (_result *ConvertNatPublicIpToEipResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ConvertNatPublicIpToEip"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ConvertNatPublicIpToEipResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Converts the static public IP address of an Elastic Compute Service (ECS) instance that resides in a virtual private cloud (VPC) into an elastic IP address (EIP). Static public IP addresses are the public IP addresses that are automatically assigned to ECS instances. // // Description: // // ## [](#)Usage notes // // After a public IP address is converted into an EIP, the EIP is billed separately. Make sure that you fully understand the billing methods of EIPs. For more information, see [Billing overview](https://help.aliyun.com/document_detail/122035.html). // // When you call this operation, make sure that the ECS instance meets the following requirements: // // - The instance is in the **Stopped* - (`Stopped`) or **Running* - (`Running`) state. // // - The instance has no EIPs associated. // // - The instance has no configuration change tasks that have not taken effect. // // - The public bandwidth of the instance is not 0 Mbit/s. // // - If the instance is a subscription instance, the billing method for network usage of the instance must be `pay-by-traffic`. The public IP address of a subscription instance that uses the `pay-by-bandwidth` billing method for network usage cannot be converted into an EIP. This requirement does not apply to pay-as-you-go instances. For more information, see [Change the billing method for network usage](https://help.aliyun.com/document_detail/178883.html). // // - If the instance is a subscription instance that resides in a VPC, the instance does not expire within 24 hours. // // @param request - ConvertNatPublicIpToEipRequest // // @return ConvertNatPublicIpToEipResponse func (client *Client) ConvertNatPublicIpToEip(request *ConvertNatPublicIpToEipRequest) (_result *ConvertNatPublicIpToEipResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ConvertNatPublicIpToEipResponse{} _body, _err := client.ConvertNatPublicIpToEipWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Copies a custom image from one region to another region. You can copy custom images to deploy or copy Elastic Compute Service (ECS) instances across regions. // // Description: // // ## [](#)Usage notes // // After you copy a custom image to the destination region, you can use the image copy (new image) to create ECS instances by calling the RunInstances operation or replace the system disks of instances by calling the ReplaceSystemDisk operation in the destination region. // // Take note of the following items: // // - Only custom images that are in the `Available` state can be copied. // // - Custom images that belong to your Alibaba Cloud account can be copied across regions. Images that are shared with you by others can be copied only within the regions where the images reside. // // - When an image is being copied, the new image cannot be deleted by calling the [DeleteImage](https://help.aliyun.com/document_detail/25537.html) operation. However, you can cancel the ongoing image copy task by calling the [CancelCopyImage](https://help.aliyun.com/document_detail/25539.html) operation. // // - A region supports only up to five concurrent image copy tasks. Excess image copy tasks are queued for execution. // // - You can configure `ResourceGroupId` to specify the resource group to which to assign the new image. If you do not configure `ResourceGroupId`, the new image is assigned to the default resource group. // // @param request - CopyImageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CopyImageResponse func (client *Client) CopyImageWithOptions(request *CopyImageRequest, runtime *dara.RuntimeOptions) (_result *CopyImageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DestinationDescription) { query["DestinationDescription"] = request.DestinationDescription } if !dara.IsNil(request.DestinationImageName) { query["DestinationImageName"] = request.DestinationImageName } if !dara.IsNil(request.DestinationRegionId) { query["DestinationRegionId"] = request.DestinationRegionId } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.EncryptAlgorithm) { query["EncryptAlgorithm"] = request.EncryptAlgorithm } if !dara.IsNil(request.Encrypted) { query["Encrypted"] = request.Encrypted } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.KMSKeyId) { query["KMSKeyId"] = request.KMSKeyId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CopyImage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CopyImageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Copies a custom image from one region to another region. You can copy custom images to deploy or copy Elastic Compute Service (ECS) instances across regions. // // Description: // // ## [](#)Usage notes // // After you copy a custom image to the destination region, you can use the image copy (new image) to create ECS instances by calling the RunInstances operation or replace the system disks of instances by calling the ReplaceSystemDisk operation in the destination region. // // Take note of the following items: // // - Only custom images that are in the `Available` state can be copied. // // - Custom images that belong to your Alibaba Cloud account can be copied across regions. Images that are shared with you by others can be copied only within the regions where the images reside. // // - When an image is being copied, the new image cannot be deleted by calling the [DeleteImage](https://help.aliyun.com/document_detail/25537.html) operation. However, you can cancel the ongoing image copy task by calling the [CancelCopyImage](https://help.aliyun.com/document_detail/25539.html) operation. // // - A region supports only up to five concurrent image copy tasks. Excess image copy tasks are queued for execution. // // - You can configure `ResourceGroupId` to specify the resource group to which to assign the new image. If you do not configure `ResourceGroupId`, the new image is assigned to the default resource group. // // @param request - CopyImageRequest // // @return CopyImageResponse func (client *Client) CopyImage(request *CopyImageRequest) (_result *CopyImageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CopyImageResponse{} _body, _err := client.CopyImageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Copies a standard or encrypted snapshot from one region to another. // // Description: // // When you call this operation, take note of the following item: // // - New snapshots (snapshot copies) cannot be used to roll back the disks for which source snapshots (copied snapshots) were created. // // - Local snapshots cannot be copied. // // @param request - CopySnapshotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CopySnapshotResponse func (client *Client) CopySnapshotWithOptions(request *CopySnapshotRequest, runtime *dara.RuntimeOptions) (_result *CopySnapshotResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Arn) { query["Arn"] = request.Arn } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DestinationRegionId) { query["DestinationRegionId"] = request.DestinationRegionId } if !dara.IsNil(request.DestinationSnapshotDescription) { query["DestinationSnapshotDescription"] = request.DestinationSnapshotDescription } if !dara.IsNil(request.DestinationSnapshotName) { query["DestinationSnapshotName"] = request.DestinationSnapshotName } if !dara.IsNil(request.DestinationStorageLocationArn) { query["DestinationStorageLocationArn"] = request.DestinationStorageLocationArn } if !dara.IsNil(request.Encrypted) { query["Encrypted"] = request.Encrypted } if !dara.IsNil(request.KMSKeyId) { query["KMSKeyId"] = request.KMSKeyId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RetentionDays) { query["RetentionDays"] = request.RetentionDays } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CopySnapshot"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CopySnapshotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Copies a standard or encrypted snapshot from one region to another. // // Description: // // When you call this operation, take note of the following item: // // - New snapshots (snapshot copies) cannot be used to roll back the disks for which source snapshots (copied snapshots) were created. // // - Local snapshots cannot be copied. // // @param request - CopySnapshotRequest // // @return CopySnapshotResponse func (client *Client) CopySnapshot(request *CopySnapshotRequest) (_result *CopySnapshotResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CopySnapshotResponse{} _body, _err := client.CopySnapshotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an activation code. The activation code is used to register servers that are not provided by Alibaba Cloud as Alibaba Cloud managed instances. // // Description: // // ## [](#)Usage notes // // After you use an activation code to register a server that is not provided by Alibaba Cloud as an Alibaba Cloud managed instance, you can use various online services of Alibaba Cloud, such as Cloud Assistant, CloudOps Orchestration Service (OOS), and Apsara Devops, on the managed instance. // // If a server is not provided by Alibaba Cloud, you can register the server as an Alibaba Cloud managed instance only if the server has Internet connectivity and runs one of the following operating systems: // // - Alibaba Cloud Linux 2, Alibaba Cloud Linux 3, or later // // - CentOS 6, CentOS 7, CentOS 8, or later // // - Debian 8, Debian 9, Debian 10, or later // // - Ubuntu 12, Ubuntu 14, Ubuntu 16, Ubuntu 18, or later // // - CoreOS // // - OpenSUSE // // - Red Hat 5, Red Hat 6, Red Hat 7, or later // // - SUSE Linux Enterprise Server 11, SUSE Linux Enterprise Server 12, SUSE Linux Enterprise Server 15, or later // // - Windows Server 2012, Windows Server 2016, Windows Server 2019, or later // // You can have up to 5,000 activation codes per Alibaba Cloud region. When the number of activation codes exceeds 1,000, the usage of the activation codes must be greater than 50% before you can create additional activation codes. // // > To obtain the usage of activation codes, go to the **ECS Cloud Assistant* - page in the Elastic Compute Service (ECS) console, click the **Manage Instances* - tab, and then click **Register Instance**. // // @param request - CreateActivationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateActivationResponse func (client *Client) CreateActivationWithOptions(request *CreateActivationRequest, runtime *dara.RuntimeOptions) (_result *CreateActivationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.InstanceCount) { query["InstanceCount"] = request.InstanceCount } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.IpAddressRange) { query["IpAddressRange"] = request.IpAddressRange } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TimeToLiveInHours) { query["TimeToLiveInHours"] = request.TimeToLiveInHours } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateActivation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateActivationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an activation code. The activation code is used to register servers that are not provided by Alibaba Cloud as Alibaba Cloud managed instances. // // Description: // // ## [](#)Usage notes // // After you use an activation code to register a server that is not provided by Alibaba Cloud as an Alibaba Cloud managed instance, you can use various online services of Alibaba Cloud, such as Cloud Assistant, CloudOps Orchestration Service (OOS), and Apsara Devops, on the managed instance. // // If a server is not provided by Alibaba Cloud, you can register the server as an Alibaba Cloud managed instance only if the server has Internet connectivity and runs one of the following operating systems: // // - Alibaba Cloud Linux 2, Alibaba Cloud Linux 3, or later // // - CentOS 6, CentOS 7, CentOS 8, or later // // - Debian 8, Debian 9, Debian 10, or later // // - Ubuntu 12, Ubuntu 14, Ubuntu 16, Ubuntu 18, or later // // - CoreOS // // - OpenSUSE // // - Red Hat 5, Red Hat 6, Red Hat 7, or later // // - SUSE Linux Enterprise Server 11, SUSE Linux Enterprise Server 12, SUSE Linux Enterprise Server 15, or later // // - Windows Server 2012, Windows Server 2016, Windows Server 2019, or later // // You can have up to 5,000 activation codes per Alibaba Cloud region. When the number of activation codes exceeds 1,000, the usage of the activation codes must be greater than 50% before you can create additional activation codes. // // > To obtain the usage of activation codes, go to the **ECS Cloud Assistant* - page in the Elastic Compute Service (ECS) console, click the **Manage Instances* - tab, and then click **Register Instance**. // // @param request - CreateActivationRequest // // @return CreateActivationResponse func (client *Client) CreateActivation(request *CreateActivationRequest) (_result *CreateActivationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateActivationResponse{} _body, _err := client.CreateActivationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an auto provisioning group. // // Description: // // ## [](#)Usage notes // // - Auto Provisioning is a service that allows quick deployment of an instance cluster that consists of spot instances and pay-as-you-go instances. Auto Provisioning supports push-button deployment of instance clusters across different billing methods, instance families, and zones. For more information, see [Use auto provisioning group-related API operations to create multiple ECS instances at the same time](https://help.aliyun.com/document_detail/200772.html). // // - Auto Provisioning uses auto provisioning groups to schedule and maintain computing resources. You can use auto provisioning groups to obtain a steady supply of computing resources. This helps reduce the impact on compute capacity when spot instances are reclaimed. // // - Auto Provisioning is provided free of charge. However, you are charged for instance resources that are created in auto provisioning groups. For more information, see [Overview of spot instances](https://help.aliyun.com/document_detail/52088.html) and [Pay-as-you-go](https://help.aliyun.com/document_detail/40653.html). // // - When you specify both a launch template (`LaunchTemplateId`) and extended configurations (`LaunchConfiguration.*` parameters), LaunchTemplateId takes precedence. // // @param tmpReq - CreateAutoProvisioningGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateAutoProvisioningGroupResponse func (client *Client) CreateAutoProvisioningGroupWithOptions(tmpReq *CreateAutoProvisioningGroupRequest, runtime *dara.RuntimeOptions) (_result *CreateAutoProvisioningGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &CreateAutoProvisioningGroupShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.ResourcePoolOptions) { request.ResourcePoolOptionsShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.ResourcePoolOptions, dara.String("ResourcePoolOptions"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.AutoProvisioningGroupName) { query["AutoProvisioningGroupName"] = request.AutoProvisioningGroupName } if !dara.IsNil(request.AutoProvisioningGroupType) { query["AutoProvisioningGroupType"] = request.AutoProvisioningGroupType } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DataDiskConfig) { query["DataDiskConfig"] = request.DataDiskConfig } if !dara.IsNil(request.DefaultTargetCapacityType) { query["DefaultTargetCapacityType"] = request.DefaultTargetCapacityType } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.ExcessCapacityTerminationPolicy) { query["ExcessCapacityTerminationPolicy"] = request.ExcessCapacityTerminationPolicy } if !dara.IsNil(request.ExecutionMode) { query["ExecutionMode"] = request.ExecutionMode } if !dara.IsNil(request.HibernationOptionsConfigured) { query["HibernationOptionsConfigured"] = request.HibernationOptionsConfigured } if !dara.IsNil(request.LaunchTemplateConfig) { query["LaunchTemplateConfig"] = request.LaunchTemplateConfig } if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateVersion) { query["LaunchTemplateVersion"] = request.LaunchTemplateVersion } if !dara.IsNil(request.MaxSpotPrice) { query["MaxSpotPrice"] = request.MaxSpotPrice } if !dara.IsNil(request.MinTargetCapacity) { query["MinTargetCapacity"] = request.MinTargetCapacity } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PayAsYouGoAllocationStrategy) { query["PayAsYouGoAllocationStrategy"] = request.PayAsYouGoAllocationStrategy } if !dara.IsNil(request.PayAsYouGoTargetCapacity) { query["PayAsYouGoTargetCapacity"] = request.PayAsYouGoTargetCapacity } if !dara.IsNil(request.PrePaidOptions) { query["PrePaidOptions"] = request.PrePaidOptions } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourcePoolOptionsShrink) { query["ResourcePoolOptions"] = request.ResourcePoolOptionsShrink } if !dara.IsNil(request.SpotAllocationStrategy) { query["SpotAllocationStrategy"] = request.SpotAllocationStrategy } if !dara.IsNil(request.SpotInstanceInterruptionBehavior) { query["SpotInstanceInterruptionBehavior"] = request.SpotInstanceInterruptionBehavior } if !dara.IsNil(request.SpotInstancePoolsToUseCount) { query["SpotInstancePoolsToUseCount"] = request.SpotInstancePoolsToUseCount } if !dara.IsNil(request.SpotTargetCapacity) { query["SpotTargetCapacity"] = request.SpotTargetCapacity } if !dara.IsNil(request.SystemDiskConfig) { query["SystemDiskConfig"] = request.SystemDiskConfig } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TerminateInstances) { query["TerminateInstances"] = request.TerminateInstances } if !dara.IsNil(request.TerminateInstancesWithExpiration) { query["TerminateInstancesWithExpiration"] = request.TerminateInstancesWithExpiration } if !dara.IsNil(request.TotalTargetCapacity) { query["TotalTargetCapacity"] = request.TotalTargetCapacity } if !dara.IsNil(request.ValidFrom) { query["ValidFrom"] = request.ValidFrom } if !dara.IsNil(request.ValidUntil) { query["ValidUntil"] = request.ValidUntil } if !dara.IsNil(request.LaunchConfiguration) { query["LaunchConfiguration"] = request.LaunchConfiguration } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateAutoProvisioningGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateAutoProvisioningGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an auto provisioning group. // // Description: // // ## [](#)Usage notes // // - Auto Provisioning is a service that allows quick deployment of an instance cluster that consists of spot instances and pay-as-you-go instances. Auto Provisioning supports push-button deployment of instance clusters across different billing methods, instance families, and zones. For more information, see [Use auto provisioning group-related API operations to create multiple ECS instances at the same time](https://help.aliyun.com/document_detail/200772.html). // // - Auto Provisioning uses auto provisioning groups to schedule and maintain computing resources. You can use auto provisioning groups to obtain a steady supply of computing resources. This helps reduce the impact on compute capacity when spot instances are reclaimed. // // - Auto Provisioning is provided free of charge. However, you are charged for instance resources that are created in auto provisioning groups. For more information, see [Overview of spot instances](https://help.aliyun.com/document_detail/52088.html) and [Pay-as-you-go](https://help.aliyun.com/document_detail/40653.html). // // - When you specify both a launch template (`LaunchTemplateId`) and extended configurations (`LaunchConfiguration.*` parameters), LaunchTemplateId takes precedence. // // @param request - CreateAutoProvisioningGroupRequest // // @return CreateAutoProvisioningGroupResponse func (client *Client) CreateAutoProvisioningGroup(request *CreateAutoProvisioningGroupRequest) (_result *CreateAutoProvisioningGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateAutoProvisioningGroupResponse{} _body, _err := client.CreateAutoProvisioningGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an automatic snapshot policy in a specific region. You can specify the schedule on which to create automatic snapshots, the retention period of the automatic snapshots, and whether to enable cross-region replication for the snapshots in the automatic snapshot policy. The automatic snapshot policy can be applied to create snapshots for system disks or data disks to back up disk data. // // Description: // // Before you call this operation, learn about how to [create an automatic snapshot policy](https://help.aliyun.com/document_detail/127767.html). // // Take note of the following items: // // - You can create up to 100 automatic snapshot policies per region for a single Alibaba Cloud account. If the maximum number of automatic snapshots for a disk is reached and a new snapshot creation task is created, the system deletes the oldest automatic snapshot of the disk. // // - If the instance to which a disk is attached is being stopped or restarted, the system cannot create snapshots for the disk based on the associated automatic snapshot policy. // // - If cross-region snapshot replication is enabled and no encryption parameters are configured, encrypted snapshots are copied to the destination region and snapshot copies are encrypted by using the service key of the destination region. For more information about the limits on cross-region snapshot replication, see [Copy a snapshot](https://help.aliyun.com/document_detail/159441.html). // // After the automatic snapshot policy is created, call the [ApplyAutoSnapshotPolicy](https://help.aliyun.com/document_detail/25531.html) operation to apply the policy to disks. If you want to modify the automatic snapshot policy, call the [ModifyAutoSnapshotPolicyEx](https://help.aliyun.com/document_detail/25529.html) operation. // // @param request - CreateAutoSnapshotPolicyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateAutoSnapshotPolicyResponse func (client *Client) CreateAutoSnapshotPolicyWithOptions(request *CreateAutoSnapshotPolicyRequest, runtime *dara.RuntimeOptions) (_result *CreateAutoSnapshotPolicyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CopiedSnapshotsRetentionDays) { query["CopiedSnapshotsRetentionDays"] = request.CopiedSnapshotsRetentionDays } if !dara.IsNil(request.CopyEncryptionConfiguration) { query["CopyEncryptionConfiguration"] = request.CopyEncryptionConfiguration } if !dara.IsNil(request.EnableCrossRegionCopy) { query["EnableCrossRegionCopy"] = request.EnableCrossRegionCopy } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageLocationArn) { query["StorageLocationArn"] = request.StorageLocationArn } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TargetCopyRegions) { query["TargetCopyRegions"] = request.TargetCopyRegions } if !dara.IsNil(request.AutoSnapshotPolicyName) { query["autoSnapshotPolicyName"] = request.AutoSnapshotPolicyName } if !dara.IsNil(request.RegionId) { query["regionId"] = request.RegionId } if !dara.IsNil(request.RepeatWeekdays) { query["repeatWeekdays"] = request.RepeatWeekdays } if !dara.IsNil(request.RetentionDays) { query["retentionDays"] = request.RetentionDays } if !dara.IsNil(request.TimePoints) { query["timePoints"] = request.TimePoints } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateAutoSnapshotPolicy"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateAutoSnapshotPolicyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an automatic snapshot policy in a specific region. You can specify the schedule on which to create automatic snapshots, the retention period of the automatic snapshots, and whether to enable cross-region replication for the snapshots in the automatic snapshot policy. The automatic snapshot policy can be applied to create snapshots for system disks or data disks to back up disk data. // // Description: // // Before you call this operation, learn about how to [create an automatic snapshot policy](https://help.aliyun.com/document_detail/127767.html). // // Take note of the following items: // // - You can create up to 100 automatic snapshot policies per region for a single Alibaba Cloud account. If the maximum number of automatic snapshots for a disk is reached and a new snapshot creation task is created, the system deletes the oldest automatic snapshot of the disk. // // - If the instance to which a disk is attached is being stopped or restarted, the system cannot create snapshots for the disk based on the associated automatic snapshot policy. // // - If cross-region snapshot replication is enabled and no encryption parameters are configured, encrypted snapshots are copied to the destination region and snapshot copies are encrypted by using the service key of the destination region. For more information about the limits on cross-region snapshot replication, see [Copy a snapshot](https://help.aliyun.com/document_detail/159441.html). // // After the automatic snapshot policy is created, call the [ApplyAutoSnapshotPolicy](https://help.aliyun.com/document_detail/25531.html) operation to apply the policy to disks. If you want to modify the automatic snapshot policy, call the [ModifyAutoSnapshotPolicyEx](https://help.aliyun.com/document_detail/25529.html) operation. // // @param request - CreateAutoSnapshotPolicyRequest // // @return CreateAutoSnapshotPolicyResponse func (client *Client) CreateAutoSnapshotPolicy(request *CreateAutoSnapshotPolicyRequest) (_result *CreateAutoSnapshotPolicyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateAutoSnapshotPolicyResponse{} _body, _err := client.CreateAutoSnapshotPolicyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a capacity reservation. // // Description: // // When you create a capacity reservation, you can specify attributes such as a zone and an instance type. The system uses a private pool to reserve resources that match the specified attributes. For more information, see [Overview of Immediate Capacity Reservation](https://help.aliyun.com/document_detail/193633.html). // // - Currently, only immediate capacity reservations are supported. Immediate capacity reservations take effect immediately after you purchase them. After you purchase an immediate capacity reservation, you are charged for the specified instance type based on the pay-as-you-go billing method regardless of whether you use the capacity reservation to create pay-as-you-go instances. Billing stops when you manually release the capacity reservation or when the capacity reservation expires and is automatically released. // // - You can call the [CreateInstance](https://help.aliyun.com/document_detail/25499.html) or [RunInstances](https://help.aliyun.com/document_detail/63440.html) operation to specify private pool attributes when you create instances. To modify the attributes of a private pool, you can call the [ModifyInstanceAttachmentAttributes](https://help.aliyun.com/document_detail/190006.html) operation. If an instance matches a private pool associated with a capacity reservation, you are charged based on the configurations of the instance such as the instance type, disks, and public bandwidth. // // - Before you use a private pool associated with a capacity reservation to create pay-as-you-go instances, you are charged only for the specified instance type. // // - You can apply savings plans or regional reserved instances to offset hourly billing of unused immediate capacity reservations, and hourly fees of the instances that match the immediate capacity reservations. However, you cannot use zonal reserved instances to offset the hourly fees. We recommend that you purchase reserved instances or savings plans before you purchase immediate capacity reservations. This way, you can access resources free of charge within the coverage of the reserved instances or savings plans. // // > You can call the CreateCapacityReservation operation to create only immediate capacity reservations. You can create immediate or scheduled capacity reservations in the Elastic Compute Service (ECS) console. For more information, see [Overview](~~193626#section-oil-qh5-xvx~~). // // @param request - CreateCapacityReservationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateCapacityReservationResponse func (client *Client) CreateCapacityReservationWithOptions(request *CreateCapacityReservationRequest, runtime *dara.RuntimeOptions) (_result *CreateCapacityReservationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.EndTimeType) { query["EndTimeType"] = request.EndTimeType } if !dara.IsNil(request.InstanceAmount) { query["InstanceAmount"] = request.InstanceAmount } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateCapacityReservation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateCapacityReservationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a capacity reservation. // // Description: // // When you create a capacity reservation, you can specify attributes such as a zone and an instance type. The system uses a private pool to reserve resources that match the specified attributes. For more information, see [Overview of Immediate Capacity Reservation](https://help.aliyun.com/document_detail/193633.html). // // - Currently, only immediate capacity reservations are supported. Immediate capacity reservations take effect immediately after you purchase them. After you purchase an immediate capacity reservation, you are charged for the specified instance type based on the pay-as-you-go billing method regardless of whether you use the capacity reservation to create pay-as-you-go instances. Billing stops when you manually release the capacity reservation or when the capacity reservation expires and is automatically released. // // - You can call the [CreateInstance](https://help.aliyun.com/document_detail/25499.html) or [RunInstances](https://help.aliyun.com/document_detail/63440.html) operation to specify private pool attributes when you create instances. To modify the attributes of a private pool, you can call the [ModifyInstanceAttachmentAttributes](https://help.aliyun.com/document_detail/190006.html) operation. If an instance matches a private pool associated with a capacity reservation, you are charged based on the configurations of the instance such as the instance type, disks, and public bandwidth. // // - Before you use a private pool associated with a capacity reservation to create pay-as-you-go instances, you are charged only for the specified instance type. // // - You can apply savings plans or regional reserved instances to offset hourly billing of unused immediate capacity reservations, and hourly fees of the instances that match the immediate capacity reservations. However, you cannot use zonal reserved instances to offset the hourly fees. We recommend that you purchase reserved instances or savings plans before you purchase immediate capacity reservations. This way, you can access resources free of charge within the coverage of the reserved instances or savings plans. // // > You can call the CreateCapacityReservation operation to create only immediate capacity reservations. You can create immediate or scheduled capacity reservations in the Elastic Compute Service (ECS) console. For more information, see [Overview](~~193626#section-oil-qh5-xvx~~). // // @param request - CreateCapacityReservationRequest // // @return CreateCapacityReservationResponse func (client *Client) CreateCapacityReservation(request *CreateCapacityReservationRequest) (_result *CreateCapacityReservationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateCapacityReservationResponse{} _body, _err := client.CreateCapacityReservationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a Cloud Assistant command, which can be a Shell, PowerShell, or batch command. // // Description: // // ## [](#)Usage notes // // - You can create commands of the following types: // // - Batch commands (RunBatScript), applicable to Windows instances // // - PowerShell commands (RunPowerShellScript), applicable to Windows instances // // - Shell commands (RunShellScript), applicable to Linux instances // // - You can specify the Timeout parameter to set the maximum timeout period for executions of a command on Elastic Compute Service (ECS) instances. If an execution times out, [Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html) forcefully terminates the command process by canceling the process ID (PID) of the command. // // - For a one-time task, when the execution times out, the state of the command ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) becomes Failed. // // - For a scheduled task, take note of the following items: // // - The timeout period takes effect on each execution. // // - When an execution times out, the state ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) of the command becomes Failed. // // - The timeout of one execution does not affect the subsequent executions. // // - You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can also apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](https://help.aliyun.com/document_detail/184116.html). // // - You can use WorkingDir to specify the execution directory of a Cloud Assistant command. For Linux instances, the default execution directory of Cloud Assistant commands is the home directory of the root user, which is `/root`. For Windows instances, the default execution directory of Cloud Assistant commands is the directory where the Cloud Assistant Agent process resides, such as `C:\\Windows\\System32`. // // - You can enable the custom parameter feature for a Cloud Assistant command by setting EnableParameter to true. When you set CommandContent, you can define custom parameters in the {{parameter}} format. Then, when the [InvokeCommand](https://help.aliyun.com/document_detail/64841.html) operation is called, the key-value pairs of custom parameters are passed in. For example, if a command is `echo {{name}}`, the Parameters parameter can be used to pass in the `` key-value pair when the InvokeCommand operation is called. The name key of the custom parameter is automatically replaced by the paired Jack value to generate a new command. As a result, the `echo Jack` command is run. // // @param request - CreateCommandRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateCommandResponse func (client *Client) CreateCommandWithOptions(request *CreateCommandRequest, runtime *dara.RuntimeOptions) (_result *CreateCommandResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.CommandContent) { query["CommandContent"] = request.CommandContent } if !dara.IsNil(request.ContentEncoding) { query["ContentEncoding"] = request.ContentEncoding } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EnableParameter) { query["EnableParameter"] = request.EnableParameter } if !dara.IsNil(request.Launcher) { query["Launcher"] = request.Launcher } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Timeout) { query["Timeout"] = request.Timeout } if !dara.IsNil(request.Type) { query["Type"] = request.Type } if !dara.IsNil(request.WorkingDir) { query["WorkingDir"] = request.WorkingDir } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateCommand"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateCommandResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a Cloud Assistant command, which can be a Shell, PowerShell, or batch command. // // Description: // // ## [](#)Usage notes // // - You can create commands of the following types: // // - Batch commands (RunBatScript), applicable to Windows instances // // - PowerShell commands (RunPowerShellScript), applicable to Windows instances // // - Shell commands (RunShellScript), applicable to Linux instances // // - You can specify the Timeout parameter to set the maximum timeout period for executions of a command on Elastic Compute Service (ECS) instances. If an execution times out, [Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html) forcefully terminates the command process by canceling the process ID (PID) of the command. // // - For a one-time task, when the execution times out, the state of the command ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) becomes Failed. // // - For a scheduled task, take note of the following items: // // - The timeout period takes effect on each execution. // // - When an execution times out, the state ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) of the command becomes Failed. // // - The timeout of one execution does not affect the subsequent executions. // // - You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can also apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](https://help.aliyun.com/document_detail/184116.html). // // - You can use WorkingDir to specify the execution directory of a Cloud Assistant command. For Linux instances, the default execution directory of Cloud Assistant commands is the home directory of the root user, which is `/root`. For Windows instances, the default execution directory of Cloud Assistant commands is the directory where the Cloud Assistant Agent process resides, such as `C:\\Windows\\System32`. // // - You can enable the custom parameter feature for a Cloud Assistant command by setting EnableParameter to true. When you set CommandContent, you can define custom parameters in the {{parameter}} format. Then, when the [InvokeCommand](https://help.aliyun.com/document_detail/64841.html) operation is called, the key-value pairs of custom parameters are passed in. For example, if a command is `echo {{name}}`, the Parameters parameter can be used to pass in the `` key-value pair when the InvokeCommand operation is called. The name key of the custom parameter is automatically replaced by the paired Jack value to generate a new command. As a result, the `echo Jack` command is run. // // @param request - CreateCommandRequest // // @return CreateCommandResponse func (client *Client) CreateCommand(request *CreateCommandRequest) (_result *CreateCommandResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateCommandResponse{} _body, _err := client.CreateCommandWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a dedicated host group. // // @param request - CreateDedicatedHostClusterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateDedicatedHostClusterResponse func (client *Client) CreateDedicatedHostClusterWithOptions(request *CreateDedicatedHostClusterRequest, runtime *dara.RuntimeOptions) (_result *CreateDedicatedHostClusterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostClusterName) { query["DedicatedHostClusterName"] = request.DedicatedHostClusterName } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateDedicatedHostCluster"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateDedicatedHostClusterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a dedicated host group. // // @param request - CreateDedicatedHostClusterRequest // // @return CreateDedicatedHostClusterResponse func (client *Client) CreateDedicatedHostCluster(request *CreateDedicatedHostClusterRequest) (_result *CreateDedicatedHostClusterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateDedicatedHostClusterResponse{} _body, _err := client.CreateDedicatedHostClusterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a deployment set in a region. // // @param request - CreateDeploymentSetRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateDeploymentSetResponse func (client *Client) CreateDeploymentSetWithOptions(request *CreateDeploymentSetRequest, runtime *dara.RuntimeOptions) (_result *CreateDeploymentSetResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DeploymentSetName) { query["DeploymentSetName"] = request.DeploymentSetName } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Domain) { query["Domain"] = request.Domain } if !dara.IsNil(request.Granularity) { query["Granularity"] = request.Granularity } if !dara.IsNil(request.GroupCount) { query["GroupCount"] = request.GroupCount } if !dara.IsNil(request.OnUnableToRedeployFailedInstance) { query["OnUnableToRedeployFailedInstance"] = request.OnUnableToRedeployFailedInstance } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Strategy) { query["Strategy"] = request.Strategy } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateDeploymentSet"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateDeploymentSetResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a deployment set in a region. // // @param request - CreateDeploymentSetRequest // // @return CreateDeploymentSetResponse func (client *Client) CreateDeploymentSet(request *CreateDeploymentSetRequest) (_result *CreateDeploymentSetResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateDeploymentSetResponse{} _body, _err := client.CreateDeploymentSetWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a diagnostic metric set. You can group diagnostic metrics into diagnostic metric sets. // // @param request - CreateDiagnosticMetricSetRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateDiagnosticMetricSetResponse func (client *Client) CreateDiagnosticMetricSetWithOptions(request *CreateDiagnosticMetricSetRequest, runtime *dara.RuntimeOptions) (_result *CreateDiagnosticMetricSetResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.MetricIds) { query["MetricIds"] = request.MetricIds } if !dara.IsNil(request.MetricSetName) { query["MetricSetName"] = request.MetricSetName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateDiagnosticMetricSet"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateDiagnosticMetricSetResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a diagnostic metric set. You can group diagnostic metrics into diagnostic metric sets. // // @param request - CreateDiagnosticMetricSetRequest // // @return CreateDiagnosticMetricSetResponse func (client *Client) CreateDiagnosticMetricSet(request *CreateDiagnosticMetricSetRequest) (_result *CreateDiagnosticMetricSetResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateDiagnosticMetricSetResponse{} _body, _err := client.CreateDiagnosticMetricSetWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a diagnostic report for a resource. When you call this operation, you can configure the MetricSetId parameter to create a diagnostic report based on the specified diagnostic metric set. Then, you can call the DescribeDiagnosticReportAttributes operation based on the returned diagnostic report ID to view the details of the diagnostic report. // // @param request - CreateDiagnosticReportRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateDiagnosticReportResponse func (client *Client) CreateDiagnosticReportWithOptions(request *CreateDiagnosticReportRequest, runtime *dara.RuntimeOptions) (_result *CreateDiagnosticReportResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.MetricSetId) { query["MetricSetId"] = request.MetricSetId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateDiagnosticReport"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateDiagnosticReportResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a diagnostic report for a resource. When you call this operation, you can configure the MetricSetId parameter to create a diagnostic report based on the specified diagnostic metric set. Then, you can call the DescribeDiagnosticReportAttributes operation based on the returned diagnostic report ID to view the details of the diagnostic report. // // @param request - CreateDiagnosticReportRequest // // @return CreateDiagnosticReportResponse func (client *Client) CreateDiagnosticReport(request *CreateDiagnosticReportRequest) (_result *CreateDiagnosticReportResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateDiagnosticReportResponse{} _body, _err := client.CreateDiagnosticReportWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a pay-as-you-go or subscription data disk. // // Description: // // You can enable the multi-attach (`MultiAttach`) feature when you create a disk. Before you enable the multi-attach feature, we recommend that you familiarize yourself with the feature and the limits on the feature. For more information, see [NVMe protocol](https://help.aliyun.com/document_detail/256487.html) and [Use the multi-attach feature to attach a cloud disk to multiple ECS instances](https://help.aliyun.com/document_detail/262105.html). // // - You can create disks of the following disk categories: basic disks, ultra disks, standard SSDs, Enterprise SSDs (ESSDs), ESSD Entry disks, Regional ESSDs, ESSD AutoPL disks, standard elastic ephemeral disks, and premium elastic ephemeral disks. // // - Before you can create a disk, you must complete real-name verification. Complete real-name verification on the [Real-name Verification](https://account.console.aliyun.com/#/auth/home) page in the Alibaba Cloud Management Console. // // - When you create disks, you may be charged for the resources used. We recommend that you familiarize yourself with the billing methods of Elastic Compute Service (ECS) resources before you create a disk. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). // // - When you call this operation to create a disk, specific parameters are automatically specified. // // - `DeleteAutoSnapshot` is automatically set to `true` when a disk is created. This indicates that the automatic snapshots of the disk are deleted when the disk is released. You can call the [DescribeDisks](https://help.aliyun.com/document_detail/2679767.html) operation to query the DeleteAutoSnapshot value for the disk and call the [ModifyDiskAttribute](https://help.aliyun.com/document_detail/25517.html) operation to change the DeleteAutoSnapshot value for the disk. // // - If you do not specify a performance level when you create an ESSD, the performance level of the ESSD is automatically set to PL1. To change the performance level of the ESSD, you can call the [ModifyDiskSpec](https://help.aliyun.com/document_detail/123780.html) operation. // // - `Portable` is automatically set to `true` when a disk is created, which indicates that the disk is a pay-as-you-go disk. // // @param request - CreateDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateDiskResponse func (client *Client) CreateDiskWithOptions(request *CreateDiskRequest, runtime *dara.RuntimeOptions) (_result *CreateDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AdvancedFeatures) { query["AdvancedFeatures"] = request.AdvancedFeatures } if !dara.IsNil(request.Arn) { query["Arn"] = request.Arn } if !dara.IsNil(request.BurstingEnabled) { query["BurstingEnabled"] = request.BurstingEnabled } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DiskCategory) { query["DiskCategory"] = request.DiskCategory } if !dara.IsNil(request.DiskName) { query["DiskName"] = request.DiskName } if !dara.IsNil(request.EncryptAlgorithm) { query["EncryptAlgorithm"] = request.EncryptAlgorithm } if !dara.IsNil(request.Encrypted) { query["Encrypted"] = request.Encrypted } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.KMSKeyId) { query["KMSKeyId"] = request.KMSKeyId } if !dara.IsNil(request.MultiAttach) { query["MultiAttach"] = request.MultiAttach } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PerformanceLevel) { query["PerformanceLevel"] = request.PerformanceLevel } if !dara.IsNil(request.ProvisionedIops) { query["ProvisionedIops"] = request.ProvisionedIops } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Size) { query["Size"] = request.Size } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } if !dara.IsNil(request.StorageClusterId) { query["StorageClusterId"] = request.StorageClusterId } if !dara.IsNil(request.StorageSetId) { query["StorageSetId"] = request.StorageSetId } if !dara.IsNil(request.StorageSetPartitionNumber) { query["StorageSetPartitionNumber"] = request.StorageSetPartitionNumber } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a pay-as-you-go or subscription data disk. // // Description: // // You can enable the multi-attach (`MultiAttach`) feature when you create a disk. Before you enable the multi-attach feature, we recommend that you familiarize yourself with the feature and the limits on the feature. For more information, see [NVMe protocol](https://help.aliyun.com/document_detail/256487.html) and [Use the multi-attach feature to attach a cloud disk to multiple ECS instances](https://help.aliyun.com/document_detail/262105.html). // // - You can create disks of the following disk categories: basic disks, ultra disks, standard SSDs, Enterprise SSDs (ESSDs), ESSD Entry disks, Regional ESSDs, ESSD AutoPL disks, standard elastic ephemeral disks, and premium elastic ephemeral disks. // // - Before you can create a disk, you must complete real-name verification. Complete real-name verification on the [Real-name Verification](https://account.console.aliyun.com/#/auth/home) page in the Alibaba Cloud Management Console. // // - When you create disks, you may be charged for the resources used. We recommend that you familiarize yourself with the billing methods of Elastic Compute Service (ECS) resources before you create a disk. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). // // - When you call this operation to create a disk, specific parameters are automatically specified. // // - `DeleteAutoSnapshot` is automatically set to `true` when a disk is created. This indicates that the automatic snapshots of the disk are deleted when the disk is released. You can call the [DescribeDisks](https://help.aliyun.com/document_detail/2679767.html) operation to query the DeleteAutoSnapshot value for the disk and call the [ModifyDiskAttribute](https://help.aliyun.com/document_detail/25517.html) operation to change the DeleteAutoSnapshot value for the disk. // // - If you do not specify a performance level when you create an ESSD, the performance level of the ESSD is automatically set to PL1. To change the performance level of the ESSD, you can call the [ModifyDiskSpec](https://help.aliyun.com/document_detail/123780.html) operation. // // - `Portable` is automatically set to `true` when a disk is created, which indicates that the disk is a pay-as-you-go disk. // // @param request - CreateDiskRequest // // @return CreateDiskResponse func (client *Client) CreateDisk(request *CreateDiskRequest) (_result *CreateDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateDiskResponse{} _body, _err := client.CreateDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an elasticity assurance in a region. When you call this operation, you can specify parameters, such as ZoneId, InstanceType, Period, PeriodUnit, and AutoRenew, in the request. // // Description: // // Elasticity Assurance provides a new method to purchase and use guaranteed resources in a flexible manner. Elasticity Assurance is a resource reservation service that provides assured access to resources for pay-as-you-go Elastic Compute Service (ECS) instances. For more information, see [Overview of Elasticity Assurance](https://help.aliyun.com/document_detail/193630.html). // // - After you purchase an elasticity assurance, you cannot request a refund for the elasticity assurance. For information about the billing of elasticity assurances, see [Resource assurance](https://help.aliyun.com/document_detail/432502.html). // // - Elasticity assurances can be used to create only pay-as-you-go ECS instances. // // - Elasticity assurances only support the unlimited mode. You can set `AssuranceTimes` only to `Unlimited`. Elasticity assurances in unlimited mode can be used for an unlimited number of times within their terms. Elasticity assurances in unlimited mode take effect immediately after creation. // // @param request - CreateElasticityAssuranceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateElasticityAssuranceResponse func (client *Client) CreateElasticityAssuranceWithOptions(request *CreateElasticityAssuranceRequest, runtime *dara.RuntimeOptions) (_result *CreateElasticityAssuranceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AssuranceTimes) { query["AssuranceTimes"] = request.AssuranceTimes } if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.InstanceAmount) { query["InstanceAmount"] = request.InstanceAmount } if !dara.IsNil(request.InstanceCpuCoreCount) { query["InstanceCpuCoreCount"] = request.InstanceCpuCoreCount } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RecurrenceRules) { query["RecurrenceRules"] = request.RecurrenceRules } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateElasticityAssurance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateElasticityAssuranceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an elasticity assurance in a region. When you call this operation, you can specify parameters, such as ZoneId, InstanceType, Period, PeriodUnit, and AutoRenew, in the request. // // Description: // // Elasticity Assurance provides a new method to purchase and use guaranteed resources in a flexible manner. Elasticity Assurance is a resource reservation service that provides assured access to resources for pay-as-you-go Elastic Compute Service (ECS) instances. For more information, see [Overview of Elasticity Assurance](https://help.aliyun.com/document_detail/193630.html). // // - After you purchase an elasticity assurance, you cannot request a refund for the elasticity assurance. For information about the billing of elasticity assurances, see [Resource assurance](https://help.aliyun.com/document_detail/432502.html). // // - Elasticity assurances can be used to create only pay-as-you-go ECS instances. // // - Elasticity assurances only support the unlimited mode. You can set `AssuranceTimes` only to `Unlimited`. Elasticity assurances in unlimited mode can be used for an unlimited number of times within their terms. Elasticity assurances in unlimited mode take effect immediately after creation. // // @param request - CreateElasticityAssuranceRequest // // @return CreateElasticityAssuranceResponse func (client *Client) CreateElasticityAssurance(request *CreateElasticityAssuranceRequest) (_result *CreateElasticityAssuranceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateElasticityAssuranceResponse{} _body, _err := client.CreateElasticityAssuranceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateForwardEntry is deprecated, please use Vpc::2016-04-28::CreateForwardEntry instead. // // Summary: // // # CreateForwardEntry // // @param request - CreateForwardEntryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateForwardEntryResponse func (client *Client) CreateForwardEntryWithOptions(request *CreateForwardEntryRequest, runtime *dara.RuntimeOptions) (_result *CreateForwardEntryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ExternalIp) { query["ExternalIp"] = request.ExternalIp } if !dara.IsNil(request.ExternalPort) { query["ExternalPort"] = request.ExternalPort } if !dara.IsNil(request.ForwardTableId) { query["ForwardTableId"] = request.ForwardTableId } if !dara.IsNil(request.InternalIp) { query["InternalIp"] = request.InternalIp } if !dara.IsNil(request.InternalPort) { query["InternalPort"] = request.InternalPort } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateForwardEntry"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateForwardEntryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateForwardEntry is deprecated, please use Vpc::2016-04-28::CreateForwardEntry instead. // // Summary: // // # CreateForwardEntry // // @param request - CreateForwardEntryRequest // // @return CreateForwardEntryResponse // Deprecated func (client *Client) CreateForwardEntry(request *CreateForwardEntryRequest) (_result *CreateForwardEntryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateForwardEntryResponse{} _body, _err := client.CreateForwardEntryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateHaVip is deprecated, please use Vpc::2016-04-28::CreateHaVip instead. // // Summary: // // # CreateHaVip // // @param request - CreateHaVipRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateHaVipResponse func (client *Client) CreateHaVipWithOptions(request *CreateHaVipRequest, runtime *dara.RuntimeOptions) (_result *CreateHaVipResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.IpAddress) { query["IpAddress"] = request.IpAddress } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateHaVip"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateHaVipResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateHaVip is deprecated, please use Vpc::2016-04-28::CreateHaVip instead. // // Summary: // // # CreateHaVip // // @param request - CreateHaVipRequest // // @return CreateHaVipResponse // Deprecated func (client *Client) CreateHaVip(request *CreateHaVipRequest) (_result *CreateHaVipResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateHaVipResponse{} _body, _err := client.CreateHaVipWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a high performance computing (HPC) cluster. // // @param request - CreateHpcClusterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateHpcClusterResponse func (client *Client) CreateHpcClusterWithOptions(request *CreateHpcClusterRequest, runtime *dara.RuntimeOptions) (_result *CreateHpcClusterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateHpcCluster"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateHpcClusterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a high performance computing (HPC) cluster. // // @param request - CreateHpcClusterRequest // // @return CreateHpcClusterResponse func (client *Client) CreateHpcCluster(request *CreateHpcClusterRequest) (_result *CreateHpcClusterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateHpcClusterResponse{} _body, _err := client.CreateHpcClusterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a custom image. After you call this operation to create a custom image, you can call the RunInstances operation to create Elastic Compute Service (ECS) instances from the custom image or call the ReplaceSystemDisk operation to replace system disks by using the custom image. // // Description: // // ### [](#)Considerations // // - This operation is an asynchronous operation. After a request to create a custom image is sent, an image ID is returned but the creation of the custom image is in progress. You can call the [DescribeImage](https://help.aliyun.com/document_detail/2679797.html) operation to query the status of the custom image. When the status of the custom image is `Available` in the response, the image is created and available. For more information, see [Overview of custom images](https://help.aliyun.com/document_detail/172789.html). // // - If the response contains {"OperationLocks": {"LockReason" : "security"}} when you query information about an ECS instance, the instance is locked for security reasons, and you cannot create a custom image from the instance. // // - To optimize the image, we recommend that you specify `DetectionStrategy` when you create a custom image. For information about the image check feature, see [Overview](https://help.aliyun.com/document_detail/439819.html). // // You can call the CreateImage operation to create a custom image by using one of the following methods. The following request parameters are prioritized in descending order: InstanceId, DiskDeviceMapping, and SnapshotId. If your request contains two or more of these parameters, the custom image is created based on the parameter that has a higher priority. // // - **Create a custom image from an instance**. Specify an instance ID (`InstanceId`). // // - The ECS instance must be in the Running (`Running`) or Stopped (`Stopped`) state. // // - After the CreateImage operation is called, a snapshot is created for each cloud disk of the instance. // // ** // // **Note* - When you create a custom image from a running ECS instance, cache data may not be written to disks. In this case, the data of the custom image may be slightly different from the data of the instance. Before you create a custom image from the instance, we recommend that you stop the instance by calling the StopInstancesoperation. // // - **Create a custom image from a snapshot. The specified snapshot must be created after July 15, 2013.** // // - **Create a custom image from a system disk snapshot of an ECS instance**. You need to only specify the ID of the system disk snapshot by using `SnapshotId`. // // - **Create a custom image from a system disk snapshot and data disk snapshots of an ECS instance**. You need to establish data association between the disks by specifying `DiskDeviceMapping`. // // - You can specify only one snapshot to create the system disk in the custom image. // // - You can specify up to 16 snapshots to use to create data disks in the custom image. If you do not specify `DiskDeviceMapping.N.SnapshotId`, an empty data disk with the default capacity is created. // // > When an ECS instance is released, the system disk of the instance is converted to a pay-as-you-go data disk. You cannot create a custom image from the snapshot of this disk. You must create a custom image from the snapshot of this disk before the instance is released. // // @param request - CreateImageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateImageResponse func (client *Client) CreateImageWithOptions(request *CreateImageRequest, runtime *dara.RuntimeOptions) (_result *CreateImageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Architecture) { query["Architecture"] = request.Architecture } if !dara.IsNil(request.BootMode) { query["BootMode"] = request.BootMode } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DetectionStrategy) { query["DetectionStrategy"] = request.DetectionStrategy } if !dara.IsNil(request.DiskDeviceMapping) { query["DiskDeviceMapping"] = request.DiskDeviceMapping } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Features) { query["Features"] = request.Features } if !dara.IsNil(request.ImageFamily) { query["ImageFamily"] = request.ImageFamily } if !dara.IsNil(request.ImageName) { query["ImageName"] = request.ImageName } if !dara.IsNil(request.ImageVersion) { query["ImageVersion"] = request.ImageVersion } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateImage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateImageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a custom image. After you call this operation to create a custom image, you can call the RunInstances operation to create Elastic Compute Service (ECS) instances from the custom image or call the ReplaceSystemDisk operation to replace system disks by using the custom image. // // Description: // // ### [](#)Considerations // // - This operation is an asynchronous operation. After a request to create a custom image is sent, an image ID is returned but the creation of the custom image is in progress. You can call the [DescribeImage](https://help.aliyun.com/document_detail/2679797.html) operation to query the status of the custom image. When the status of the custom image is `Available` in the response, the image is created and available. For more information, see [Overview of custom images](https://help.aliyun.com/document_detail/172789.html). // // - If the response contains {"OperationLocks": {"LockReason" : "security"}} when you query information about an ECS instance, the instance is locked for security reasons, and you cannot create a custom image from the instance. // // - To optimize the image, we recommend that you specify `DetectionStrategy` when you create a custom image. For information about the image check feature, see [Overview](https://help.aliyun.com/document_detail/439819.html). // // You can call the CreateImage operation to create a custom image by using one of the following methods. The following request parameters are prioritized in descending order: InstanceId, DiskDeviceMapping, and SnapshotId. If your request contains two or more of these parameters, the custom image is created based on the parameter that has a higher priority. // // - **Create a custom image from an instance**. Specify an instance ID (`InstanceId`). // // - The ECS instance must be in the Running (`Running`) or Stopped (`Stopped`) state. // // - After the CreateImage operation is called, a snapshot is created for each cloud disk of the instance. // // ** // // **Note* - When you create a custom image from a running ECS instance, cache data may not be written to disks. In this case, the data of the custom image may be slightly different from the data of the instance. Before you create a custom image from the instance, we recommend that you stop the instance by calling the StopInstancesoperation. // // - **Create a custom image from a snapshot. The specified snapshot must be created after July 15, 2013.** // // - **Create a custom image from a system disk snapshot of an ECS instance**. You need to only specify the ID of the system disk snapshot by using `SnapshotId`. // // - **Create a custom image from a system disk snapshot and data disk snapshots of an ECS instance**. You need to establish data association between the disks by specifying `DiskDeviceMapping`. // // - You can specify only one snapshot to create the system disk in the custom image. // // - You can specify up to 16 snapshots to use to create data disks in the custom image. If you do not specify `DiskDeviceMapping.N.SnapshotId`, an empty data disk with the default capacity is created. // // > When an ECS instance is released, the system disk of the instance is converted to a pay-as-you-go data disk. You cannot create a custom image from the snapshot of this disk. You must create a custom image from the snapshot of this disk before the instance is released. // // @param request - CreateImageRequest // // @return CreateImageResponse func (client *Client) CreateImage(request *CreateImageRequest) (_result *CreateImageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateImageResponse{} _body, _err := client.CreateImageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an image component. Image components are used to store the builder template commands that are commonly used when you create images. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - You can create only custom image components. // // - Each version number of an image component must be unique. When you add a version of an image component to an image template, you can specify the component by its name and version number. // // - The content size of an image component cannot exceed 16 KB. For information about the commands supported by Image Builder, see [Commands supported by Image Builder](https://help.aliyun.com/document_detail/200206.html). // // For more information, see [Image Builder](https://help.aliyun.com/document_detail/197410.html). // // @param request - CreateImageComponentRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateImageComponentResponse func (client *Client) CreateImageComponentWithOptions(request *CreateImageComponentRequest, runtime *dara.RuntimeOptions) (_result *CreateImageComponentResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ComponentType) { query["ComponentType"] = request.ComponentType } if !dara.IsNil(request.ComponentVersion) { query["ComponentVersion"] = request.ComponentVersion } if !dara.IsNil(request.Content) { query["Content"] = request.Content } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SystemType) { query["SystemType"] = request.SystemType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateImageComponent"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateImageComponentResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an image component. Image components are used to store the builder template commands that are commonly used when you create images. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - You can create only custom image components. // // - Each version number of an image component must be unique. When you add a version of an image component to an image template, you can specify the component by its name and version number. // // - The content size of an image component cannot exceed 16 KB. For information about the commands supported by Image Builder, see [Commands supported by Image Builder](https://help.aliyun.com/document_detail/200206.html). // // For more information, see [Image Builder](https://help.aliyun.com/document_detail/197410.html). // // @param request - CreateImageComponentRequest // // @return CreateImageComponentResponse func (client *Client) CreateImageComponent(request *CreateImageComponentRequest) (_result *CreateImageComponentResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateImageComponentResponse{} _body, _err := client.CreateImageComponentWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an image template. Image templates can be used to create images. // // Description: // // ## [](#)Usage notes // // You can use image templates to customize image content and create images across regions and accounts. Take note of the following items: // // - You can create only custom image templates. // // - You can specify only a public image, a custom image, a shared image, or an image family as the source image when you create an image template. // // - When you use an image template to create an image, multiple intermediate instances are created. You are charged for the intermediate instances on a pay-as-you-go basis. For more information, see [Pay-as-you-go](https://help.aliyun.com/document_detail/40653.html). // // When you use `BuildContent` to specify the build content in an image template, take note of the following items: // // - The `FROM` command is deprecated. Regardless of whether you specify the `FROM` command in `BuildContent`, the system uses the source image specified by `BaseImageType` and `BaseImage`. BaseImageType specifies the type of the source image and BaseImage specifies the source image. // // - The size of BuildContent cannot exceed 16 KB. For information about the commands supported by Image Builder, see [Commands supported by Image Builder](https://help.aliyun.com/document_detail/200206.html). // // For more information, see [Image Builder](https://help.aliyun.com/document_detail/197410.html). // // @param request - CreateImagePipelineRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateImagePipelineResponse func (client *Client) CreateImagePipelineWithOptions(request *CreateImagePipelineRequest, runtime *dara.RuntimeOptions) (_result *CreateImagePipelineResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AddAccount) { query["AddAccount"] = request.AddAccount } if !dara.IsNil(request.AdvancedOptions) { query["AdvancedOptions"] = request.AdvancedOptions } if !dara.IsNil(request.BaseImage) { query["BaseImage"] = request.BaseImage } if !dara.IsNil(request.BaseImageType) { query["BaseImageType"] = request.BaseImageType } if !dara.IsNil(request.BuildContent) { query["BuildContent"] = request.BuildContent } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DeleteInstanceOnFailure) { query["DeleteInstanceOnFailure"] = request.DeleteInstanceOnFailure } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.ImageFamily) { query["ImageFamily"] = request.ImageFamily } if !dara.IsNil(request.ImageName) { query["ImageName"] = request.ImageName } if !dara.IsNil(request.ImageOptions) { query["ImageOptions"] = request.ImageOptions } if !dara.IsNil(request.ImportImageOptions) { query["ImportImageOptions"] = request.ImportImageOptions } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.NvmeSupport) { query["NvmeSupport"] = request.NvmeSupport } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RepairMode) { query["RepairMode"] = request.RepairMode } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SystemDiskSize) { query["SystemDiskSize"] = request.SystemDiskSize } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TestContent) { query["TestContent"] = request.TestContent } if !dara.IsNil(request.ToRegionId) { query["ToRegionId"] = request.ToRegionId } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateImagePipeline"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateImagePipelineResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an image template. Image templates can be used to create images. // // Description: // // ## [](#)Usage notes // // You can use image templates to customize image content and create images across regions and accounts. Take note of the following items: // // - You can create only custom image templates. // // - You can specify only a public image, a custom image, a shared image, or an image family as the source image when you create an image template. // // - When you use an image template to create an image, multiple intermediate instances are created. You are charged for the intermediate instances on a pay-as-you-go basis. For more information, see [Pay-as-you-go](https://help.aliyun.com/document_detail/40653.html). // // When you use `BuildContent` to specify the build content in an image template, take note of the following items: // // - The `FROM` command is deprecated. Regardless of whether you specify the `FROM` command in `BuildContent`, the system uses the source image specified by `BaseImageType` and `BaseImage`. BaseImageType specifies the type of the source image and BaseImage specifies the source image. // // - The size of BuildContent cannot exceed 16 KB. For information about the commands supported by Image Builder, see [Commands supported by Image Builder](https://help.aliyun.com/document_detail/200206.html). // // For more information, see [Image Builder](https://help.aliyun.com/document_detail/197410.html). // // @param request - CreateImagePipelineRequest // // @return CreateImagePipelineResponse func (client *Client) CreateImagePipeline(request *CreateImagePipelineRequest) (_result *CreateImagePipelineResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateImagePipelineResponse{} _body, _err := client.CreateImagePipelineWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a subscription or pay-as-you-go Elastic Compute Service (ECS) instance. When you call this operation, you can specify different parameters to create instances based on your business requirements. // // Description: // // > This operation is no longer iterated or updated. We recommend that you call the [RunInstances](https://help.aliyun.com/document_detail/2679677.html) operation instead. // // **Before you call this operation, familiarize yourself with the billing rules and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of ECS resources.** // // This operation is an asynchronous operation. After a request to create an ECS instance is sent, an ECS instance ID is immediately returned but the instance may be still being created. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instance. If the status of the instance is `Stopped` in the DescribeInstanceStatus response, the instance is created. In this case, you can call the [StartInstance](https://help.aliyun.com/document_detail/2679679.html) operation to start the instance. // // ### [](#)Prerequisites // // - Make sure that you are familiar with the ECS billing methods because you may be charged for the resources that are used by the instance. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). // // - Make sure that the number of ECS instances you create or the number of vCPUs on ECS instances of all instance types you create does not exceed the corresponding quota. Go to the [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to view the quotas. // // - Before you create ECS instances of the Virtual Private Cloud (VPC) type in a region, create a VPC in the region. For more information, see [Create a VPC](https://help.aliyun.com/document_detail/65430.html). // // ### [](#)Considerations // // - If you create a subscription instance (`PrePaid`), available coupons in your account are automatically used. // // - If you want to create instances with 512 MiB of memory, you cannot use Windows Server images except for Windows Server Semi-Annual Channel images. If you want to create instances with 4 GiB or more of memory, you cannot use 32-bit OS image. // // - If you call the CreateInstance operation to create an instance, no public IP address is automatically assigned to the instance. If the InternetMaxBandwidthOut value of the instance is greater than 0 Mbit/s, call the [AllocatePublicIpAddress](https://help.aliyun.com/document_detail/25544.html) operation to assign a public IP address to the instance. If the InternetMaxBandwidthOut value of the instance is 0 Mbit/s, call the [ModifyInstanceNetworkSpec](https://help.aliyun.com/document_detail/2679879.html) operation to set InternetMaxBandwidthOut to a value greater than 0 Mbit/s and then call the [AllocatePublicIpAddress](https://help.aliyun.com/document_detail/25544.html) operation to assign a public IP address to the instance. // // > For the limits on the sum of maximum public bandwidths of ECS instances that use the pay-by-bandwidth billing method for network usage per region per Alibaba Cloud account, see the [Public bandwidth limits](~~25412#BandwidthQuota~~) section of the "Limits" topic. // // ### [](#)Suggestions // // - **Instance type selection**: See [Overview of instance families](https://help.aliyun.com/document_detail/25378.html) or call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the performance data of instance types, or see [Instance type selection](https://help.aliyun.com/document_detail/58291.html) to learn about how to select instance types. // // - **Query of available resources**: Call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation to query resources available in a specific region or zone. // // - **User data**: If the instance type supports [user data](https://help.aliyun.com/document_detail/49121.html), you can use UserData to pass in user data. We recommend that you do not pass in confidential information, such as passwords or private keys, in plaintext as user data. This is because the system does not encrypt `UserData` values when API requests are sent. If you must pass in confidential information as user data, we recommend that you encrypt and encode the information in Base64 before you pass in the information. Then, decode and decrypt the information within the instance for subsequent use. // // @param request - CreateInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateInstanceResponse func (client *Client) CreateInstanceWithOptions(request *CreateInstanceRequest, runtime *dara.RuntimeOptions) (_result *CreateInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Affinity) { query["Affinity"] = request.Affinity } if !dara.IsNil(request.Arn) { query["Arn"] = request.Arn } if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClusterId) { query["ClusterId"] = request.ClusterId } if !dara.IsNil(request.CreditSpecification) { query["CreditSpecification"] = request.CreditSpecification } if !dara.IsNil(request.DataDisk) { query["DataDisk"] = request.DataDisk } if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.DeletionProtection) { query["DeletionProtection"] = request.DeletionProtection } if !dara.IsNil(request.DeploymentSetGroupNo) { query["DeploymentSetGroupNo"] = request.DeploymentSetGroupNo } if !dara.IsNil(request.DeploymentSetId) { query["DeploymentSetId"] = request.DeploymentSetId } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.HostName) { query["HostName"] = request.HostName } if !dara.IsNil(request.HpcClusterId) { query["HpcClusterId"] = request.HpcClusterId } if !dara.IsNil(request.HttpEndpoint) { query["HttpEndpoint"] = request.HttpEndpoint } if !dara.IsNil(request.HttpPutResponseHopLimit) { query["HttpPutResponseHopLimit"] = request.HttpPutResponseHopLimit } if !dara.IsNil(request.HttpTokens) { query["HttpTokens"] = request.HttpTokens } if !dara.IsNil(request.ImageFamily) { query["ImageFamily"] = request.ImageFamily } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.InnerIpAddress) { query["InnerIpAddress"] = request.InnerIpAddress } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InternetChargeType) { query["InternetChargeType"] = request.InternetChargeType } if !dara.IsNil(request.InternetMaxBandwidthIn) { query["InternetMaxBandwidthIn"] = request.InternetMaxBandwidthIn } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.NodeControllerId) { query["NodeControllerId"] = request.NodeControllerId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Password) { query["Password"] = request.Password } if !dara.IsNil(request.PasswordInherit) { query["PasswordInherit"] = request.PasswordInherit } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.RamRoleName) { query["RamRoleName"] = request.RamRoleName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityEnhancementStrategy) { query["SecurityEnhancementStrategy"] = request.SecurityEnhancementStrategy } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SpotDuration) { query["SpotDuration"] = request.SpotDuration } if !dara.IsNil(request.SpotInterruptionBehavior) { query["SpotInterruptionBehavior"] = request.SpotInterruptionBehavior } if !dara.IsNil(request.SpotPriceLimit) { query["SpotPriceLimit"] = request.SpotPriceLimit } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.StorageSetId) { query["StorageSetId"] = request.StorageSetId } if !dara.IsNil(request.StorageSetPartitionNumber) { query["StorageSetPartitionNumber"] = request.StorageSetPartitionNumber } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Tenancy) { query["Tenancy"] = request.Tenancy } if !dara.IsNil(request.UseAdditionalService) { query["UseAdditionalService"] = request.UseAdditionalService } if !dara.IsNil(request.UserData) { query["UserData"] = request.UserData } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VlanId) { query["VlanId"] = request.VlanId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.HibernationOptions) { query["HibernationOptions"] = request.HibernationOptions } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a subscription or pay-as-you-go Elastic Compute Service (ECS) instance. When you call this operation, you can specify different parameters to create instances based on your business requirements. // // Description: // // > This operation is no longer iterated or updated. We recommend that you call the [RunInstances](https://help.aliyun.com/document_detail/2679677.html) operation instead. // // **Before you call this operation, familiarize yourself with the billing rules and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of ECS resources.** // // This operation is an asynchronous operation. After a request to create an ECS instance is sent, an ECS instance ID is immediately returned but the instance may be still being created. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instance. If the status of the instance is `Stopped` in the DescribeInstanceStatus response, the instance is created. In this case, you can call the [StartInstance](https://help.aliyun.com/document_detail/2679679.html) operation to start the instance. // // ### [](#)Prerequisites // // - Make sure that you are familiar with the ECS billing methods because you may be charged for the resources that are used by the instance. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). // // - Make sure that the number of ECS instances you create or the number of vCPUs on ECS instances of all instance types you create does not exceed the corresponding quota. Go to the [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to view the quotas. // // - Before you create ECS instances of the Virtual Private Cloud (VPC) type in a region, create a VPC in the region. For more information, see [Create a VPC](https://help.aliyun.com/document_detail/65430.html). // // ### [](#)Considerations // // - If you create a subscription instance (`PrePaid`), available coupons in your account are automatically used. // // - If you want to create instances with 512 MiB of memory, you cannot use Windows Server images except for Windows Server Semi-Annual Channel images. If you want to create instances with 4 GiB or more of memory, you cannot use 32-bit OS image. // // - If you call the CreateInstance operation to create an instance, no public IP address is automatically assigned to the instance. If the InternetMaxBandwidthOut value of the instance is greater than 0 Mbit/s, call the [AllocatePublicIpAddress](https://help.aliyun.com/document_detail/25544.html) operation to assign a public IP address to the instance. If the InternetMaxBandwidthOut value of the instance is 0 Mbit/s, call the [ModifyInstanceNetworkSpec](https://help.aliyun.com/document_detail/2679879.html) operation to set InternetMaxBandwidthOut to a value greater than 0 Mbit/s and then call the [AllocatePublicIpAddress](https://help.aliyun.com/document_detail/25544.html) operation to assign a public IP address to the instance. // // > For the limits on the sum of maximum public bandwidths of ECS instances that use the pay-by-bandwidth billing method for network usage per region per Alibaba Cloud account, see the [Public bandwidth limits](~~25412#BandwidthQuota~~) section of the "Limits" topic. // // ### [](#)Suggestions // // - **Instance type selection**: See [Overview of instance families](https://help.aliyun.com/document_detail/25378.html) or call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the performance data of instance types, or see [Instance type selection](https://help.aliyun.com/document_detail/58291.html) to learn about how to select instance types. // // - **Query of available resources**: Call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation to query resources available in a specific region or zone. // // - **User data**: If the instance type supports [user data](https://help.aliyun.com/document_detail/49121.html), you can use UserData to pass in user data. We recommend that you do not pass in confidential information, such as passwords or private keys, in plaintext as user data. This is because the system does not encrypt `UserData` values when API requests are sent. If you must pass in confidential information as user data, we recommend that you encrypt and encode the information in Base64 before you pass in the information. Then, decode and decrypt the information within the instance for subsequent use. // // @param request - CreateInstanceRequest // // @return CreateInstanceResponse func (client *Client) CreateInstance(request *CreateInstanceRequest) (_result *CreateInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateInstanceResponse{} _body, _err := client.CreateInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an SSH key pair. The system stores the public key and returns the unencrypted private key. The private key is encoded with PEM in the PKCS#8 format. You must properly store the private key and ensure its confidentiality. // // Description: // // In addition to calling the CreateKeyPair operation to create a key pair, you can use a third-party tool to create a key pair and then call the [ImportKeyPair](https://help.aliyun.com/document_detail/51774.html) operation to upload the key pair to an Alibaba Cloud region. // // Up to 500 key pairs can be created in each region. For more information, see the "SSH key pair limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html). // // @param request - CreateKeyPairRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateKeyPairResponse func (client *Client) CreateKeyPairWithOptions(request *CreateKeyPairRequest, runtime *dara.RuntimeOptions) (_result *CreateKeyPairResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateKeyPair"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateKeyPairResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an SSH key pair. The system stores the public key and returns the unencrypted private key. The private key is encoded with PEM in the PKCS#8 format. You must properly store the private key and ensure its confidentiality. // // Description: // // In addition to calling the CreateKeyPair operation to create a key pair, you can use a third-party tool to create a key pair and then call the [ImportKeyPair](https://help.aliyun.com/document_detail/51774.html) operation to upload the key pair to an Alibaba Cloud region. // // Up to 500 key pairs can be created in each region. For more information, see the "SSH key pair limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html). // // @param request - CreateKeyPairRequest // // @return CreateKeyPairResponse func (client *Client) CreateKeyPair(request *CreateKeyPairRequest) (_result *CreateKeyPairResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateKeyPairResponse{} _body, _err := client.CreateKeyPairWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a launch template. A launch template eliminates the need to configure a large number of parameters every time you create an Elastic Compute Service (ECS) instance. // // Description: // // After you create a launch template by calling the CreateLaunchTemplate operation, a default version that has a version number of 1 is automatically generated for the launch template. You can call the `CreateLaunchTemplateVersion` operation to create additional versions for the launch template. Version numbers start from 1 and increment by 1. If you specify a launch template but do not specify a launch template version number when you call the [RunInstances](https://help.aliyun.com/document_detail/63440.html) operation to create instances, the default version of the launch template is used. // // Launch templates contain preset configurations that are used to create instances, such as the region ID, image ID, instance type, security group ID, and public bandwidth settings. If a specific parameter is not included in a launch template, you need to manually specify the parameter when you use the launch template to create instances. // // Take note of the following items: // // - You can retain up to 30 launch templates in each region in your Alibaba Cloud account. Each launch template can have up to 30 versions. // // - Most parameters in launch templates are optional. When you create a launch template, ECS does not verify the existence or validity of specified parameter values. The parameter values are verified only when you use the launch template to create instances. // // - If you configured a specific parameter in a launch template, you cannot filter out the parameter when you call the [RunInstances](https://help.aliyun.com/document_detail/63440.html) operation to create instances from the launch template. For example, if you set `HostName` to LocalHost in a launch template but do not specify `HostName` when you call the `RunInstances` operation to create instances from the launch template, the hostname of the created instances is `LocalHost`. If you want to overwrite `LocalHost`, which is the value of HostName in the launch template, you can set `HostName` to MyHost or a different value when you call the `RunInstances` operation. // // @param request - CreateLaunchTemplateRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateLaunchTemplateResponse func (client *Client) CreateLaunchTemplateWithOptions(request *CreateLaunchTemplateRequest, runtime *dara.RuntimeOptions) (_result *CreateLaunchTemplateResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoReleaseTime) { query["AutoReleaseTime"] = request.AutoReleaseTime } if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.CreditSpecification) { query["CreditSpecification"] = request.CreditSpecification } if !dara.IsNil(request.DataDisk) { query["DataDisk"] = request.DataDisk } if !dara.IsNil(request.DeletionProtection) { query["DeletionProtection"] = request.DeletionProtection } if !dara.IsNil(request.DeploymentSetId) { query["DeploymentSetId"] = request.DeploymentSetId } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EnableVmOsConfig) { query["EnableVmOsConfig"] = request.EnableVmOsConfig } if !dara.IsNil(request.HostName) { query["HostName"] = request.HostName } if !dara.IsNil(request.HttpEndpoint) { query["HttpEndpoint"] = request.HttpEndpoint } if !dara.IsNil(request.HttpPutResponseHopLimit) { query["HttpPutResponseHopLimit"] = request.HttpPutResponseHopLimit } if !dara.IsNil(request.HttpTokens) { query["HttpTokens"] = request.HttpTokens } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.ImageOptions) { query["ImageOptions"] = request.ImageOptions } if !dara.IsNil(request.ImageOwnerAlias) { query["ImageOwnerAlias"] = request.ImageOwnerAlias } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InternetChargeType) { query["InternetChargeType"] = request.InternetChargeType } if !dara.IsNil(request.InternetMaxBandwidthIn) { query["InternetMaxBandwidthIn"] = request.InternetMaxBandwidthIn } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.Ipv6AddressCount) { query["Ipv6AddressCount"] = request.Ipv6AddressCount } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.NetworkInterface) { query["NetworkInterface"] = request.NetworkInterface } if !dara.IsNil(request.NetworkType) { query["NetworkType"] = request.NetworkType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PasswordInherit) { query["PasswordInherit"] = request.PasswordInherit } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.RamRoleName) { query["RamRoleName"] = request.RamRoleName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityEnhancementStrategy) { query["SecurityEnhancementStrategy"] = request.SecurityEnhancementStrategy } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupIds) { query["SecurityGroupIds"] = request.SecurityGroupIds } if !dara.IsNil(request.SecurityOptions) { query["SecurityOptions"] = request.SecurityOptions } if !dara.IsNil(request.SpotDuration) { query["SpotDuration"] = request.SpotDuration } if !dara.IsNil(request.SpotPriceLimit) { query["SpotPriceLimit"] = request.SpotPriceLimit } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TemplateResourceGroupId) { query["TemplateResourceGroupId"] = request.TemplateResourceGroupId } if !dara.IsNil(request.TemplateTag) { query["TemplateTag"] = request.TemplateTag } if !dara.IsNil(request.UserData) { query["UserData"] = request.UserData } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VersionDescription) { query["VersionDescription"] = request.VersionDescription } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateLaunchTemplate"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateLaunchTemplateResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a launch template. A launch template eliminates the need to configure a large number of parameters every time you create an Elastic Compute Service (ECS) instance. // // Description: // // After you create a launch template by calling the CreateLaunchTemplate operation, a default version that has a version number of 1 is automatically generated for the launch template. You can call the `CreateLaunchTemplateVersion` operation to create additional versions for the launch template. Version numbers start from 1 and increment by 1. If you specify a launch template but do not specify a launch template version number when you call the [RunInstances](https://help.aliyun.com/document_detail/63440.html) operation to create instances, the default version of the launch template is used. // // Launch templates contain preset configurations that are used to create instances, such as the region ID, image ID, instance type, security group ID, and public bandwidth settings. If a specific parameter is not included in a launch template, you need to manually specify the parameter when you use the launch template to create instances. // // Take note of the following items: // // - You can retain up to 30 launch templates in each region in your Alibaba Cloud account. Each launch template can have up to 30 versions. // // - Most parameters in launch templates are optional. When you create a launch template, ECS does not verify the existence or validity of specified parameter values. The parameter values are verified only when you use the launch template to create instances. // // - If you configured a specific parameter in a launch template, you cannot filter out the parameter when you call the [RunInstances](https://help.aliyun.com/document_detail/63440.html) operation to create instances from the launch template. For example, if you set `HostName` to LocalHost in a launch template but do not specify `HostName` when you call the `RunInstances` operation to create instances from the launch template, the hostname of the created instances is `LocalHost`. If you want to overwrite `LocalHost`, which is the value of HostName in the launch template, you can set `HostName` to MyHost or a different value when you call the `RunInstances` operation. // // @param request - CreateLaunchTemplateRequest // // @return CreateLaunchTemplateResponse func (client *Client) CreateLaunchTemplate(request *CreateLaunchTemplateRequest) (_result *CreateLaunchTemplateResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateLaunchTemplateResponse{} _body, _err := client.CreateLaunchTemplateWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a version for a launch template. You can use the created version to create Elastic Compute Service (ECS) instances, scaling groups, or auto provisioning groups. // // Description: // // ## [](#)Usage notes // // If you want to modify the parameters of a launch template version, you can create another version with different parameter settings for the launch template. You can create up to 30 versions for each launch template. // // @param request - CreateLaunchTemplateVersionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateLaunchTemplateVersionResponse func (client *Client) CreateLaunchTemplateVersionWithOptions(request *CreateLaunchTemplateVersionRequest, runtime *dara.RuntimeOptions) (_result *CreateLaunchTemplateVersionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoReleaseTime) { query["AutoReleaseTime"] = request.AutoReleaseTime } if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.CreditSpecification) { query["CreditSpecification"] = request.CreditSpecification } if !dara.IsNil(request.DataDisk) { query["DataDisk"] = request.DataDisk } if !dara.IsNil(request.DeletionProtection) { query["DeletionProtection"] = request.DeletionProtection } if !dara.IsNil(request.DeploymentSetId) { query["DeploymentSetId"] = request.DeploymentSetId } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EnableVmOsConfig) { query["EnableVmOsConfig"] = request.EnableVmOsConfig } if !dara.IsNil(request.HostName) { query["HostName"] = request.HostName } if !dara.IsNil(request.HttpEndpoint) { query["HttpEndpoint"] = request.HttpEndpoint } if !dara.IsNil(request.HttpPutResponseHopLimit) { query["HttpPutResponseHopLimit"] = request.HttpPutResponseHopLimit } if !dara.IsNil(request.HttpTokens) { query["HttpTokens"] = request.HttpTokens } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.ImageOptions) { query["ImageOptions"] = request.ImageOptions } if !dara.IsNil(request.ImageOwnerAlias) { query["ImageOwnerAlias"] = request.ImageOwnerAlias } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InternetChargeType) { query["InternetChargeType"] = request.InternetChargeType } if !dara.IsNil(request.InternetMaxBandwidthIn) { query["InternetMaxBandwidthIn"] = request.InternetMaxBandwidthIn } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.Ipv6AddressCount) { query["Ipv6AddressCount"] = request.Ipv6AddressCount } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.NetworkInterface) { query["NetworkInterface"] = request.NetworkInterface } if !dara.IsNil(request.NetworkType) { query["NetworkType"] = request.NetworkType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PasswordInherit) { query["PasswordInherit"] = request.PasswordInherit } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.RamRoleName) { query["RamRoleName"] = request.RamRoleName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityEnhancementStrategy) { query["SecurityEnhancementStrategy"] = request.SecurityEnhancementStrategy } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupIds) { query["SecurityGroupIds"] = request.SecurityGroupIds } if !dara.IsNil(request.SecurityOptions) { query["SecurityOptions"] = request.SecurityOptions } if !dara.IsNil(request.SpotDuration) { query["SpotDuration"] = request.SpotDuration } if !dara.IsNil(request.SpotPriceLimit) { query["SpotPriceLimit"] = request.SpotPriceLimit } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.UserData) { query["UserData"] = request.UserData } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VersionDescription) { query["VersionDescription"] = request.VersionDescription } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateLaunchTemplateVersion"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateLaunchTemplateVersionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a version for a launch template. You can use the created version to create Elastic Compute Service (ECS) instances, scaling groups, or auto provisioning groups. // // Description: // // ## [](#)Usage notes // // If you want to modify the parameters of a launch template version, you can create another version with different parameter settings for the launch template. You can create up to 30 versions for each launch template. // // @param request - CreateLaunchTemplateVersionRequest // // @return CreateLaunchTemplateVersionResponse func (client *Client) CreateLaunchTemplateVersion(request *CreateLaunchTemplateVersionRequest) (_result *CreateLaunchTemplateVersionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateLaunchTemplateVersionResponse{} _body, _err := client.CreateLaunchTemplateVersionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateNatGateway is deprecated, please use Vpc::2016-04-28::CreateNatGateway instead. // // Summary: // // # CreateNatGateway // // @param request - CreateNatGatewayRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateNatGatewayResponse func (client *Client) CreateNatGatewayWithOptions(request *CreateNatGatewayRequest, runtime *dara.RuntimeOptions) (_result *CreateNatGatewayResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BandwidthPackage) { query["BandwidthPackage"] = request.BandwidthPackage } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateNatGateway"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateNatGatewayResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateNatGateway is deprecated, please use Vpc::2016-04-28::CreateNatGateway instead. // // Summary: // // # CreateNatGateway // // @param request - CreateNatGatewayRequest // // @return CreateNatGatewayResponse // Deprecated func (client *Client) CreateNatGateway(request *CreateNatGatewayRequest) (_result *CreateNatGatewayResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateNatGatewayResponse{} _body, _err := client.CreateNatGatewayWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates an elastic network interface (ENI). You can specify an IP address as the primary private IP address of the ENI. // // Description: // // Take note of the following items: // // - This operation is a synchronous operation. After an ENI is created, the ENI immediately enters the Available (`Available`) state and can be attached to an Elastic Compute Service (ECS) instance. // // - If `NetworkInterfaceId` is empty in the response, no ENI is created. Recall the operation to create an ENI. // // - An ENI can be attached only to a single ECS instance that resides in a virtual private cloud (VPC). // // - When an ENI is detached from an ECS instance and attached to another ECS instance, the attributes of the ENI remain unchanged and network traffic is redirected to the new instance. // // - When you call this operation to create an ENI, you can assign up to 49 secondary private IP addresses to the ENI. // // - If you want to assign IPv6 addresses when you create an ENI, make sure that IPv6 is enabled for the vSwitch with which you want to associate the ENI. For more information, see [What is an IPv6 gateway?](https://help.aliyun.com/document_detail/98896.html) // // - A limit is imposed on the number of ENIs that can be created per Alibaba Cloud region per account. You can view the quota limit in the ECS console. For more information, see [Manage ECS quotas](https://help.aliyun.com/document_detail/184115.html). // // ### [](#)Sample requests // // **Create an ENI** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.SecurityGroupId: sg-bp10jztp6b0sdsyl****, // Specify the ID of the security group in which to create the ENI.VSwitchId: vsw-bp19wo63nleroq22g****, // Specify the ID of the vSwitch to which to connect the ENI. // // **Create an ENI and specify an IP address as the primary private IP address of the ENI** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.SecurityGroupId: sg-bp10jztp6b0sdsyl****, // Specify the ID of the security group in which to create the ENI.VSwitchId: vsw-bp19wo63nleroq22g****, // Specify the ID of the vSwitch to which to connect the ENI.PrimaryIpAddress: 192.168.0.*, // Specify an IP address as the primary private IP address of the ENI. // // @param request - CreateNetworkInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateNetworkInterfaceResponse func (client *Client) CreateNetworkInterfaceWithOptions(request *CreateNetworkInterfaceRequest, runtime *dara.RuntimeOptions) (_result *CreateNetworkInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BusinessType) { query["BusinessType"] = request.BusinessType } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ConnectionTrackingConfiguration) { query["ConnectionTrackingConfiguration"] = request.ConnectionTrackingConfiguration } if !dara.IsNil(request.DeleteOnRelease) { query["DeleteOnRelease"] = request.DeleteOnRelease } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EnhancedNetwork) { query["EnhancedNetwork"] = request.EnhancedNetwork } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.Ipv4Prefix) { query["Ipv4Prefix"] = request.Ipv4Prefix } if !dara.IsNil(request.Ipv4PrefixCount) { query["Ipv4PrefixCount"] = request.Ipv4PrefixCount } if !dara.IsNil(request.Ipv6Address) { query["Ipv6Address"] = request.Ipv6Address } if !dara.IsNil(request.Ipv6AddressCount) { query["Ipv6AddressCount"] = request.Ipv6AddressCount } if !dara.IsNil(request.Ipv6Prefix) { query["Ipv6Prefix"] = request.Ipv6Prefix } if !dara.IsNil(request.Ipv6PrefixCount) { query["Ipv6PrefixCount"] = request.Ipv6PrefixCount } if !dara.IsNil(request.NetworkInterfaceName) { query["NetworkInterfaceName"] = request.NetworkInterfaceName } if !dara.IsNil(request.NetworkInterfaceTrafficConfig) { query["NetworkInterfaceTrafficConfig"] = request.NetworkInterfaceTrafficConfig } if !dara.IsNil(request.NetworkInterfaceTrafficMode) { query["NetworkInterfaceTrafficMode"] = request.NetworkInterfaceTrafficMode } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrimaryIpAddress) { query["PrimaryIpAddress"] = request.PrimaryIpAddress } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.QueueNumber) { query["QueueNumber"] = request.QueueNumber } if !dara.IsNil(request.QueuePairNumber) { query["QueuePairNumber"] = request.QueuePairNumber } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RxQueueSize) { query["RxQueueSize"] = request.RxQueueSize } if !dara.IsNil(request.SecondaryPrivateIpAddressCount) { query["SecondaryPrivateIpAddressCount"] = request.SecondaryPrivateIpAddressCount } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupIds) { query["SecurityGroupIds"] = request.SecurityGroupIds } if !dara.IsNil(request.SourceDestCheck) { query["SourceDestCheck"] = request.SourceDestCheck } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TxQueueSize) { query["TxQueueSize"] = request.TxQueueSize } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.Visible) { query["Visible"] = request.Visible } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateNetworkInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateNetworkInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates an elastic network interface (ENI). You can specify an IP address as the primary private IP address of the ENI. // // Description: // // Take note of the following items: // // - This operation is a synchronous operation. After an ENI is created, the ENI immediately enters the Available (`Available`) state and can be attached to an Elastic Compute Service (ECS) instance. // // - If `NetworkInterfaceId` is empty in the response, no ENI is created. Recall the operation to create an ENI. // // - An ENI can be attached only to a single ECS instance that resides in a virtual private cloud (VPC). // // - When an ENI is detached from an ECS instance and attached to another ECS instance, the attributes of the ENI remain unchanged and network traffic is redirected to the new instance. // // - When you call this operation to create an ENI, you can assign up to 49 secondary private IP addresses to the ENI. // // - If you want to assign IPv6 addresses when you create an ENI, make sure that IPv6 is enabled for the vSwitch with which you want to associate the ENI. For more information, see [What is an IPv6 gateway?](https://help.aliyun.com/document_detail/98896.html) // // - A limit is imposed on the number of ENIs that can be created per Alibaba Cloud region per account. You can view the quota limit in the ECS console. For more information, see [Manage ECS quotas](https://help.aliyun.com/document_detail/184115.html). // // ### [](#)Sample requests // // **Create an ENI** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.SecurityGroupId: sg-bp10jztp6b0sdsyl****, // Specify the ID of the security group in which to create the ENI.VSwitchId: vsw-bp19wo63nleroq22g****, // Specify the ID of the vSwitch to which to connect the ENI. // // **Create an ENI and specify an IP address as the primary private IP address of the ENI** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.SecurityGroupId: sg-bp10jztp6b0sdsyl****, // Specify the ID of the security group in which to create the ENI.VSwitchId: vsw-bp19wo63nleroq22g****, // Specify the ID of the vSwitch to which to connect the ENI.PrimaryIpAddress: 192.168.0.*, // Specify an IP address as the primary private IP address of the ENI. // // @param request - CreateNetworkInterfaceRequest // // @return CreateNetworkInterfaceResponse func (client *Client) CreateNetworkInterface(request *CreateNetworkInterfaceRequest) (_result *CreateNetworkInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateNetworkInterfaceResponse{} _body, _err := client.CreateNetworkInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Grants a permission on an elastic network interface (ENI) to an Alibaba Cloud partner (a certified ISV) or an individual user. // // Description: // // Before you call this operation, submit a ticket to apply for using this operation. // // @param request - CreateNetworkInterfacePermissionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateNetworkInterfacePermissionResponse func (client *Client) CreateNetworkInterfacePermissionWithOptions(request *CreateNetworkInterfacePermissionRequest, runtime *dara.RuntimeOptions) (_result *CreateNetworkInterfacePermissionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AccountId) { query["AccountId"] = request.AccountId } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Permission) { query["Permission"] = request.Permission } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateNetworkInterfacePermission"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateNetworkInterfacePermissionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Grants a permission on an elastic network interface (ENI) to an Alibaba Cloud partner (a certified ISV) or an individual user. // // Description: // // Before you call this operation, submit a ticket to apply for using this operation. // // @param request - CreateNetworkInterfacePermissionRequest // // @return CreateNetworkInterfacePermissionResponse func (client *Client) CreateNetworkInterfacePermission(request *CreateNetworkInterfacePermissionRequest) (_result *CreateNetworkInterfacePermissionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateNetworkInterfacePermissionResponse{} _body, _err := client.CreateNetworkInterfacePermissionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreatePhysicalConnection is deprecated, please use Vpc::2016-04-28::CreatePhysicalConnection instead. // // Summary: // // # CreatePhysicalConnection // // @param request - CreatePhysicalConnectionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreatePhysicalConnectionResponse func (client *Client) CreatePhysicalConnectionWithOptions(request *CreatePhysicalConnectionRequest, runtime *dara.RuntimeOptions) (_result *CreatePhysicalConnectionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AccessPointId) { query["AccessPointId"] = request.AccessPointId } if !dara.IsNil(request.CircuitCode) { query["CircuitCode"] = request.CircuitCode } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.LineOperator) { query["LineOperator"] = request.LineOperator } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PeerLocation) { query["PeerLocation"] = request.PeerLocation } if !dara.IsNil(request.PortType) { query["PortType"] = request.PortType } if !dara.IsNil(request.RedundantPhysicalConnectionId) { query["RedundantPhysicalConnectionId"] = request.RedundantPhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Type) { query["Type"] = request.Type } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.Bandwidth) { query["bandwidth"] = request.Bandwidth } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreatePhysicalConnection"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreatePhysicalConnectionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreatePhysicalConnection is deprecated, please use Vpc::2016-04-28::CreatePhysicalConnection instead. // // Summary: // // # CreatePhysicalConnection // // @param request - CreatePhysicalConnectionRequest // // @return CreatePhysicalConnectionResponse // Deprecated func (client *Client) CreatePhysicalConnection(request *CreatePhysicalConnectionRequest) (_result *CreatePhysicalConnectionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreatePhysicalConnectionResponse{} _body, _err := client.CreatePhysicalConnectionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 创建运维窗口 // // @param tmpReq - CreatePlanMaintenanceWindowRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreatePlanMaintenanceWindowResponse func (client *Client) CreatePlanMaintenanceWindowWithOptions(tmpReq *CreatePlanMaintenanceWindowRequest, runtime *dara.RuntimeOptions) (_result *CreatePlanMaintenanceWindowResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &CreatePlanMaintenanceWindowShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.TargetResource) { request.TargetResourceShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.TargetResource, dara.String("TargetResource"), dara.String("json")) } if !dara.IsNil(tmpReq.TimePeriod) { request.TimePeriodShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.TimePeriod, dara.String("TimePeriod"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.Enable) { query["Enable"] = request.Enable } if !dara.IsNil(request.PlanWindowName) { query["PlanWindowName"] = request.PlanWindowName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.SupportMaintenanceAction) { query["SupportMaintenanceAction"] = request.SupportMaintenanceAction } if !dara.IsNil(request.TargetResourceShrink) { query["TargetResource"] = request.TargetResourceShrink } if !dara.IsNil(request.TimePeriodShrink) { query["TimePeriod"] = request.TimePeriodShrink } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreatePlanMaintenanceWindow"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreatePlanMaintenanceWindowResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 创建运维窗口 // // @param request - CreatePlanMaintenanceWindowRequest // // @return CreatePlanMaintenanceWindowResponse func (client *Client) CreatePlanMaintenanceWindow(request *CreatePlanMaintenanceWindowRequest) (_result *CreatePlanMaintenanceWindowResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreatePlanMaintenanceWindowResponse{} _body, _err := client.CreatePlanMaintenanceWindowWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a port list. You can associate a port list with resources, such as security groups. // // @param request - CreatePortRangeListRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreatePortRangeListResponse func (client *Client) CreatePortRangeListWithOptions(request *CreatePortRangeListRequest, runtime *dara.RuntimeOptions) (_result *CreatePortRangeListResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Entry) { query["Entry"] = request.Entry } if !dara.IsNil(request.MaxEntries) { query["MaxEntries"] = request.MaxEntries } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PortRangeListName) { query["PortRangeListName"] = request.PortRangeListName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreatePortRangeList"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreatePortRangeListResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a port list. You can associate a port list with resources, such as security groups. // // @param request - CreatePortRangeListRequest // // @return CreatePortRangeListResponse func (client *Client) CreatePortRangeList(request *CreatePortRangeListRequest) (_result *CreatePortRangeListResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreatePortRangeListResponse{} _body, _err := client.CreatePortRangeListWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a prefix list. // // Description: // // ## [](#)Usage notes // // - A prefix list is a collection of network prefixes (CIDR blocks) and can be referenced to configure network rules for other resources. For more information, see [Overview](https://help.aliyun.com/document_detail/206223.html). // // - When you create a prefix list, take note of the following items: // // - You must specify an IP address family (IPv4 or IPv6) for the prefix list, and cannot change the IP address family after the prefix list is created. You cannot combine IPv4 and IPv6 CIDR blocks in a single prefix list. // // - You must specify the maximum number of entries that the prefix list can contain. You cannot modify the maximum number of entries after the prefix list is created. // // - You can specify entries for the prefix list. Each entry consists of a CIDR block and the description for the CIDR block. The total number of entries cannot exceed the maximum number of entries that you specified. // // - For more information about the limits on prefix lists and other resources, see [Limits](https://help.aliyun.com/document_detail/25412.html). // // - You can create Resource Access Management (RAM) users and grant them minimum permissions. This eliminates the need to share the AccessKey pair of your Alibaba Cloud account with other users and reduces security risks for your enterprises. For information about how to grant permissions on prefix lists to RAM users, see [Grant a RAM user permissions on prefix lists](https://help.aliyun.com/document_detail/206175.html) // // @param request - CreatePrefixListRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreatePrefixListResponse func (client *Client) CreatePrefixListWithOptions(request *CreatePrefixListRequest, runtime *dara.RuntimeOptions) (_result *CreatePrefixListResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AddressFamily) { query["AddressFamily"] = request.AddressFamily } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Entry) { query["Entry"] = request.Entry } if !dara.IsNil(request.MaxEntries) { query["MaxEntries"] = request.MaxEntries } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrefixListName) { query["PrefixListName"] = request.PrefixListName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreatePrefixList"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreatePrefixListResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a prefix list. // // Description: // // ## [](#)Usage notes // // - A prefix list is a collection of network prefixes (CIDR blocks) and can be referenced to configure network rules for other resources. For more information, see [Overview](https://help.aliyun.com/document_detail/206223.html). // // - When you create a prefix list, take note of the following items: // // - You must specify an IP address family (IPv4 or IPv6) for the prefix list, and cannot change the IP address family after the prefix list is created. You cannot combine IPv4 and IPv6 CIDR blocks in a single prefix list. // // - You must specify the maximum number of entries that the prefix list can contain. You cannot modify the maximum number of entries after the prefix list is created. // // - You can specify entries for the prefix list. Each entry consists of a CIDR block and the description for the CIDR block. The total number of entries cannot exceed the maximum number of entries that you specified. // // - For more information about the limits on prefix lists and other resources, see [Limits](https://help.aliyun.com/document_detail/25412.html). // // - You can create Resource Access Management (RAM) users and grant them minimum permissions. This eliminates the need to share the AccessKey pair of your Alibaba Cloud account with other users and reduces security risks for your enterprises. For information about how to grant permissions on prefix lists to RAM users, see [Grant a RAM user permissions on prefix lists](https://help.aliyun.com/document_detail/206175.html) // // @param request - CreatePrefixListRequest // // @return CreatePrefixListResponse func (client *Client) CreatePrefixList(request *CreatePrefixListRequest) (_result *CreatePrefixListResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreatePrefixListResponse{} _body, _err := client.CreatePrefixListWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateRouteEntry is deprecated, please use Vpc::2016-04-28::CreateRouteEntry instead. // // Summary: // // # CreateRouteEntry // // @param request - CreateRouteEntryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateRouteEntryResponse func (client *Client) CreateRouteEntryWithOptions(request *CreateRouteEntryRequest, runtime *dara.RuntimeOptions) (_result *CreateRouteEntryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DestinationCidrBlock) { query["DestinationCidrBlock"] = request.DestinationCidrBlock } if !dara.IsNil(request.NextHopId) { query["NextHopId"] = request.NextHopId } if !dara.IsNil(request.NextHopList) { query["NextHopList"] = request.NextHopList } if !dara.IsNil(request.NextHopType) { query["NextHopType"] = request.NextHopType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouteTableId) { query["RouteTableId"] = request.RouteTableId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateRouteEntry"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateRouteEntryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateRouteEntry is deprecated, please use Vpc::2016-04-28::CreateRouteEntry instead. // // Summary: // // # CreateRouteEntry // // @param request - CreateRouteEntryRequest // // @return CreateRouteEntryResponse // Deprecated func (client *Client) CreateRouteEntry(request *CreateRouteEntryRequest) (_result *CreateRouteEntryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateRouteEntryResponse{} _body, _err := client.CreateRouteEntryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateRouterInterface is deprecated, please use Vpc::2016-04-28::CreateRouterInterface instead. // // Summary: // // # CreateRouterInterface // // @param request - CreateRouterInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateRouterInterfaceResponse func (client *Client) CreateRouterInterfaceWithOptions(request *CreateRouterInterfaceRequest, runtime *dara.RuntimeOptions) (_result *CreateRouterInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AccessPointId) { query["AccessPointId"] = request.AccessPointId } if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.HealthCheckSourceIp) { query["HealthCheckSourceIp"] = request.HealthCheckSourceIp } if !dara.IsNil(request.HealthCheckTargetIp) { query["HealthCheckTargetIp"] = request.HealthCheckTargetIp } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OppositeAccessPointId) { query["OppositeAccessPointId"] = request.OppositeAccessPointId } if !dara.IsNil(request.OppositeInterfaceId) { query["OppositeInterfaceId"] = request.OppositeInterfaceId } if !dara.IsNil(request.OppositeInterfaceOwnerId) { query["OppositeInterfaceOwnerId"] = request.OppositeInterfaceOwnerId } if !dara.IsNil(request.OppositeRegionId) { query["OppositeRegionId"] = request.OppositeRegionId } if !dara.IsNil(request.OppositeRouterId) { query["OppositeRouterId"] = request.OppositeRouterId } if !dara.IsNil(request.OppositeRouterType) { query["OppositeRouterType"] = request.OppositeRouterType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PricingCycle) { query["PricingCycle"] = request.PricingCycle } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Role) { query["Role"] = request.Role } if !dara.IsNil(request.RouterId) { query["RouterId"] = request.RouterId } if !dara.IsNil(request.RouterType) { query["RouterType"] = request.RouterType } if !dara.IsNil(request.Spec) { query["Spec"] = request.Spec } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateRouterInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateRouterInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateRouterInterface is deprecated, please use Vpc::2016-04-28::CreateRouterInterface instead. // // Summary: // // # CreateRouterInterface // // @param request - CreateRouterInterfaceRequest // // @return CreateRouterInterfaceResponse // Deprecated func (client *Client) CreateRouterInterface(request *CreateRouterInterfaceRequest) (_result *CreateRouterInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateRouterInterfaceResponse{} _body, _err := client.CreateRouterInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 购买节省计划并预付费换购按量付费 // // @param request - CreateSavingsPlanRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateSavingsPlanResponse func (client *Client) CreateSavingsPlanWithOptions(request *CreateSavingsPlanRequest, runtime *dara.RuntimeOptions) (_result *CreateSavingsPlanResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ChargeType) { query["ChargeType"] = request.ChargeType } if !dara.IsNil(request.CommittedAmount) { query["CommittedAmount"] = request.CommittedAmount } if !dara.IsNil(request.InstanceTypeFamily) { query["InstanceTypeFamily"] = request.InstanceTypeFamily } if !dara.IsNil(request.InstanceTypeFamilyGroup) { query["InstanceTypeFamilyGroup"] = request.InstanceTypeFamilyGroup } if !dara.IsNil(request.OfferingType) { query["OfferingType"] = request.OfferingType } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.PlanType) { query["PlanType"] = request.PlanType } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateSavingsPlan"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateSavingsPlanResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 购买节省计划并预付费换购按量付费 // // @param request - CreateSavingsPlanRequest // // @return CreateSavingsPlanResponse func (client *Client) CreateSavingsPlan(request *CreateSavingsPlanRequest) (_result *CreateSavingsPlanResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateSavingsPlanResponse{} _body, _err := client.CreateSavingsPlanWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a security group. // // Description: // // By default, the internal access control policy (InnerAccessPolicy) of the basic security group that you create by calling this operation is internal interconnectivity (**Accept**). You can call the [ModifySecurityGroupPolicy](https://help.aliyun.com/document_detail/2679846.html) operation to change the value of InnerAccessPolicy for the basic security group. // // - By default, the internal access control policy (InnerAccessPolicy) of the advanced security group that you create by calling this operation is internal isolation (**Drop**). The InnerAccessPolicy value of the advanced security group cannot be changed. // // - You can create a limited number of security groups per region. You can create at least 100 security groups per region. For more information, see the [Security group limits](~~25412#SecurityGroupQuota1~~) section in the "Limits" topic. // // - To create a security group of the Virtual Private Cloud (VPC) type, you must specify VpcId. // // @param request - CreateSecurityGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateSecurityGroupResponse func (client *Client) CreateSecurityGroupWithOptions(request *CreateSecurityGroupRequest, runtime *dara.RuntimeOptions) (_result *CreateSecurityGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupName) { query["SecurityGroupName"] = request.SecurityGroupName } if !dara.IsNil(request.SecurityGroupType) { query["SecurityGroupType"] = request.SecurityGroupType } if !dara.IsNil(request.ServiceManaged) { query["ServiceManaged"] = request.ServiceManaged } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateSecurityGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateSecurityGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a security group. // // Description: // // By default, the internal access control policy (InnerAccessPolicy) of the basic security group that you create by calling this operation is internal interconnectivity (**Accept**). You can call the [ModifySecurityGroupPolicy](https://help.aliyun.com/document_detail/2679846.html) operation to change the value of InnerAccessPolicy for the basic security group. // // - By default, the internal access control policy (InnerAccessPolicy) of the advanced security group that you create by calling this operation is internal isolation (**Drop**). The InnerAccessPolicy value of the advanced security group cannot be changed. // // - You can create a limited number of security groups per region. You can create at least 100 security groups per region. For more information, see the [Security group limits](~~25412#SecurityGroupQuota1~~) section in the "Limits" topic. // // - To create a security group of the Virtual Private Cloud (VPC) type, you must specify VpcId. // // @param request - CreateSecurityGroupRequest // // @return CreateSecurityGroupResponse func (client *Client) CreateSecurityGroup(request *CreateSecurityGroupRequest) (_result *CreateSecurityGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateSecurityGroupResponse{} _body, _err := client.CreateSecurityGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Schedules simulated system events of Elastic Compute Service (ECS) instances. The simulated system events do not actually occur on or affect ECS instances. // // Description: // // You can use the ECS console, call [ECS API](https://help.aliyun.com/document_detail/63962.html) operations, or use CloudMonitor to view the scheduled simulated system events. // // The following descriptions provide the lifecycle of a simulated system event: // // - Scheduled: The state of the simulated system event is automatically changed to Scheduled after it is scheduled. // // - Executed: The state of the simulated system event is automatically changed to Executed at the time specified by the NotBefore parameter if no manual intervention is involved. // // - Canceled: The state of the simulated system event is changed to Canceled if you cancel the event by calling the [CancelSimulatedSystemEvents](https://help.aliyun.com/document_detail/88808.html) operation. // // - Avoided: The state of the simulated system event generated from maintenance-triggered instance restart can be changed to Avoided if you restart the instance before the scheduled time of the simulated system event. The maintenance-triggered instance restart is indicated by the SystemMaintenance.Reboot value. For more information, see [RebootInstance](https://help.aliyun.com/document_detail/25502.html). // // @param request - CreateSimulatedSystemEventsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateSimulatedSystemEventsResponse func (client *Client) CreateSimulatedSystemEventsWithOptions(request *CreateSimulatedSystemEventsRequest, runtime *dara.RuntimeOptions) (_result *CreateSimulatedSystemEventsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EventType) { query["EventType"] = request.EventType } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.NotBefore) { query["NotBefore"] = request.NotBefore } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateSimulatedSystemEvents"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateSimulatedSystemEventsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Schedules simulated system events of Elastic Compute Service (ECS) instances. The simulated system events do not actually occur on or affect ECS instances. // // Description: // // You can use the ECS console, call [ECS API](https://help.aliyun.com/document_detail/63962.html) operations, or use CloudMonitor to view the scheduled simulated system events. // // The following descriptions provide the lifecycle of a simulated system event: // // - Scheduled: The state of the simulated system event is automatically changed to Scheduled after it is scheduled. // // - Executed: The state of the simulated system event is automatically changed to Executed at the time specified by the NotBefore parameter if no manual intervention is involved. // // - Canceled: The state of the simulated system event is changed to Canceled if you cancel the event by calling the [CancelSimulatedSystemEvents](https://help.aliyun.com/document_detail/88808.html) operation. // // - Avoided: The state of the simulated system event generated from maintenance-triggered instance restart can be changed to Avoided if you restart the instance before the scheduled time of the simulated system event. The maintenance-triggered instance restart is indicated by the SystemMaintenance.Reboot value. For more information, see [RebootInstance](https://help.aliyun.com/document_detail/25502.html). // // @param request - CreateSimulatedSystemEventsRequest // // @return CreateSimulatedSystemEventsResponse func (client *Client) CreateSimulatedSystemEvents(request *CreateSimulatedSystemEventsRequest) (_result *CreateSimulatedSystemEventsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateSimulatedSystemEventsResponse{} _body, _err := client.CreateSimulatedSystemEventsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a snapshot for a cloud disk. // // Description: // // The local snapshot feature is replaced by the instant access feature. Take note of the following items: // // - If you have used the local snapshot feature before December 14, 2020, you can use `Category`. // // - If you have not used the local snapshot feature before December 14, 2020, new snapshots of your Enterprise SSD (ESSD) series disks are instantly available after creation without the need for additional configurations, regardless of whether the snapshots are manually or automatically created. ESSD-series disks include ESSDs, ESSD AutoPL disks, ESSD Entry disks, and Regional ESSDs. InstantAccess, InstantAccessRetentionDays, and DisableInstantAccess that are related to the instant access feature no longer take effect in API operations. Available is added to the DescribeSnapshots and DescribeSnapshotGroups operations to indicate whether snapshots are available. // // Prerequisites: // // - Elastic Compute Service (ECS) Snapshot is activated. For more information, see [Activate ECS Snapshot](https://help.aliyun.com/document_detail/108381.html). // // - The disk for which you want to create a snapshot is in the **In_use* - or **Available* - state. Take note of the following items: // // - If the disk is in the **In_use* - state, make sure that the ECS instance to which the disk is attached is in the **Running* - or **Stopped* - state. // // - If the disk is in the **Available* - state, make sure that the disk was attached to an ECS instance. Snapshots cannot be created for disks that have never been attached to an ECS instance. // // - When you use a disk to create a dynamic extended volume or a RAID array, we recommend that you create a snapshot-consistent group and enable the application-consistent snapshot feature to back up data. When a business system involves multiple disks, you can create a snapshot-consistent group to ensure a consistent write order and the crash consistency of business system data. For more information, see [Create a snapshot-consistent group](https://help.aliyun.com/document_detail/199625.html) and [Create application-consistent snapshots](https://help.aliyun.com/document_detail/208589.html). // // When you create a snapshot, take note of the following items: // // - We recommend that you create snapshots during off-peak hours because snapshot creation degrades disk I/O performance by up to 10% and slows down data reads and writes. // // - If a snapshot is being created, you cannot use this snapshot to create a custom image by calling the [CreateImage](https://help.aliyun.com/document_detail/25535.html) operation. // // - If operations are performed on the disk and incremental data is generated when a snapshot is being created, the incremental data is not included in the snapshot. // // - When a snapshot is being created for a disk that is attached to an ECS instance, do not perform operations that change the status of the instance, such as stopping or restarting the instance. Otherwise, the snapshot may fail to be created. // // - You cannot resize a disk for which a snapshot is being created. Wait until the snapshot is created before you resize the disk. // // - You can create snapshots for a disk that is in the **Expired* - (`Expired`) state. If the release time scheduled for a disk arrives while a snapshot is being created for the disk, the snapshot is in the **Creating* - (`Creating`) state and is deleted when the disk is released. // // - After you create snapshots, you are charged snapshot storage fees per region based on the total size of the snapshots that are stored in the region. For more information, see [Snapshots](https://help.aliyun.com/document_detail/56159.html). // // - In the following scenarios, you cannot create snapshots for a disk: // // - The number of manual snapshots of the disk has reached 256. // // - A snapshot is being created for the disk. // // - If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an ECS instance, the instance is locked for security reasons and no operations are allowed on the instance. // // @param request - CreateSnapshotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateSnapshotResponse func (client *Client) CreateSnapshotWithOptions(request *CreateSnapshotRequest, runtime *dara.RuntimeOptions) (_result *CreateSnapshotResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Category) { query["Category"] = request.Category } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.InstantAccess) { query["InstantAccess"] = request.InstantAccess } if !dara.IsNil(request.InstantAccessRetentionDays) { query["InstantAccessRetentionDays"] = request.InstantAccessRetentionDays } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RetentionDays) { query["RetentionDays"] = request.RetentionDays } if !dara.IsNil(request.SnapshotName) { query["SnapshotName"] = request.SnapshotName } if !dara.IsNil(request.StorageLocationArn) { query["StorageLocationArn"] = request.StorageLocationArn } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateSnapshot"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateSnapshotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a snapshot for a cloud disk. // // Description: // // The local snapshot feature is replaced by the instant access feature. Take note of the following items: // // - If you have used the local snapshot feature before December 14, 2020, you can use `Category`. // // - If you have not used the local snapshot feature before December 14, 2020, new snapshots of your Enterprise SSD (ESSD) series disks are instantly available after creation without the need for additional configurations, regardless of whether the snapshots are manually or automatically created. ESSD-series disks include ESSDs, ESSD AutoPL disks, ESSD Entry disks, and Regional ESSDs. InstantAccess, InstantAccessRetentionDays, and DisableInstantAccess that are related to the instant access feature no longer take effect in API operations. Available is added to the DescribeSnapshots and DescribeSnapshotGroups operations to indicate whether snapshots are available. // // Prerequisites: // // - Elastic Compute Service (ECS) Snapshot is activated. For more information, see [Activate ECS Snapshot](https://help.aliyun.com/document_detail/108381.html). // // - The disk for which you want to create a snapshot is in the **In_use* - or **Available* - state. Take note of the following items: // // - If the disk is in the **In_use* - state, make sure that the ECS instance to which the disk is attached is in the **Running* - or **Stopped* - state. // // - If the disk is in the **Available* - state, make sure that the disk was attached to an ECS instance. Snapshots cannot be created for disks that have never been attached to an ECS instance. // // - When you use a disk to create a dynamic extended volume or a RAID array, we recommend that you create a snapshot-consistent group and enable the application-consistent snapshot feature to back up data. When a business system involves multiple disks, you can create a snapshot-consistent group to ensure a consistent write order and the crash consistency of business system data. For more information, see [Create a snapshot-consistent group](https://help.aliyun.com/document_detail/199625.html) and [Create application-consistent snapshots](https://help.aliyun.com/document_detail/208589.html). // // When you create a snapshot, take note of the following items: // // - We recommend that you create snapshots during off-peak hours because snapshot creation degrades disk I/O performance by up to 10% and slows down data reads and writes. // // - If a snapshot is being created, you cannot use this snapshot to create a custom image by calling the [CreateImage](https://help.aliyun.com/document_detail/25535.html) operation. // // - If operations are performed on the disk and incremental data is generated when a snapshot is being created, the incremental data is not included in the snapshot. // // - When a snapshot is being created for a disk that is attached to an ECS instance, do not perform operations that change the status of the instance, such as stopping or restarting the instance. Otherwise, the snapshot may fail to be created. // // - You cannot resize a disk for which a snapshot is being created. Wait until the snapshot is created before you resize the disk. // // - You can create snapshots for a disk that is in the **Expired* - (`Expired`) state. If the release time scheduled for a disk arrives while a snapshot is being created for the disk, the snapshot is in the **Creating* - (`Creating`) state and is deleted when the disk is released. // // - After you create snapshots, you are charged snapshot storage fees per region based on the total size of the snapshots that are stored in the region. For more information, see [Snapshots](https://help.aliyun.com/document_detail/56159.html). // // - In the following scenarios, you cannot create snapshots for a disk: // // - The number of manual snapshots of the disk has reached 256. // // - A snapshot is being created for the disk. // // - If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an ECS instance, the instance is locked for security reasons and no operations are allowed on the instance. // // @param request - CreateSnapshotRequest // // @return CreateSnapshotResponse func (client *Client) CreateSnapshot(request *CreateSnapshotRequest) (_result *CreateSnapshotResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateSnapshotResponse{} _body, _err := client.CreateSnapshotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a snapshot-consistent group for the disks of an Elastic Compute Service (ECS) instance. A snapshot-consistent group contains snapshots of one or more disks. // // Description: // // You can specify `InstanceId` to create a snapshot-consistent group for disks on a specific ECS instance. You can also specify `DiskId.N` to create a snapshot-consistent group for multiple disks on multiple ECS instances within the same zone. // // > You cannot specify both `DiskId.N` and `ExcludeDiskId.N` in the same request. If you specify `InstanceId`, you can use `DiskId.N` to specify only disks on the specified ECS instance and cannot use DiskId.N to specify disks across ECS instances. // // Take note of the following items: // // - The disks for which you want to create a snapshot must be in the **In Use* - (`In_use`) or **Unattached* - (`Available`) state. // // - If a disk is in the **In Use* - (`In_use`) state, make sure that the ECS instance to which the disk is attached is in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. // // - If a disk is in the **Unattached* - (`Available`) state, make sure that the disk has been attached to ECS instances. Snapshots cannot be created for disks that have never been attached to an ECS instance. // // - Snapshot-consistent groups can be used to create snapshots only for Enterprise SSDs (ESSDs), ESSD AutoPL disks, and ESSD Entry disks. // // - A snapshot-consistent group can contain snapshots of up to 16 disks, including system disks and data disks, and cannot exceed 32 TiB in size. // // - Snapshots that you created are stored indefinitely until you delete the snapshots. We recommend that you delete unnecessary snapshots on a regular basis to prevent excess snapshot storage fees. // // - Snapshot-consistent groups cannot be created for disks for which multi-attach feature is enabled. If disks for which the multi-attach feature is enabled are attached to an ECS instance, you must specify the `ExcludeDiskId.N` parameter to exclude the disks. // // For more information about the snapshot-consistent group feature, see [Create a snapshot-consistent group](https://help.aliyun.com/document_detail/199625.html). // // @param request - CreateSnapshotGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateSnapshotGroupResponse func (client *Client) CreateSnapshotGroupWithOptions(request *CreateSnapshotGroupRequest, runtime *dara.RuntimeOptions) (_result *CreateSnapshotGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.ExcludeDiskId) { query["ExcludeDiskId"] = request.ExcludeDiskId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstantAccess) { query["InstantAccess"] = request.InstantAccess } if !dara.IsNil(request.InstantAccessRetentionDays) { query["InstantAccessRetentionDays"] = request.InstantAccessRetentionDays } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageLocationArn) { query["StorageLocationArn"] = request.StorageLocationArn } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateSnapshotGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateSnapshotGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a snapshot-consistent group for the disks of an Elastic Compute Service (ECS) instance. A snapshot-consistent group contains snapshots of one or more disks. // // Description: // // You can specify `InstanceId` to create a snapshot-consistent group for disks on a specific ECS instance. You can also specify `DiskId.N` to create a snapshot-consistent group for multiple disks on multiple ECS instances within the same zone. // // > You cannot specify both `DiskId.N` and `ExcludeDiskId.N` in the same request. If you specify `InstanceId`, you can use `DiskId.N` to specify only disks on the specified ECS instance and cannot use DiskId.N to specify disks across ECS instances. // // Take note of the following items: // // - The disks for which you want to create a snapshot must be in the **In Use* - (`In_use`) or **Unattached* - (`Available`) state. // // - If a disk is in the **In Use* - (`In_use`) state, make sure that the ECS instance to which the disk is attached is in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. // // - If a disk is in the **Unattached* - (`Available`) state, make sure that the disk has been attached to ECS instances. Snapshots cannot be created for disks that have never been attached to an ECS instance. // // - Snapshot-consistent groups can be used to create snapshots only for Enterprise SSDs (ESSDs), ESSD AutoPL disks, and ESSD Entry disks. // // - A snapshot-consistent group can contain snapshots of up to 16 disks, including system disks and data disks, and cannot exceed 32 TiB in size. // // - Snapshots that you created are stored indefinitely until you delete the snapshots. We recommend that you delete unnecessary snapshots on a regular basis to prevent excess snapshot storage fees. // // - Snapshot-consistent groups cannot be created for disks for which multi-attach feature is enabled. If disks for which the multi-attach feature is enabled are attached to an ECS instance, you must specify the `ExcludeDiskId.N` parameter to exclude the disks. // // For more information about the snapshot-consistent group feature, see [Create a snapshot-consistent group](https://help.aliyun.com/document_detail/199625.html). // // @param request - CreateSnapshotGroupRequest // // @return CreateSnapshotGroupResponse func (client *Client) CreateSnapshotGroup(request *CreateSnapshotGroupRequest) (_result *CreateSnapshotGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateSnapshotGroupResponse{} _body, _err := client.CreateSnapshotGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // (Beta) Creates a storage set in a zone of a region. // // Description: // // A storage set can distribute disks or Shared Block Storage devices to different locations. You can specify the number of partitions in a storage set. A larger number of partitions indicate more discrete distribution of disks or Shared Block Storage devices. // // When you call this operation, take note of the following items: // // - The number of storage sets that you can create in a region is limited. You can call the [DescribeAccountAttributes](https://help.aliyun.com/document_detail/73772.html) operation to query the limit. // // - The number of partitions in a zone is limited. You can call the [DescribeAccountAttributes](https://help.aliyun.com/document_detail/73772.html) operation to query the limit. // // @param request - CreateStorageSetRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateStorageSetResponse func (client *Client) CreateStorageSetWithOptions(request *CreateStorageSetRequest, runtime *dara.RuntimeOptions) (_result *CreateStorageSetResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.MaxPartitionNumber) { query["MaxPartitionNumber"] = request.MaxPartitionNumber } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageSetName) { query["StorageSetName"] = request.StorageSetName } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateStorageSet"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateStorageSetResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // (Beta) Creates a storage set in a zone of a region. // // Description: // // A storage set can distribute disks or Shared Block Storage devices to different locations. You can specify the number of partitions in a storage set. A larger number of partitions indicate more discrete distribution of disks or Shared Block Storage devices. // // When you call this operation, take note of the following items: // // - The number of storage sets that you can create in a region is limited. You can call the [DescribeAccountAttributes](https://help.aliyun.com/document_detail/73772.html) operation to query the limit. // // - The number of partitions in a zone is limited. You can call the [DescribeAccountAttributes](https://help.aliyun.com/document_detail/73772.html) operation to query the limit. // // @param request - CreateStorageSetRequest // // @return CreateStorageSetResponse func (client *Client) CreateStorageSet(request *CreateStorageSetRequest) (_result *CreateStorageSetResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateStorageSetResponse{} _body, _err := client.CreateStorageSetWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateVSwitch is deprecated, please use Vpc::2016-04-28::CreateVSwitch instead. // // Summary: // // # CreateVSwitch // // @param request - CreateVSwitchRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateVSwitchResponse func (client *Client) CreateVSwitchWithOptions(request *CreateVSwitchRequest, runtime *dara.RuntimeOptions) (_result *CreateVSwitchResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CidrBlock) { query["CidrBlock"] = request.CidrBlock } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VSwitchName) { query["VSwitchName"] = request.VSwitchName } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateVSwitch"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateVSwitchResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateVSwitch is deprecated, please use Vpc::2016-04-28::CreateVSwitch instead. // // Summary: // // # CreateVSwitch // // @param request - CreateVSwitchRequest // // @return CreateVSwitchResponse // Deprecated func (client *Client) CreateVSwitch(request *CreateVSwitchRequest) (_result *CreateVSwitchResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateVSwitchResponse{} _body, _err := client.CreateVSwitchWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::CreateVirtualBorderRouter instead. // // Summary: // // # CreateVirtualBorderRouter // // @param request - CreateVirtualBorderRouterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateVirtualBorderRouterResponse func (client *Client) CreateVirtualBorderRouterWithOptions(request *CreateVirtualBorderRouterRequest, runtime *dara.RuntimeOptions) (_result *CreateVirtualBorderRouterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CircuitCode) { query["CircuitCode"] = request.CircuitCode } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.LocalGatewayIp) { query["LocalGatewayIp"] = request.LocalGatewayIp } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PeerGatewayIp) { query["PeerGatewayIp"] = request.PeerGatewayIp } if !dara.IsNil(request.PeeringSubnetMask) { query["PeeringSubnetMask"] = request.PeeringSubnetMask } if !dara.IsNil(request.PhysicalConnectionId) { query["PhysicalConnectionId"] = request.PhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.VbrOwnerId) { query["VbrOwnerId"] = request.VbrOwnerId } if !dara.IsNil(request.VlanId) { query["VlanId"] = request.VlanId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateVirtualBorderRouter"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateVirtualBorderRouterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::CreateVirtualBorderRouter instead. // // Summary: // // # CreateVirtualBorderRouter // // @param request - CreateVirtualBorderRouterRequest // // @return CreateVirtualBorderRouterResponse // Deprecated func (client *Client) CreateVirtualBorderRouter(request *CreateVirtualBorderRouterRequest) (_result *CreateVirtualBorderRouterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateVirtualBorderRouterResponse{} _body, _err := client.CreateVirtualBorderRouterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI CreateVpc is deprecated, please use Vpc::2016-04-28::CreateVpc instead. // // Summary: // // # CreateVpc // // @param request - CreateVpcRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return CreateVpcResponse func (client *Client) CreateVpcWithOptions(request *CreateVpcRequest, runtime *dara.RuntimeOptions) (_result *CreateVpcResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CidrBlock) { query["CidrBlock"] = request.CidrBlock } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.VpcName) { query["VpcName"] = request.VpcName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("CreateVpc"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &CreateVpcResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI CreateVpc is deprecated, please use Vpc::2016-04-28::CreateVpc instead. // // Summary: // // # CreateVpc // // @param request - CreateVpcRequest // // @return CreateVpcResponse // Deprecated func (client *Client) CreateVpc(request *CreateVpcRequest) (_result *CreateVpcResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &CreateVpcResponse{} _body, _err := client.CreateVpcWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeactivateRouterInterface is deprecated, please use Vpc::2016-04-28::DeactivateRouterInterface instead. // // Summary: // // # DeactivateRouterInterface // // @param request - DeactivateRouterInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeactivateRouterInterfaceResponse func (client *Client) DeactivateRouterInterfaceWithOptions(request *DeactivateRouterInterfaceRequest, runtime *dara.RuntimeOptions) (_result *DeactivateRouterInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouterInterfaceId) { query["RouterInterfaceId"] = request.RouterInterfaceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeactivateRouterInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeactivateRouterInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeactivateRouterInterface is deprecated, please use Vpc::2016-04-28::DeactivateRouterInterface instead. // // Summary: // // # DeactivateRouterInterface // // @param request - DeactivateRouterInterfaceRequest // // @return DeactivateRouterInterfaceResponse // Deprecated func (client *Client) DeactivateRouterInterface(request *DeactivateRouterInterfaceRequest) (_result *DeactivateRouterInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeactivateRouterInterfaceResponse{} _body, _err := client.DeactivateRouterInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes an unused activation code. // // Description: // // ## [](#)Usage notes // // Before you call this operation to delete an activation code, make sure that no managed instances are registered with the activation code. // // @param request - DeleteActivationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteActivationResponse func (client *Client) DeleteActivationWithOptions(request *DeleteActivationRequest, runtime *dara.RuntimeOptions) (_result *DeleteActivationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActivationId) { query["ActivationId"] = request.ActivationId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteActivation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteActivationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes an unused activation code. // // Description: // // ## [](#)Usage notes // // Before you call this operation to delete an activation code, make sure that no managed instances are registered with the activation code. // // @param request - DeleteActivationRequest // // @return DeleteActivationResponse func (client *Client) DeleteActivation(request *DeleteActivationRequest) (_result *DeleteActivationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteActivationResponse{} _body, _err := client.DeleteActivationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes an auto provisioning group. When you call this operation, you can specify AutoProvisioningGroupId and TerminateInstances in the request. // // @param request - DeleteAutoProvisioningGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteAutoProvisioningGroupResponse func (client *Client) DeleteAutoProvisioningGroupWithOptions(request *DeleteAutoProvisioningGroupRequest, runtime *dara.RuntimeOptions) (_result *DeleteAutoProvisioningGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoProvisioningGroupId) { query["AutoProvisioningGroupId"] = request.AutoProvisioningGroupId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TerminateInstances) { query["TerminateInstances"] = request.TerminateInstances } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteAutoProvisioningGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteAutoProvisioningGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes an auto provisioning group. When you call this operation, you can specify AutoProvisioningGroupId and TerminateInstances in the request. // // @param request - DeleteAutoProvisioningGroupRequest // // @return DeleteAutoProvisioningGroupResponse func (client *Client) DeleteAutoProvisioningGroup(request *DeleteAutoProvisioningGroupRequest) (_result *DeleteAutoProvisioningGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteAutoProvisioningGroupResponse{} _body, _err := client.DeleteAutoProvisioningGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes an automatic snapshot policy. After you delete an automatic snapshot policy, the policy is no longer applied to the disks on which it previously took effect. // // @param request - DeleteAutoSnapshotPolicyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteAutoSnapshotPolicyResponse func (client *Client) DeleteAutoSnapshotPolicyWithOptions(request *DeleteAutoSnapshotPolicyRequest, runtime *dara.RuntimeOptions) (_result *DeleteAutoSnapshotPolicyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.AutoSnapshotPolicyId) { query["autoSnapshotPolicyId"] = request.AutoSnapshotPolicyId } if !dara.IsNil(request.RegionId) { query["regionId"] = request.RegionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteAutoSnapshotPolicy"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteAutoSnapshotPolicyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes an automatic snapshot policy. After you delete an automatic snapshot policy, the policy is no longer applied to the disks on which it previously took effect. // // @param request - DeleteAutoSnapshotPolicyRequest // // @return DeleteAutoSnapshotPolicyResponse func (client *Client) DeleteAutoSnapshotPolicy(request *DeleteAutoSnapshotPolicyRequest) (_result *DeleteAutoSnapshotPolicyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteAutoSnapshotPolicyResponse{} _body, _err := client.DeleteAutoSnapshotPolicyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // # DeleteBandwidthPackage // // @param request - DeleteBandwidthPackageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteBandwidthPackageResponse func (client *Client) DeleteBandwidthPackageWithOptions(request *DeleteBandwidthPackageRequest, runtime *dara.RuntimeOptions) (_result *DeleteBandwidthPackageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BandwidthPackageId) { query["BandwidthPackageId"] = request.BandwidthPackageId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteBandwidthPackage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteBandwidthPackageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // # DeleteBandwidthPackage // // @param request - DeleteBandwidthPackageRequest // // @return DeleteBandwidthPackageResponse func (client *Client) DeleteBandwidthPackage(request *DeleteBandwidthPackageRequest) (_result *DeleteBandwidthPackageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteBandwidthPackageResponse{} _body, _err := client.DeleteBandwidthPackageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a Cloud Assistant command in a region. This operation cannot delete Cloud Assistant commands that are being run. // // @param request - DeleteCommandRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteCommandResponse func (client *Client) DeleteCommandWithOptions(request *DeleteCommandRequest, runtime *dara.RuntimeOptions) (_result *DeleteCommandResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CommandId) { query["CommandId"] = request.CommandId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteCommand"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteCommandResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a Cloud Assistant command in a region. This operation cannot delete Cloud Assistant commands that are being run. // // @param request - DeleteCommandRequest // // @return DeleteCommandResponse func (client *Client) DeleteCommand(request *DeleteCommandRequest) (_result *DeleteCommandResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteCommandResponse{} _body, _err := client.DeleteCommandWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a dedicated host group. Before you call the API operation, you must migrate the dedicated hosts in the host group to another host group. // // @param request - DeleteDedicatedHostClusterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteDedicatedHostClusterResponse func (client *Client) DeleteDedicatedHostClusterWithOptions(request *DeleteDedicatedHostClusterRequest, runtime *dara.RuntimeOptions) (_result *DeleteDedicatedHostClusterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostClusterId) { query["DedicatedHostClusterId"] = request.DedicatedHostClusterId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteDedicatedHostCluster"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteDedicatedHostClusterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a dedicated host group. Before you call the API operation, you must migrate the dedicated hosts in the host group to another host group. // // @param request - DeleteDedicatedHostClusterRequest // // @return DeleteDedicatedHostClusterResponse func (client *Client) DeleteDedicatedHostCluster(request *DeleteDedicatedHostClusterRequest) (_result *DeleteDedicatedHostClusterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteDedicatedHostClusterResponse{} _body, _err := client.DeleteDedicatedHostClusterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a deployment set. // // Description: // // Before you delete a deployment set, make sure that no instances exist in the deployment set. If instances exist in the deployment set, move the instances to a different deployment set or release the instances before you delete the deployment set. For more information, see [Change the deployment set of an instance](https://help.aliyun.com/document_detail/108407.html) and [Release an ECS instance](https://help.aliyun.com/document_detail/25442.html). // // @param request - DeleteDeploymentSetRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteDeploymentSetResponse func (client *Client) DeleteDeploymentSetWithOptions(request *DeleteDeploymentSetRequest, runtime *dara.RuntimeOptions) (_result *DeleteDeploymentSetResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DeploymentSetId) { query["DeploymentSetId"] = request.DeploymentSetId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteDeploymentSet"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteDeploymentSetResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a deployment set. // // Description: // // Before you delete a deployment set, make sure that no instances exist in the deployment set. If instances exist in the deployment set, move the instances to a different deployment set or release the instances before you delete the deployment set. For more information, see [Change the deployment set of an instance](https://help.aliyun.com/document_detail/108407.html) and [Release an ECS instance](https://help.aliyun.com/document_detail/25442.html). // // @param request - DeleteDeploymentSetRequest // // @return DeleteDeploymentSetResponse func (client *Client) DeleteDeploymentSet(request *DeleteDeploymentSetRequest) (_result *DeleteDeploymentSetResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteDeploymentSetResponse{} _body, _err := client.DeleteDeploymentSetWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes diagnostic metric sets. // // @param request - DeleteDiagnosticMetricSetsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteDiagnosticMetricSetsResponse func (client *Client) DeleteDiagnosticMetricSetsWithOptions(request *DeleteDiagnosticMetricSetsRequest, runtime *dara.RuntimeOptions) (_result *DeleteDiagnosticMetricSetsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MetricSetIds) { query["MetricSetIds"] = request.MetricSetIds } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteDiagnosticMetricSets"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteDiagnosticMetricSetsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes diagnostic metric sets. // // @param request - DeleteDiagnosticMetricSetsRequest // // @return DeleteDiagnosticMetricSetsResponse func (client *Client) DeleteDiagnosticMetricSets(request *DeleteDiagnosticMetricSetsRequest) (_result *DeleteDiagnosticMetricSetsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteDiagnosticMetricSetsResponse{} _body, _err := client.DeleteDiagnosticMetricSetsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes diagnostic reports. // // Description: // // You can call this operation to delete the diagnostic reports that are no longer needed. // // @param request - DeleteDiagnosticReportsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteDiagnosticReportsResponse func (client *Client) DeleteDiagnosticReportsWithOptions(request *DeleteDiagnosticReportsRequest, runtime *dara.RuntimeOptions) (_result *DeleteDiagnosticReportsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReportIds) { query["ReportIds"] = request.ReportIds } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteDiagnosticReports"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteDiagnosticReportsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes diagnostic reports. // // Description: // // You can call this operation to delete the diagnostic reports that are no longer needed. // // @param request - DeleteDiagnosticReportsRequest // // @return DeleteDiagnosticReportsResponse func (client *Client) DeleteDiagnosticReports(request *DeleteDiagnosticReportsRequest) (_result *DeleteDiagnosticReportsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteDiagnosticReportsResponse{} _body, _err := client.DeleteDiagnosticReportsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a pay-as-you-go data disk. The data disk can be a basic disk, an ultra disk, a standard SSD, or an Enterprise SSD (ESSD). // // Description: // // When you call this operation, take note of the following items: // // - Manual snapshots of the disk are retained. // // - You can call the [ModifyDiskAttribute](https://help.aliyun.com/document_detail/25517.html) operation to configure whether to retain automatic snapshots of the disk or release the snapshots along with the disk. We recommend that you delete the snapshots that are no longer needed to maintain a sufficient quota for new automatic snapshots. // // - The disk must be in the Unattached (Available) state. // // - If the specified DiskId parameter does not exist, the request is ignored. // // @param request - DeleteDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteDiskResponse func (client *Client) DeleteDiskWithOptions(request *DeleteDiskRequest, runtime *dara.RuntimeOptions) (_result *DeleteDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a pay-as-you-go data disk. The data disk can be a basic disk, an ultra disk, a standard SSD, or an Enterprise SSD (ESSD). // // Description: // // When you call this operation, take note of the following items: // // - Manual snapshots of the disk are retained. // // - You can call the [ModifyDiskAttribute](https://help.aliyun.com/document_detail/25517.html) operation to configure whether to retain automatic snapshots of the disk or release the snapshots along with the disk. We recommend that you delete the snapshots that are no longer needed to maintain a sufficient quota for new automatic snapshots. // // - The disk must be in the Unattached (Available) state. // // - If the specified DiskId parameter does not exist, the request is ignored. // // @param request - DeleteDiskRequest // // @return DeleteDiskResponse func (client *Client) DeleteDisk(request *DeleteDiskRequest) (_result *DeleteDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteDiskResponse{} _body, _err := client.DeleteDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteForwardEntry is deprecated, please use Vpc::2016-04-28::DeleteForwardEntry instead. // // Summary: // // # DeleteForwardEntry // // @param request - DeleteForwardEntryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteForwardEntryResponse func (client *Client) DeleteForwardEntryWithOptions(request *DeleteForwardEntryRequest, runtime *dara.RuntimeOptions) (_result *DeleteForwardEntryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ForwardEntryId) { query["ForwardEntryId"] = request.ForwardEntryId } if !dara.IsNil(request.ForwardTableId) { query["ForwardTableId"] = request.ForwardTableId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteForwardEntry"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteForwardEntryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteForwardEntry is deprecated, please use Vpc::2016-04-28::DeleteForwardEntry instead. // // Summary: // // # DeleteForwardEntry // // @param request - DeleteForwardEntryRequest // // @return DeleteForwardEntryResponse // Deprecated func (client *Client) DeleteForwardEntry(request *DeleteForwardEntryRequest) (_result *DeleteForwardEntryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteForwardEntryResponse{} _body, _err := client.DeleteForwardEntryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteHaVip is deprecated, please use Vpc::2016-04-28::DeleteHaVip instead. // // Summary: // // # DeleteHaVip // // @param request - DeleteHaVipRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteHaVipResponse func (client *Client) DeleteHaVipWithOptions(request *DeleteHaVipRequest, runtime *dara.RuntimeOptions) (_result *DeleteHaVipResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.HaVipId) { query["HaVipId"] = request.HaVipId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteHaVip"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteHaVipResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteHaVip is deprecated, please use Vpc::2016-04-28::DeleteHaVip instead. // // Summary: // // # DeleteHaVip // // @param request - DeleteHaVipRequest // // @return DeleteHaVipResponse // Deprecated func (client *Client) DeleteHaVip(request *DeleteHaVipRequest) (_result *DeleteHaVipResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteHaVipResponse{} _body, _err := client.DeleteHaVipWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a high performance computing (HPC) cluster. // // @param request - DeleteHpcClusterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteHpcClusterResponse func (client *Client) DeleteHpcClusterWithOptions(request *DeleteHpcClusterRequest, runtime *dara.RuntimeOptions) (_result *DeleteHpcClusterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.HpcClusterId) { query["HpcClusterId"] = request.HpcClusterId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteHpcCluster"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteHpcClusterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a high performance computing (HPC) cluster. // // @param request - DeleteHpcClusterRequest // // @return DeleteHpcClusterResponse func (client *Client) DeleteHpcCluster(request *DeleteHpcClusterRequest) (_result *DeleteHpcClusterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteHpcClusterResponse{} _body, _err := client.DeleteHpcClusterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a custom image. When you call this operation, you can specify ImageId and Force in the request. // // Description: // // For information about scenarios in which you cannot delete a custom image and the considerations related to custom image deletion, see [Delete a custom image](https://help.aliyun.com/document_detail/25466.html). // // @param request - DeleteImageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteImageResponse func (client *Client) DeleteImageWithOptions(request *DeleteImageRequest, runtime *dara.RuntimeOptions) (_result *DeleteImageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteImage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteImageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a custom image. When you call this operation, you can specify ImageId and Force in the request. // // Description: // // For information about scenarios in which you cannot delete a custom image and the considerations related to custom image deletion, see [Delete a custom image](https://help.aliyun.com/document_detail/25466.html). // // @param request - DeleteImageRequest // // @return DeleteImageResponse func (client *Client) DeleteImage(request *DeleteImageRequest) (_result *DeleteImageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteImageResponse{} _body, _err := client.DeleteImageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes an image component. You can specify RegionId and ImageComponentId in the request. // // Description: // // Only custom image components can be deleted. // // - When you delete a component, make sure that the component is not used in the template. Otherwise, the component fails to be deleted. // // @param request - DeleteImageComponentRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteImageComponentResponse func (client *Client) DeleteImageComponentWithOptions(request *DeleteImageComponentRequest, runtime *dara.RuntimeOptions) (_result *DeleteImageComponentResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ImageComponentId) { query["ImageComponentId"] = request.ImageComponentId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteImageComponent"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteImageComponentResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes an image component. You can specify RegionId and ImageComponentId in the request. // // Description: // // Only custom image components can be deleted. // // - When you delete a component, make sure that the component is not used in the template. Otherwise, the component fails to be deleted. // // @param request - DeleteImageComponentRequest // // @return DeleteImageComponentResponse func (client *Client) DeleteImageComponent(request *DeleteImageComponentRequest) (_result *DeleteImageComponentResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteImageComponentResponse{} _body, _err := client.DeleteImageComponentWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes an image template. // // Description: // // If an ongoing image building task is associated with an image template, you cannot delete the image template. You can delete the image template only if the image building task reaches the SUCCESS, FAILED, TEST_FAILED, PARTITION_SUCCESS, or CANCELLED state. You can call the DescribeImagePipelineExecutions operation to query the details of an image building task. // // @param request - DeleteImagePipelineRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteImagePipelineResponse func (client *Client) DeleteImagePipelineWithOptions(request *DeleteImagePipelineRequest, runtime *dara.RuntimeOptions) (_result *DeleteImagePipelineResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ImagePipelineId) { query["ImagePipelineId"] = request.ImagePipelineId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteImagePipeline"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteImagePipelineResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes an image template. // // Description: // // If an ongoing image building task is associated with an image template, you cannot delete the image template. You can delete the image template only if the image building task reaches the SUCCESS, FAILED, TEST_FAILED, PARTITION_SUCCESS, or CANCELLED state. You can call the DescribeImagePipelineExecutions operation to query the details of an image building task. // // @param request - DeleteImagePipelineRequest // // @return DeleteImagePipelineResponse func (client *Client) DeleteImagePipeline(request *DeleteImagePipelineRequest) (_result *DeleteImagePipelineResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteImagePipelineResponse{} _body, _err := client.DeleteImagePipelineWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes or releases a pay-as-you-go Elastic Compute Service (ECS) instance or an expired subscription ECS instance. You can configure parameters to specify whether to release the disks attached to the instance or retain the disks as pay-as-you-go disks. // // Description: // // * // // **Warning* - After you release an instance, the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. // // - After you release an instance, manual snapshots of the cloud disks attached to the instance are retained and continue to be billed. You can call the [DeleteSnapshot](https://help.aliyun.com/document_detail/2679824.html) operation to delete the snapshots. // // - After you release an instance, whether the cloud disks attached to the instance and the automatic snapshots of the disks are released is determined by the disk attributes. Before you release an instance, you can call the [DescribeDisks](https://help.aliyun.com/document_detail/2679767.html) and [ModifyDiskAttribute](https://help.aliyun.com/document_detail/2679770.html) operations to query and modify disk attributes. // // - The cloud disks for which `DeleteWithInstance` is set to false are retained as pay-as-you-go disks after the instance is released. The cloud disks for which DeleteWithInstance is set to true are released along with the instance. // // - If `DeleteAutoSnapshot` is set to false for a cloud disk attached to the instance, the automatic snapshots of the cloud disk are retained when the instance is released. If DeleteAutoSnapshot is set to true for the cloud disk, the automatic snapshots of the disk are released along with the instance. // // - Elastic IP addresses (EIPs) are not released together with instances. You can call the [ReleaseEipAddress](https://help.aliyun.com/document_detail/448702.html) operation to release EIPs. // // ** // // **Note* - When you release an instance that is locked for security reasons, the cloud disks attached to the instance are released even if DeleteWithInstance is set to false. // // @param request - DeleteInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteInstanceResponse func (client *Client) DeleteInstanceWithOptions(request *DeleteInstanceRequest, runtime *dara.RuntimeOptions) (_result *DeleteInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.ForceStop) { query["ForceStop"] = request.ForceStop } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TerminateSubscription) { query["TerminateSubscription"] = request.TerminateSubscription } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes or releases a pay-as-you-go Elastic Compute Service (ECS) instance or an expired subscription ECS instance. You can configure parameters to specify whether to release the disks attached to the instance or retain the disks as pay-as-you-go disks. // // Description: // // * // // **Warning* - After you release an instance, the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. // // - After you release an instance, manual snapshots of the cloud disks attached to the instance are retained and continue to be billed. You can call the [DeleteSnapshot](https://help.aliyun.com/document_detail/2679824.html) operation to delete the snapshots. // // - After you release an instance, whether the cloud disks attached to the instance and the automatic snapshots of the disks are released is determined by the disk attributes. Before you release an instance, you can call the [DescribeDisks](https://help.aliyun.com/document_detail/2679767.html) and [ModifyDiskAttribute](https://help.aliyun.com/document_detail/2679770.html) operations to query and modify disk attributes. // // - The cloud disks for which `DeleteWithInstance` is set to false are retained as pay-as-you-go disks after the instance is released. The cloud disks for which DeleteWithInstance is set to true are released along with the instance. // // - If `DeleteAutoSnapshot` is set to false for a cloud disk attached to the instance, the automatic snapshots of the cloud disk are retained when the instance is released. If DeleteAutoSnapshot is set to true for the cloud disk, the automatic snapshots of the disk are released along with the instance. // // - Elastic IP addresses (EIPs) are not released together with instances. You can call the [ReleaseEipAddress](https://help.aliyun.com/document_detail/448702.html) operation to release EIPs. // // ** // // **Note* - When you release an instance that is locked for security reasons, the cloud disks attached to the instance are released even if DeleteWithInstance is set to false. // // @param request - DeleteInstanceRequest // // @return DeleteInstanceResponse func (client *Client) DeleteInstance(request *DeleteInstanceRequest) (_result *DeleteInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteInstanceResponse{} _body, _err := client.DeleteInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Releases multiple pay-as-you-go Elastic Compute Service (ECS) instances or expired subscription ECS instances at a time. You can configure parameters to specify whether to release the disks attached to the instances or retain the disks as pay-as-you-go disks. // // Description: // // Warning: After you release an instance, the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. // // - After you release an instance, manual snapshots of the cloud disks attached to the instance are retained and continue to be billed. You can call the [DeleteSnapshot](https://help.aliyun.com/document_detail/2679824.html) operation to delete the snapshots. // // - After you release an instance, whether the cloud disks attached to the instance and the automatic snapshots of the disks are released is determined by the disk attributes. Before you release an instance, you can call the [DescribeDisks](https://help.aliyun.com/document_detail/2679767.html) and [ModifyDiskAttribute](https://help.aliyun.com/document_detail/2679770.html) operations to query and modify disk attributes. // // - If `DeleteWithInstance` is set to false for a cloud disk attached to the instance, the cloud disk is changed to a pay-as-you-go disk and retained after the instance is released. If DeleteWithInstance is set to true for the cloud disk, the disk is released together with the instance. // // - If `DeleteAutoSnapshot` is set to false for a cloud disk attached to the instance, the automatic snapshots of the disk are retained when the instance is released. If DeleteAutoSnapshot is set to true for the cloud disk, the automatic snapshots of the disk are released together with the instance. // // - Elastic IP addresses (EIPs) are not released together with instances. You can call the [ReleaseEipAddress](https://help.aliyun.com/document_detail/448702.html) operation to release EIPs. // // > When you release an instance that is locked for security reasons, the cloud disks attached to the instance are released together with the instance even if DeleteWithInstance is set to false for the disks. // // @param request - DeleteInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteInstancesResponse func (client *Client) DeleteInstancesWithOptions(request *DeleteInstancesRequest, runtime *dara.RuntimeOptions) (_result *DeleteInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.ForceStop) { query["ForceStop"] = request.ForceStop } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TerminateSubscription) { query["TerminateSubscription"] = request.TerminateSubscription } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Releases multiple pay-as-you-go Elastic Compute Service (ECS) instances or expired subscription ECS instances at a time. You can configure parameters to specify whether to release the disks attached to the instances or retain the disks as pay-as-you-go disks. // // Description: // // Warning: After you release an instance, the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. // // - After you release an instance, manual snapshots of the cloud disks attached to the instance are retained and continue to be billed. You can call the [DeleteSnapshot](https://help.aliyun.com/document_detail/2679824.html) operation to delete the snapshots. // // - After you release an instance, whether the cloud disks attached to the instance and the automatic snapshots of the disks are released is determined by the disk attributes. Before you release an instance, you can call the [DescribeDisks](https://help.aliyun.com/document_detail/2679767.html) and [ModifyDiskAttribute](https://help.aliyun.com/document_detail/2679770.html) operations to query and modify disk attributes. // // - If `DeleteWithInstance` is set to false for a cloud disk attached to the instance, the cloud disk is changed to a pay-as-you-go disk and retained after the instance is released. If DeleteWithInstance is set to true for the cloud disk, the disk is released together with the instance. // // - If `DeleteAutoSnapshot` is set to false for a cloud disk attached to the instance, the automatic snapshots of the disk are retained when the instance is released. If DeleteAutoSnapshot is set to true for the cloud disk, the automatic snapshots of the disk are released together with the instance. // // - Elastic IP addresses (EIPs) are not released together with instances. You can call the [ReleaseEipAddress](https://help.aliyun.com/document_detail/448702.html) operation to release EIPs. // // > When you release an instance that is locked for security reasons, the cloud disks attached to the instance are released together with the instance even if DeleteWithInstance is set to false for the disks. // // @param request - DeleteInstancesRequest // // @return DeleteInstancesResponse func (client *Client) DeleteInstances(request *DeleteInstancesRequest) (_result *DeleteInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteInstancesResponse{} _body, _err := client.DeleteInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes one or more SSH key pairs. // // Description: // // When you call this operation, take note of the following items: // // - After an SSH key pair is deleted, you cannot query the SSH key pair by calling the [DescribeKeyPairs](https://help.aliyun.com/document_detail/51773.html) operation. // // - If an SSH key pair is bound to one or more Elastic Compute Service (ECS) instances, the SSH key pair cannot be deleted. // // @param request - DeleteKeyPairsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteKeyPairsResponse func (client *Client) DeleteKeyPairsWithOptions(request *DeleteKeyPairsRequest, runtime *dara.RuntimeOptions) (_result *DeleteKeyPairsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.KeyPairNames) { query["KeyPairNames"] = request.KeyPairNames } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteKeyPairs"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteKeyPairsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes one or more SSH key pairs. // // Description: // // When you call this operation, take note of the following items: // // - After an SSH key pair is deleted, you cannot query the SSH key pair by calling the [DescribeKeyPairs](https://help.aliyun.com/document_detail/51773.html) operation. // // - If an SSH key pair is bound to one or more Elastic Compute Service (ECS) instances, the SSH key pair cannot be deleted. // // @param request - DeleteKeyPairsRequest // // @return DeleteKeyPairsResponse func (client *Client) DeleteKeyPairs(request *DeleteKeyPairsRequest) (_result *DeleteKeyPairsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteKeyPairsResponse{} _body, _err := client.DeleteKeyPairsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a launch template. You can use the LaunchTemplateId or LaunchTemplateName parameter to specify the launch template that you want to delete from the specified region. // // Description: // // Take note of the following items: // // - After you delete a launch template, Elastic Compute Service (ECS) instances created based on the launch template are not affected. // // - After you delete a launch template, all versions of the launch template are deleted and cannot be restored. If you want to delete only a specific version of the launch template, call the [DeleteLaunchTemplateVersion](https://help.aliyun.com/document_detail/2679735.html) operation. // // @param request - DeleteLaunchTemplateRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteLaunchTemplateResponse func (client *Client) DeleteLaunchTemplateWithOptions(request *DeleteLaunchTemplateRequest, runtime *dara.RuntimeOptions) (_result *DeleteLaunchTemplateResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteLaunchTemplate"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteLaunchTemplateResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a launch template. You can use the LaunchTemplateId or LaunchTemplateName parameter to specify the launch template that you want to delete from the specified region. // // Description: // // Take note of the following items: // // - After you delete a launch template, Elastic Compute Service (ECS) instances created based on the launch template are not affected. // // - After you delete a launch template, all versions of the launch template are deleted and cannot be restored. If you want to delete only a specific version of the launch template, call the [DeleteLaunchTemplateVersion](https://help.aliyun.com/document_detail/2679735.html) operation. // // @param request - DeleteLaunchTemplateRequest // // @return DeleteLaunchTemplateResponse func (client *Client) DeleteLaunchTemplate(request *DeleteLaunchTemplateRequest) (_result *DeleteLaunchTemplateResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteLaunchTemplateResponse{} _body, _err := client.DeleteLaunchTemplateWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes versions of a launch template. When you call this operation, you can specify parameters, such as LaunchTemplateId and DeleteVersion, in the request. // // Description: // // Take note of the following items: // // - You cannot delete the default version of a launch template by calling this operation. To delete the default version of a launch template, you must delete the launch template. // // - If the version of a launch template that you want to delete is the default version, call the [ModifyLaunchTemplateDefaultVersion](https://help.aliyun.com/document_detail/2679734.html) operation or go to the **Launch Templates* - page in the Elastic Compute Service (ECS) console to change the default version to a different version, and then delete the original default version. // // - After you delete a version of a launch template, the ECS instances that were created based on the version are not affected. // // @param request - DeleteLaunchTemplateVersionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteLaunchTemplateVersionResponse func (client *Client) DeleteLaunchTemplateVersionWithOptions(request *DeleteLaunchTemplateVersionRequest, runtime *dara.RuntimeOptions) (_result *DeleteLaunchTemplateVersionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DeleteVersion) { query["DeleteVersion"] = request.DeleteVersion } if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteLaunchTemplateVersion"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteLaunchTemplateVersionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes versions of a launch template. When you call this operation, you can specify parameters, such as LaunchTemplateId and DeleteVersion, in the request. // // Description: // // Take note of the following items: // // - You cannot delete the default version of a launch template by calling this operation. To delete the default version of a launch template, you must delete the launch template. // // - If the version of a launch template that you want to delete is the default version, call the [ModifyLaunchTemplateDefaultVersion](https://help.aliyun.com/document_detail/2679734.html) operation or go to the **Launch Templates* - page in the Elastic Compute Service (ECS) console to change the default version to a different version, and then delete the original default version. // // - After you delete a version of a launch template, the ECS instances that were created based on the version are not affected. // // @param request - DeleteLaunchTemplateVersionRequest // // @return DeleteLaunchTemplateVersionResponse func (client *Client) DeleteLaunchTemplateVersion(request *DeleteLaunchTemplateVersionRequest) (_result *DeleteLaunchTemplateVersionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteLaunchTemplateVersionResponse{} _body, _err := client.DeleteLaunchTemplateVersionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteNatGateway is deprecated, please use Vpc::2016-04-28::DeleteNatGateway instead. // // Summary: // // # DeleteNatGateway // // @param request - DeleteNatGatewayRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteNatGatewayResponse func (client *Client) DeleteNatGatewayWithOptions(request *DeleteNatGatewayRequest, runtime *dara.RuntimeOptions) (_result *DeleteNatGatewayResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.NatGatewayId) { query["NatGatewayId"] = request.NatGatewayId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteNatGateway"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteNatGatewayResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteNatGateway is deprecated, please use Vpc::2016-04-28::DeleteNatGateway instead. // // Summary: // // # DeleteNatGateway // // @param request - DeleteNatGatewayRequest // // @return DeleteNatGatewayResponse // Deprecated func (client *Client) DeleteNatGateway(request *DeleteNatGatewayRequest) (_result *DeleteNatGatewayResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteNatGatewayResponse{} _body, _err := client.DeleteNatGatewayWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes an elastic network interface (ENI) in a region. DeleteNetworkInterface is an asynchronous operation. // // Description: // // Take note of the following items: // // - The ENI to be deleted must be in the Available state. // // - If the ENI to be deleted is attached to an Elastic Compute Service (ECS) instance, you must detach the ENI from the instance before you can delete the ENI. To detach the ENI, you can call the [DetachNetworkInterface](https://help.aliyun.com/document_detail/58514.html) operation. // // - After an ENI is deleted, the following situations occur: // // - All private IP addresses (including primary and secondary private IP addresses) of the ENI are automatically released. // // - The ENI is automatically removed from all security groups. // // - The DeleteNetworkInterface operation is an asynchronous operation. After this operation is called to delete an ENI, you can check the status or events of the ENI to determine whether the ENI is deleted. The following figure shows the transitions between the states of the ENI. // // ![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/en-US/20230223/krcd/DeleteNetworkInterface.png) // // - If the ENI is in the Deleting state, the ENI deletion request is sent and the ENI is being deleted. // // - If the ENI is not found, the ENI is deleted. // // - If the ENI is stuck in the Deleting state, the ENI fails to be deleted. You can re-initiate the request to delete the ENI. // // For information about examples on how to call the DeleteNetworkInterface operation, see [Delete an ENI](https://help.aliyun.com/document_detail/471553.html). // // @param request - DeleteNetworkInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteNetworkInterfaceResponse func (client *Client) DeleteNetworkInterfaceWithOptions(request *DeleteNetworkInterfaceRequest, runtime *dara.RuntimeOptions) (_result *DeleteNetworkInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteNetworkInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteNetworkInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes an elastic network interface (ENI) in a region. DeleteNetworkInterface is an asynchronous operation. // // Description: // // Take note of the following items: // // - The ENI to be deleted must be in the Available state. // // - If the ENI to be deleted is attached to an Elastic Compute Service (ECS) instance, you must detach the ENI from the instance before you can delete the ENI. To detach the ENI, you can call the [DetachNetworkInterface](https://help.aliyun.com/document_detail/58514.html) operation. // // - After an ENI is deleted, the following situations occur: // // - All private IP addresses (including primary and secondary private IP addresses) of the ENI are automatically released. // // - The ENI is automatically removed from all security groups. // // - The DeleteNetworkInterface operation is an asynchronous operation. After this operation is called to delete an ENI, you can check the status or events of the ENI to determine whether the ENI is deleted. The following figure shows the transitions between the states of the ENI. // // ![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/en-US/20230223/krcd/DeleteNetworkInterface.png) // // - If the ENI is in the Deleting state, the ENI deletion request is sent and the ENI is being deleted. // // - If the ENI is not found, the ENI is deleted. // // - If the ENI is stuck in the Deleting state, the ENI fails to be deleted. You can re-initiate the request to delete the ENI. // // For information about examples on how to call the DeleteNetworkInterface operation, see [Delete an ENI](https://help.aliyun.com/document_detail/471553.html). // // @param request - DeleteNetworkInterfaceRequest // // @return DeleteNetworkInterfaceResponse func (client *Client) DeleteNetworkInterface(request *DeleteNetworkInterfaceRequest) (_result *DeleteNetworkInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteNetworkInterfaceResponse{} _body, _err := client.DeleteNetworkInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteNetworkInterfacePermission is deprecated, please use Ecs::2014-05-26::DeleteNetworkInterface instead. // // Summary: // // 删除操作弹性网卡的权限 // // @param request - DeleteNetworkInterfacePermissionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteNetworkInterfacePermissionResponse func (client *Client) DeleteNetworkInterfacePermissionWithOptions(request *DeleteNetworkInterfacePermissionRequest, runtime *dara.RuntimeOptions) (_result *DeleteNetworkInterfacePermissionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.NetworkInterfacePermissionId) { query["NetworkInterfacePermissionId"] = request.NetworkInterfacePermissionId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteNetworkInterfacePermission"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteNetworkInterfacePermissionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteNetworkInterfacePermission is deprecated, please use Ecs::2014-05-26::DeleteNetworkInterface instead. // // Summary: // // 删除操作弹性网卡的权限 // // @param request - DeleteNetworkInterfacePermissionRequest // // @return DeleteNetworkInterfacePermissionResponse // Deprecated func (client *Client) DeleteNetworkInterfacePermission(request *DeleteNetworkInterfacePermissionRequest) (_result *DeleteNetworkInterfacePermissionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteNetworkInterfacePermissionResponse{} _body, _err := client.DeleteNetworkInterfacePermissionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeletePhysicalConnection is deprecated, please use Vpc::2016-04-28::DeletePhysicalConnection instead. // // Summary: // // # DeletePhysicalConnection // // @param request - DeletePhysicalConnectionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeletePhysicalConnectionResponse func (client *Client) DeletePhysicalConnectionWithOptions(request *DeletePhysicalConnectionRequest, runtime *dara.RuntimeOptions) (_result *DeletePhysicalConnectionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PhysicalConnectionId) { query["PhysicalConnectionId"] = request.PhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeletePhysicalConnection"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeletePhysicalConnectionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeletePhysicalConnection is deprecated, please use Vpc::2016-04-28::DeletePhysicalConnection instead. // // Summary: // // # DeletePhysicalConnection // // @param request - DeletePhysicalConnectionRequest // // @return DeletePhysicalConnectionResponse // Deprecated func (client *Client) DeletePhysicalConnection(request *DeletePhysicalConnectionRequest) (_result *DeletePhysicalConnectionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeletePhysicalConnectionResponse{} _body, _err := client.DeletePhysicalConnectionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 删除运维窗口 // // @param request - DeletePlanMaintenanceWindowRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeletePlanMaintenanceWindowResponse func (client *Client) DeletePlanMaintenanceWindowWithOptions(request *DeletePlanMaintenanceWindowRequest, runtime *dara.RuntimeOptions) (_result *DeletePlanMaintenanceWindowResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.PlanWindowId) { query["PlanWindowId"] = request.PlanWindowId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeletePlanMaintenanceWindow"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeletePlanMaintenanceWindowResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 删除运维窗口 // // @param request - DeletePlanMaintenanceWindowRequest // // @return DeletePlanMaintenanceWindowResponse func (client *Client) DeletePlanMaintenanceWindow(request *DeletePlanMaintenanceWindowRequest) (_result *DeletePlanMaintenanceWindowResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeletePlanMaintenanceWindowResponse{} _body, _err := client.DeletePlanMaintenanceWindowWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a port list and all entries in the port list. // // @param request - DeletePortRangeListRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeletePortRangeListResponse func (client *Client) DeletePortRangeListWithOptions(request *DeletePortRangeListRequest, runtime *dara.RuntimeOptions) (_result *DeletePortRangeListResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PortRangeListId) { query["PortRangeListId"] = request.PortRangeListId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeletePortRangeList"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeletePortRangeListResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a port list and all entries in the port list. // // @param request - DeletePortRangeListRequest // // @return DeletePortRangeListResponse func (client *Client) DeletePortRangeList(request *DeletePortRangeListRequest) (_result *DeletePortRangeListResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeletePortRangeListResponse{} _body, _err := client.DeletePortRangeListWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a prefix list and all entries in the prefix list. // // Description: // // If a prefix list is associated with resources, you cannot delete the prefix list. You must disassociate the prefix list from the resources before you delete the prefix list. You can call the [DescribePrefixListAssociations](https://help.aliyun.com/document_detail/204724.html) operation to query resources that are associated with a specific prefix list. // // @param request - DeletePrefixListRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeletePrefixListResponse func (client *Client) DeletePrefixListWithOptions(request *DeletePrefixListRequest, runtime *dara.RuntimeOptions) (_result *DeletePrefixListResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrefixListId) { query["PrefixListId"] = request.PrefixListId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeletePrefixList"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeletePrefixListResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a prefix list and all entries in the prefix list. // // Description: // // If a prefix list is associated with resources, you cannot delete the prefix list. You must disassociate the prefix list from the resources before you delete the prefix list. You can call the [DescribePrefixListAssociations](https://help.aliyun.com/document_detail/204724.html) operation to query resources that are associated with a specific prefix list. // // @param request - DeletePrefixListRequest // // @return DeletePrefixListResponse func (client *Client) DeletePrefixList(request *DeletePrefixListRequest) (_result *DeletePrefixListResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeletePrefixListResponse{} _body, _err := client.DeletePrefixListWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteRouteEntry is deprecated, please use Vpc::2016-04-28::DeleteRouteEntry instead. // // Summary: // // # DeleteRouteEntry // // @param request - DeleteRouteEntryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteRouteEntryResponse func (client *Client) DeleteRouteEntryWithOptions(request *DeleteRouteEntryRequest, runtime *dara.RuntimeOptions) (_result *DeleteRouteEntryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DestinationCidrBlock) { query["DestinationCidrBlock"] = request.DestinationCidrBlock } if !dara.IsNil(request.NextHopId) { query["NextHopId"] = request.NextHopId } if !dara.IsNil(request.NextHopList) { query["NextHopList"] = request.NextHopList } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouteTableId) { query["RouteTableId"] = request.RouteTableId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteRouteEntry"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteRouteEntryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteRouteEntry is deprecated, please use Vpc::2016-04-28::DeleteRouteEntry instead. // // Summary: // // # DeleteRouteEntry // // @param request - DeleteRouteEntryRequest // // @return DeleteRouteEntryResponse // Deprecated func (client *Client) DeleteRouteEntry(request *DeleteRouteEntryRequest) (_result *DeleteRouteEntryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteRouteEntryResponse{} _body, _err := client.DeleteRouteEntryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteRouterInterface is deprecated, please use Vpc::2016-04-28::DeleteRouterInterface instead. // // Summary: // // # DeleteRouterInterface // // @param request - DeleteRouterInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteRouterInterfaceResponse func (client *Client) DeleteRouterInterfaceWithOptions(request *DeleteRouterInterfaceRequest, runtime *dara.RuntimeOptions) (_result *DeleteRouterInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouterInterfaceId) { query["RouterInterfaceId"] = request.RouterInterfaceId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteRouterInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteRouterInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteRouterInterface is deprecated, please use Vpc::2016-04-28::DeleteRouterInterface instead. // // Summary: // // # DeleteRouterInterface // // @param request - DeleteRouterInterfaceRequest // // @return DeleteRouterInterfaceResponse // Deprecated func (client *Client) DeleteRouterInterface(request *DeleteRouterInterfaceRequest) (_result *DeleteRouterInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteRouterInterfaceResponse{} _body, _err := client.DeleteRouterInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a security group and all security group rules in the security group. // // Description: // // Make sure that no Elastic Compute Service (ECS) instances exist in the security group. You can query instances by calling the [DescribeInstances](https://help.aliyun.com/document_detail/2679689.html) operation. // // - Make sure that no elastic network interfaces (ENIs) exist in the security group. You can query ENIs by calling the [DescribeNetworkInterfaces](https://help.aliyun.com/document_detail/2679884.html) operation. // // - Make sure that the security group that you want to delete is not referenced by rules of other security groups. You can query the associations by calling the [DescribeSecurityGroupReferences](https://help.aliyun.com/document_detail/57320.html) operation. // // - If the `InvalidOperation.DeletionProtection` error code is returned when you call the DeleteSecurityGroup operation to delete a security group, the deletion protection feature is enabled for the security group. When you create a Container Service for Kubernetes (ACK) cluster, the deletion protection feature is enabled for an associated security group to prevent accidental deletion. You cannot manually disable the deletion protection feature for the security group. The deletion protection feature can be automatically disabled only after the ACK cluster is deleted. For more information, see the [Disable deletion protection for a security group](https://help.aliyun.com/document_detail/353191.html) section of the "Configure and manage security groups for an ACK cluster" topic. // // @param request - DeleteSecurityGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteSecurityGroupResponse func (client *Client) DeleteSecurityGroupWithOptions(request *DeleteSecurityGroupRequest, runtime *dara.RuntimeOptions) (_result *DeleteSecurityGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteSecurityGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteSecurityGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a security group and all security group rules in the security group. // // Description: // // Make sure that no Elastic Compute Service (ECS) instances exist in the security group. You can query instances by calling the [DescribeInstances](https://help.aliyun.com/document_detail/2679689.html) operation. // // - Make sure that no elastic network interfaces (ENIs) exist in the security group. You can query ENIs by calling the [DescribeNetworkInterfaces](https://help.aliyun.com/document_detail/2679884.html) operation. // // - Make sure that the security group that you want to delete is not referenced by rules of other security groups. You can query the associations by calling the [DescribeSecurityGroupReferences](https://help.aliyun.com/document_detail/57320.html) operation. // // - If the `InvalidOperation.DeletionProtection` error code is returned when you call the DeleteSecurityGroup operation to delete a security group, the deletion protection feature is enabled for the security group. When you create a Container Service for Kubernetes (ACK) cluster, the deletion protection feature is enabled for an associated security group to prevent accidental deletion. You cannot manually disable the deletion protection feature for the security group. The deletion protection feature can be automatically disabled only after the ACK cluster is deleted. For more information, see the [Disable deletion protection for a security group](https://help.aliyun.com/document_detail/353191.html) section of the "Configure and manage security groups for an ACK cluster" topic. // // @param request - DeleteSecurityGroupRequest // // @return DeleteSecurityGroupResponse func (client *Client) DeleteSecurityGroup(request *DeleteSecurityGroupRequest) (_result *DeleteSecurityGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteSecurityGroupResponse{} _body, _err := client.DeleteSecurityGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes a specified snapshot. If you call this operation to delete a snapshot that is being created, the associated snapshot creation task is also canceled. // // Description: // // Take note of the following items: // // - If the snapshot does not exist, the request is ignored. // // - If the snapshot has been used to create custom images, the snapshot cannot be deleted. You need to call the [DeleteImage](https://help.aliyun.com/document_detail/25537.html) operation to delete the custom images before you can delete the snapshot. // // - If the snapshot has been used to create disks and `Force` is not specified or is set to `false`, the snapshot cannot be deleted directly. If you want to delete the snapshot, set `Force` to true to forcibly delete the snapshot. The disks created from the snapshot cannot be re-initialized after the snapshot is forcibly deleted. // // @param request - DeleteSnapshotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteSnapshotResponse func (client *Client) DeleteSnapshotWithOptions(request *DeleteSnapshotRequest, runtime *dara.RuntimeOptions) (_result *DeleteSnapshotResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteSnapshot"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteSnapshotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes a specified snapshot. If you call this operation to delete a snapshot that is being created, the associated snapshot creation task is also canceled. // // Description: // // Take note of the following items: // // - If the snapshot does not exist, the request is ignored. // // - If the snapshot has been used to create custom images, the snapshot cannot be deleted. You need to call the [DeleteImage](https://help.aliyun.com/document_detail/25537.html) operation to delete the custom images before you can delete the snapshot. // // - If the snapshot has been used to create disks and `Force` is not specified or is set to `false`, the snapshot cannot be deleted directly. If you want to delete the snapshot, set `Force` to true to forcibly delete the snapshot. The disks created from the snapshot cannot be re-initialized after the snapshot is forcibly deleted. // // @param request - DeleteSnapshotRequest // // @return DeleteSnapshotResponse func (client *Client) DeleteSnapshot(request *DeleteSnapshotRequest) (_result *DeleteSnapshotResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteSnapshotResponse{} _body, _err := client.DeleteSnapshotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes snapshot-consistent groups. // // Description: // // If a disk snapshot that is contained in a snapshot-consistent group has been used to create a custom image, the disk snapshot is retained after the snapshot-consistent group is deleted. Before you can delete the disk snapshot, you must call the [DeleteImage](https://help.aliyun.com/document_detail/25537.html) operation to delete the custom image. Then, you can call the [DeleteSnapshot](https://help.aliyun.com/document_detail/25525.html) operation to delete the disk snapshot. // // @param request - DeleteSnapshotGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteSnapshotGroupResponse func (client *Client) DeleteSnapshotGroupWithOptions(request *DeleteSnapshotGroupRequest, runtime *dara.RuntimeOptions) (_result *DeleteSnapshotGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotGroupId) { query["SnapshotGroupId"] = request.SnapshotGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteSnapshotGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteSnapshotGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes snapshot-consistent groups. // // Description: // // If a disk snapshot that is contained in a snapshot-consistent group has been used to create a custom image, the disk snapshot is retained after the snapshot-consistent group is deleted. Before you can delete the disk snapshot, you must call the [DeleteImage](https://help.aliyun.com/document_detail/25537.html) operation to delete the custom image. Then, you can call the [DeleteSnapshot](https://help.aliyun.com/document_detail/25525.html) operation to delete the disk snapshot. // // @param request - DeleteSnapshotGroupRequest // // @return DeleteSnapshotGroupResponse func (client *Client) DeleteSnapshotGroup(request *DeleteSnapshotGroupRequest) (_result *DeleteSnapshotGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteSnapshotGroupResponse{} _body, _err := client.DeleteSnapshotGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // (Beta) Deletes an empty storage set. The storage set that you want to delete must be empty and do not contain disks or Shared Block Storage devices. // // @param request - DeleteStorageSetRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteStorageSetResponse func (client *Client) DeleteStorageSetWithOptions(request *DeleteStorageSetRequest, runtime *dara.RuntimeOptions) (_result *DeleteStorageSetResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageSetId) { query["StorageSetId"] = request.StorageSetId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteStorageSet"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteStorageSetResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // (Beta) Deletes an empty storage set. The storage set that you want to delete must be empty and do not contain disks or Shared Block Storage devices. // // @param request - DeleteStorageSetRequest // // @return DeleteStorageSetResponse func (client *Client) DeleteStorageSet(request *DeleteStorageSetRequest) (_result *DeleteStorageSetResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteStorageSetResponse{} _body, _err := client.DeleteStorageSetWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteVSwitch is deprecated, please use Vpc::2016-04-28::DeleteVSwitch instead. // // Summary: // // # DeleteVSwitch // // @param request - DeleteVSwitchRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteVSwitchResponse func (client *Client) DeleteVSwitchWithOptions(request *DeleteVSwitchRequest, runtime *dara.RuntimeOptions) (_result *DeleteVSwitchResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteVSwitch"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteVSwitchResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteVSwitch is deprecated, please use Vpc::2016-04-28::DeleteVSwitch instead. // // Summary: // // # DeleteVSwitch // // @param request - DeleteVSwitchRequest // // @return DeleteVSwitchResponse // Deprecated func (client *Client) DeleteVSwitch(request *DeleteVSwitchRequest) (_result *DeleteVSwitchResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteVSwitchResponse{} _body, _err := client.DeleteVSwitchWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::DeleteVirtualBorderRouter instead. // // Summary: // // # DeleteVirtualBorderRouter // // @param request - DeleteVirtualBorderRouterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteVirtualBorderRouterResponse func (client *Client) DeleteVirtualBorderRouterWithOptions(request *DeleteVirtualBorderRouterRequest, runtime *dara.RuntimeOptions) (_result *DeleteVirtualBorderRouterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.VbrId) { query["VbrId"] = request.VbrId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteVirtualBorderRouter"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteVirtualBorderRouterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::DeleteVirtualBorderRouter instead. // // Summary: // // # DeleteVirtualBorderRouter // // @param request - DeleteVirtualBorderRouterRequest // // @return DeleteVirtualBorderRouterResponse // Deprecated func (client *Client) DeleteVirtualBorderRouter(request *DeleteVirtualBorderRouterRequest) (_result *DeleteVirtualBorderRouterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteVirtualBorderRouterResponse{} _body, _err := client.DeleteVirtualBorderRouterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DeleteVpc is deprecated, please use Vpc::2016-04-28::DeleteVpc instead. // // Summary: // // 删除VPC // // @param request - DeleteVpcRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeleteVpcResponse func (client *Client) DeleteVpcWithOptions(request *DeleteVpcRequest, runtime *dara.RuntimeOptions) (_result *DeleteVpcResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeleteVpc"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeleteVpcResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DeleteVpc is deprecated, please use Vpc::2016-04-28::DeleteVpc instead. // // Summary: // // 删除VPC // // @param request - DeleteVpcRequest // // @return DeleteVpcResponse // Deprecated func (client *Client) DeleteVpc(request *DeleteVpcRequest) (_result *DeleteVpcResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeleteVpcResponse{} _body, _err := client.DeleteVpcWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deregisters a managed instance. After you deregister the managed instance, you can no longer use Cloud Assistant to send commands or files to the instance. // // @param request - DeregisterManagedInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DeregisterManagedInstanceResponse func (client *Client) DeregisterManagedInstanceWithOptions(request *DeregisterManagedInstanceRequest, runtime *dara.RuntimeOptions) (_result *DeregisterManagedInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DeregisterManagedInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DeregisterManagedInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deregisters a managed instance. After you deregister the managed instance, you can no longer use Cloud Assistant to send commands or files to the instance. // // @param request - DeregisterManagedInstanceRequest // // @return DeregisterManagedInstanceResponse func (client *Client) DeregisterManagedInstance(request *DeregisterManagedInstanceRequest) (_result *DeregisterManagedInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DeregisterManagedInstanceResponse{} _body, _err := client.DeregisterManagedInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeAccessPoints is deprecated, please use Vpc::2016-04-28::DescribeAccessPoints instead. // // Summary: // // # DescribeAccessPoints // // @param request - DescribeAccessPointsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAccessPointsResponse func (client *Client) DescribeAccessPointsWithOptions(request *DescribeAccessPointsRequest, runtime *dara.RuntimeOptions) (_result *DescribeAccessPointsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Type) { query["Type"] = request.Type } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAccessPoints"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAccessPointsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeAccessPoints is deprecated, please use Vpc::2016-04-28::DescribeAccessPoints instead. // // Summary: // // # DescribeAccessPoints // // @param request - DescribeAccessPointsRequest // // @return DescribeAccessPointsResponse // Deprecated func (client *Client) DescribeAccessPoints(request *DescribeAccessPointsRequest) (_result *DescribeAccessPointsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAccessPointsResponse{} _body, _err := client.DescribeAccessPointsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the quotas of Elastic Compute Service (ECS) resources that you can create in an Alibaba Cloud region. For a specific region, you can query the maximum numbers of security groups, elastic network interfaces (ENIs), vCPUs for pay-as-you-go instances, vCPUs for spot instances, and dedicated hosts that you can create and the capacity quotas for pay-as-you-go disks that you can create. You can also query information such as network types or whether an account has completed the account verification. // // Description: // // After you [create](https://account.alibabacloud.com/register/intl_register.htm) an Alibaba Cloud account, you can create a specific number of ECS instances in different regions within the account. For more information, see [Limits](https://help.aliyun.com/document_detail/25412.html). // // You can apply for a quota increase in the [Quota Center console](https://quotas.console.aliyun.com/products). // // @param request - DescribeAccountAttributesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAccountAttributesResponse func (client *Client) DescribeAccountAttributesWithOptions(request *DescribeAccountAttributesRequest, runtime *dara.RuntimeOptions) (_result *DescribeAccountAttributesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AttributeName) { query["AttributeName"] = request.AttributeName } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAccountAttributes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAccountAttributesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the quotas of Elastic Compute Service (ECS) resources that you can create in an Alibaba Cloud region. For a specific region, you can query the maximum numbers of security groups, elastic network interfaces (ENIs), vCPUs for pay-as-you-go instances, vCPUs for spot instances, and dedicated hosts that you can create and the capacity quotas for pay-as-you-go disks that you can create. You can also query information such as network types or whether an account has completed the account verification. // // Description: // // After you [create](https://account.alibabacloud.com/register/intl_register.htm) an Alibaba Cloud account, you can create a specific number of ECS instances in different regions within the account. For more information, see [Limits](https://help.aliyun.com/document_detail/25412.html). // // You can apply for a quota increase in the [Quota Center console](https://quotas.console.aliyun.com/products). // // @param request - DescribeAccountAttributesRequest // // @return DescribeAccountAttributesResponse func (client *Client) DescribeAccountAttributes(request *DescribeAccountAttributesRequest) (_result *DescribeAccountAttributesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAccountAttributesResponse{} _body, _err := client.DescribeAccountAttributesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries existing activation codes and their usage information. // // Description: // // ## [](#)Usage notes // // You can use one of the following methods to check the responses: // // - Method 1: During a paged query, when you call the DescribeActivations operation to retrieve the first page of results, use `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeActivations operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // - Method 2: Use `PageSize` to specify the number of entries to return on each page, and then use `PageNumber` to specify the number of the page to return. You can use only one of the preceding methods. If you specify `MaxResults` or `NextToken`, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. // // @param request - DescribeActivationsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeActivationsResponse func (client *Client) DescribeActivationsWithOptions(request *DescribeActivationsRequest, runtime *dara.RuntimeOptions) (_result *DescribeActivationsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActivationId) { query["ActivationId"] = request.ActivationId } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeActivations"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeActivationsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries existing activation codes and their usage information. // // Description: // // ## [](#)Usage notes // // You can use one of the following methods to check the responses: // // - Method 1: During a paged query, when you call the DescribeActivations operation to retrieve the first page of results, use `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeActivations operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // - Method 2: Use `PageSize` to specify the number of entries to return on each page, and then use `PageNumber` to specify the number of the page to return. You can use only one of the preceding methods. If you specify `MaxResults` or `NextToken`, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. // // @param request - DescribeActivationsRequest // // @return DescribeActivationsResponse func (client *Client) DescribeActivations(request *DescribeActivationsRequest) (_result *DescribeActivationsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeActivationsResponse{} _body, _err := client.DescribeActivationsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the scheduling tasks of an auto provisioning group. // // @param request - DescribeAutoProvisioningGroupHistoryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAutoProvisioningGroupHistoryResponse func (client *Client) DescribeAutoProvisioningGroupHistoryWithOptions(request *DescribeAutoProvisioningGroupHistoryRequest, runtime *dara.RuntimeOptions) (_result *DescribeAutoProvisioningGroupHistoryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoProvisioningGroupId) { query["AutoProvisioningGroupId"] = request.AutoProvisioningGroupId } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAutoProvisioningGroupHistory"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAutoProvisioningGroupHistoryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the scheduling tasks of an auto provisioning group. // // @param request - DescribeAutoProvisioningGroupHistoryRequest // // @return DescribeAutoProvisioningGroupHistoryResponse func (client *Client) DescribeAutoProvisioningGroupHistory(request *DescribeAutoProvisioningGroupHistoryRequest) (_result *DescribeAutoProvisioningGroupHistoryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAutoProvisioningGroupHistoryResponse{} _body, _err := client.DescribeAutoProvisioningGroupHistoryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries information about Elastic Compute Service (ECS) instances in an auto provisioning group. // // @param request - DescribeAutoProvisioningGroupInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAutoProvisioningGroupInstancesResponse func (client *Client) DescribeAutoProvisioningGroupInstancesWithOptions(request *DescribeAutoProvisioningGroupInstancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeAutoProvisioningGroupInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoProvisioningGroupId) { query["AutoProvisioningGroupId"] = request.AutoProvisioningGroupId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAutoProvisioningGroupInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAutoProvisioningGroupInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries information about Elastic Compute Service (ECS) instances in an auto provisioning group. // // @param request - DescribeAutoProvisioningGroupInstancesRequest // // @return DescribeAutoProvisioningGroupInstancesResponse func (client *Client) DescribeAutoProvisioningGroupInstances(request *DescribeAutoProvisioningGroupInstancesRequest) (_result *DescribeAutoProvisioningGroupInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAutoProvisioningGroupInstancesResponse{} _body, _err := client.DescribeAutoProvisioningGroupInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries information about one or more auto provisioning groups. // // @param request - DescribeAutoProvisioningGroupsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAutoProvisioningGroupsResponse func (client *Client) DescribeAutoProvisioningGroupsWithOptions(request *DescribeAutoProvisioningGroupsRequest, runtime *dara.RuntimeOptions) (_result *DescribeAutoProvisioningGroupsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoProvisioningGroupId) { query["AutoProvisioningGroupId"] = request.AutoProvisioningGroupId } if !dara.IsNil(request.AutoProvisioningGroupName) { query["AutoProvisioningGroupName"] = request.AutoProvisioningGroupName } if !dara.IsNil(request.AutoProvisioningGroupStatus) { query["AutoProvisioningGroupStatus"] = request.AutoProvisioningGroupStatus } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAutoProvisioningGroups"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAutoProvisioningGroupsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries information about one or more auto provisioning groups. // // @param request - DescribeAutoProvisioningGroupsRequest // // @return DescribeAutoProvisioningGroupsResponse func (client *Client) DescribeAutoProvisioningGroups(request *DescribeAutoProvisioningGroupsRequest) (_result *DescribeAutoProvisioningGroupsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAutoProvisioningGroupsResponse{} _body, _err := client.DescribeAutoProvisioningGroupsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries association relationships of automatic snapshot policies. // // @param request - DescribeAutoSnapshotPolicyAssociationsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAutoSnapshotPolicyAssociationsResponse func (client *Client) DescribeAutoSnapshotPolicyAssociationsWithOptions(request *DescribeAutoSnapshotPolicyAssociationsRequest, runtime *dara.RuntimeOptions) (_result *DescribeAutoSnapshotPolicyAssociationsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoSnapshotPolicyId) { query["AutoSnapshotPolicyId"] = request.AutoSnapshotPolicyId } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAutoSnapshotPolicyAssociations"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAutoSnapshotPolicyAssociationsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries association relationships of automatic snapshot policies. // // @param request - DescribeAutoSnapshotPolicyAssociationsRequest // // @return DescribeAutoSnapshotPolicyAssociationsResponse func (client *Client) DescribeAutoSnapshotPolicyAssociations(request *DescribeAutoSnapshotPolicyAssociationsRequest) (_result *DescribeAutoSnapshotPolicyAssociationsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAutoSnapshotPolicyAssociationsResponse{} _body, _err := client.DescribeAutoSnapshotPolicyAssociationsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of automatic snapshot policies that are created in a specific region. // // @param request - DescribeAutoSnapshotPolicyExRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAutoSnapshotPolicyExResponse func (client *Client) DescribeAutoSnapshotPolicyExWithOptions(request *DescribeAutoSnapshotPolicyExRequest, runtime *dara.RuntimeOptions) (_result *DescribeAutoSnapshotPolicyExResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoSnapshotPolicyId) { query["AutoSnapshotPolicyId"] = request.AutoSnapshotPolicyId } if !dara.IsNil(request.AutoSnapshotPolicyName) { query["AutoSnapshotPolicyName"] = request.AutoSnapshotPolicyName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAutoSnapshotPolicyEx"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAutoSnapshotPolicyExResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of automatic snapshot policies that are created in a specific region. // // @param request - DescribeAutoSnapshotPolicyExRequest // // @return DescribeAutoSnapshotPolicyExResponse func (client *Client) DescribeAutoSnapshotPolicyEx(request *DescribeAutoSnapshotPolicyExRequest) (_result *DescribeAutoSnapshotPolicyExResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAutoSnapshotPolicyExResponse{} _body, _err := client.DescribeAutoSnapshotPolicyExWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 查询可用资源 // // @param request - DescribeAvailableResourceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeAvailableResourceResponse func (client *Client) DescribeAvailableResourceWithOptions(request *DescribeAvailableResourceRequest, runtime *dara.RuntimeOptions) (_result *DescribeAvailableResourceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Cores) { query["Cores"] = request.Cores } if !dara.IsNil(request.DataDiskCategory) { query["DataDiskCategory"] = request.DataDiskCategory } if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.DestinationResource) { query["DestinationResource"] = request.DestinationResource } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.Memory) { query["Memory"] = request.Memory } if !dara.IsNil(request.NetworkCategory) { query["NetworkCategory"] = request.NetworkCategory } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Scope) { query["Scope"] = request.Scope } if !dara.IsNil(request.SpotDuration) { query["SpotDuration"] = request.SpotDuration } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.SystemDiskCategory) { query["SystemDiskCategory"] = request.SystemDiskCategory } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeAvailableResource"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeAvailableResourceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 查询可用资源 // // @param request - DescribeAvailableResourceRequest // // @return DescribeAvailableResourceResponse func (client *Client) DescribeAvailableResource(request *DescribeAvailableResourceRequest) (_result *DescribeAvailableResourceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeAvailableResourceResponse{} _body, _err := client.DescribeAvailableResourceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the maximum public bandwidth that can be purchased, upgraded, or downgraded for various Elastic Compute Service (ECS) instance types. // // @param request - DescribeBandwidthLimitationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeBandwidthLimitationResponse func (client *Client) DescribeBandwidthLimitationWithOptions(request *DescribeBandwidthLimitationRequest, runtime *dara.RuntimeOptions) (_result *DescribeBandwidthLimitationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.OperationType) { query["OperationType"] = request.OperationType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeBandwidthLimitation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeBandwidthLimitationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the maximum public bandwidth that can be purchased, upgraded, or downgraded for various Elastic Compute Service (ECS) instance types. // // @param request - DescribeBandwidthLimitationRequest // // @return DescribeBandwidthLimitationResponse func (client *Client) DescribeBandwidthLimitation(request *DescribeBandwidthLimitationRequest) (_result *DescribeBandwidthLimitationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeBandwidthLimitationResponse{} _body, _err := client.DescribeBandwidthLimitationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeBandwidthPackages is deprecated, please use Vpc::2016-04-28::DescribeBandwidthPackages instead. // // Summary: // // # DescribeBandwidthPackages // // @param request - DescribeBandwidthPackagesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeBandwidthPackagesResponse func (client *Client) DescribeBandwidthPackagesWithOptions(request *DescribeBandwidthPackagesRequest, runtime *dara.RuntimeOptions) (_result *DescribeBandwidthPackagesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BandwidthPackageId) { query["BandwidthPackageId"] = request.BandwidthPackageId } if !dara.IsNil(request.NatGatewayId) { query["NatGatewayId"] = request.NatGatewayId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeBandwidthPackages"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeBandwidthPackagesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeBandwidthPackages is deprecated, please use Vpc::2016-04-28::DescribeBandwidthPackages instead. // // Summary: // // # DescribeBandwidthPackages // // @param request - DescribeBandwidthPackagesRequest // // @return DescribeBandwidthPackagesResponse // Deprecated func (client *Client) DescribeBandwidthPackages(request *DescribeBandwidthPackagesRequest) (_result *DescribeBandwidthPackagesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeBandwidthPackagesResponse{} _body, _err := client.DescribeBandwidthPackagesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the Elastic Compute Service (ECS) instances that match a capacity reservation. // // @param request - DescribeCapacityReservationInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeCapacityReservationInstancesResponse func (client *Client) DescribeCapacityReservationInstancesWithOptions(request *DescribeCapacityReservationInstancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeCapacityReservationInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeCapacityReservationInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeCapacityReservationInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the Elastic Compute Service (ECS) instances that match a capacity reservation. // // @param request - DescribeCapacityReservationInstancesRequest // // @return DescribeCapacityReservationInstancesResponse func (client *Client) DescribeCapacityReservationInstances(request *DescribeCapacityReservationInstancesRequest) (_result *DescribeCapacityReservationInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeCapacityReservationInstancesResponse{} _body, _err := client.DescribeCapacityReservationInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of capacity reservations. // // @param request - DescribeCapacityReservationsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeCapacityReservationsResponse func (client *Client) DescribeCapacityReservationsWithOptions(request *DescribeCapacityReservationsRequest, runtime *dara.RuntimeOptions) (_result *DescribeCapacityReservationsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeCapacityReservations"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeCapacityReservationsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of capacity reservations. // // @param request - DescribeCapacityReservationsRequest // // @return DescribeCapacityReservationsResponse func (client *Client) DescribeCapacityReservations(request *DescribeCapacityReservationsRequest) (_result *DescribeCapacityReservationsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeCapacityReservationsResponse{} _body, _err := client.DescribeCapacityReservationsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries instances located in the classic network that have established ClassicLink connections to virtual private clouds (VPCs). // // Description: // // Take note of the following items: // // - This operation applies only to instances that reside in the classic network. // // - You can query a maximum of 100 instances that reside in the classic network at a time. // // - At least one of the `VpcId` and `InstanceId` parameters must be configured. // // @param request - DescribeClassicLinkInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeClassicLinkInstancesResponse func (client *Client) DescribeClassicLinkInstancesWithOptions(request *DescribeClassicLinkInstancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeClassicLinkInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeClassicLinkInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeClassicLinkInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries instances located in the classic network that have established ClassicLink connections to virtual private clouds (VPCs). // // Description: // // Take note of the following items: // // - This operation applies only to instances that reside in the classic network. // // - You can query a maximum of 100 instances that reside in the classic network at a time. // // - At least one of the `VpcId` and `InstanceId` parameters must be configured. // // @param request - DescribeClassicLinkInstancesRequest // // @return DescribeClassicLinkInstancesResponse func (client *Client) DescribeClassicLinkInstances(request *DescribeClassicLinkInstancesRequest) (_result *DescribeClassicLinkInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeClassicLinkInstancesResponse{} _body, _err := client.DescribeClassicLinkInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the configurations of Cloud Assistant features. // // @param request - DescribeCloudAssistantSettingsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeCloudAssistantSettingsResponse func (client *Client) DescribeCloudAssistantSettingsWithOptions(request *DescribeCloudAssistantSettingsRequest, runtime *dara.RuntimeOptions) (_result *DescribeCloudAssistantSettingsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SettingType) { query["SettingType"] = request.SettingType } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeCloudAssistantSettings"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeCloudAssistantSettingsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the configurations of Cloud Assistant features. // // @param request - DescribeCloudAssistantSettingsRequest // // @return DescribeCloudAssistantSettingsResponse func (client *Client) DescribeCloudAssistantSettings(request *DescribeCloudAssistantSettingsRequest) (_result *DescribeCloudAssistantSettingsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeCloudAssistantSettingsResponse{} _body, _err := client.DescribeCloudAssistantSettingsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries whether Cloud Assistant Agent is installed on instances. If Cloud Assistant Agent is installed, the system queries the total number of Cloud Assistant commands that have been run, the number of Cloud Assistant commands that are being run, and the time when Cloud Assistant commands were last run. // // Description: // // ## [](#)Usage notes // // - Before you run commands on or send files to instances, especially new instances, we recommend that you query the status of Cloud Assistant on the instances by calling this operation and checking the return value of CloudAssistantStatus. Run commands on or send files to the instances only when the return value is true. // // - During a paged query, when you call the DescribeCloudAssistantStatus operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeCloudAssistantStatus operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeCloudAssistantStatusRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeCloudAssistantStatusResponse func (client *Client) DescribeCloudAssistantStatusWithOptions(request *DescribeCloudAssistantStatusRequest, runtime *dara.RuntimeOptions) (_result *DescribeCloudAssistantStatusResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OSType) { query["OSType"] = request.OSType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeCloudAssistantStatus"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeCloudAssistantStatusResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries whether Cloud Assistant Agent is installed on instances. If Cloud Assistant Agent is installed, the system queries the total number of Cloud Assistant commands that have been run, the number of Cloud Assistant commands that are being run, and the time when Cloud Assistant commands were last run. // // Description: // // ## [](#)Usage notes // // - Before you run commands on or send files to instances, especially new instances, we recommend that you query the status of Cloud Assistant on the instances by calling this operation and checking the return value of CloudAssistantStatus. Run commands on or send files to the instances only when the return value is true. // // - During a paged query, when you call the DescribeCloudAssistantStatus operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeCloudAssistantStatus operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeCloudAssistantStatusRequest // // @return DescribeCloudAssistantStatusResponse func (client *Client) DescribeCloudAssistantStatus(request *DescribeCloudAssistantStatusRequest) (_result *DescribeCloudAssistantStatusResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeCloudAssistantStatusResponse{} _body, _err := client.DescribeCloudAssistantStatusWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeClusters is deprecated // // Summary: // // 查询集群 // // @param request - DescribeClustersRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeClustersResponse func (client *Client) DescribeClustersWithOptions(request *DescribeClustersRequest, runtime *dara.RuntimeOptions) (_result *DescribeClustersResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeClusters"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeClustersResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeClusters is deprecated // // Summary: // // 查询集群 // // @param request - DescribeClustersRequest // // @return DescribeClustersResponse // Deprecated func (client *Client) DescribeClusters(request *DescribeClustersRequest) (_result *DescribeClustersResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeClustersResponse{} _body, _err := client.DescribeClustersWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the Cloud Assistant commands that you created or the common Cloud Assistant commands that Alibaba Cloud provides. // // Description: // // ## [](#)Usage notes // // - If you specify only `Action` and `RegionId`, all available commands (`CommandId`) that you created in the specified region are queried by default. // // - During a paged query, when you call the DescribeCommands operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeCommands operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeCommandsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeCommandsResponse func (client *Client) DescribeCommandsWithOptions(request *DescribeCommandsRequest, runtime *dara.RuntimeOptions) (_result *DescribeCommandsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CommandId) { query["CommandId"] = request.CommandId } if !dara.IsNil(request.ContentEncoding) { query["ContentEncoding"] = request.ContentEncoding } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Latest) { query["Latest"] = request.Latest } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.Provider) { query["Provider"] = request.Provider } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Type) { query["Type"] = request.Type } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeCommands"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeCommandsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the Cloud Assistant commands that you created or the common Cloud Assistant commands that Alibaba Cloud provides. // // Description: // // ## [](#)Usage notes // // - If you specify only `Action` and `RegionId`, all available commands (`CommandId`) that you created in the specified region are queried by default. // // - During a paged query, when you call the DescribeCommands operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeCommands operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeCommandsRequest // // @return DescribeCommandsResponse func (client *Client) DescribeCommands(request *DescribeCommandsRequest) (_result *DescribeCommandsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeCommandsResponse{} _body, _err := client.DescribeCommandsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the auto-renewal status of one or more subscription dedicated hosts. // // @param request - DescribeDedicatedHostAutoRenewRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDedicatedHostAutoRenewResponse func (client *Client) DescribeDedicatedHostAutoRenewWithOptions(request *DescribeDedicatedHostAutoRenewRequest, runtime *dara.RuntimeOptions) (_result *DescribeDedicatedHostAutoRenewResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostIds) { query["DedicatedHostIds"] = request.DedicatedHostIds } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDedicatedHostAutoRenew"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDedicatedHostAutoRenewResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the auto-renewal status of one or more subscription dedicated hosts. // // @param request - DescribeDedicatedHostAutoRenewRequest // // @return DescribeDedicatedHostAutoRenewResponse func (client *Client) DescribeDedicatedHostAutoRenew(request *DescribeDedicatedHostAutoRenewRequest) (_result *DescribeDedicatedHostAutoRenewResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDedicatedHostAutoRenewResponse{} _body, _err := client.DescribeDedicatedHostAutoRenewWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of one or more dedicated host groups. // // Description: // // ## [](#)Usage notes // // You can specify multiple request parameters to filter query results. Specified request parameters have logical AND relations. Only the specified parameters are included in the filter conditions. However, if `DedicatedHostClusterIds` is set to an empty JSON array (`[]`), this parameter is regarded as a valid filter condition and an empty result is returned. // // @param request - DescribeDedicatedHostClustersRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDedicatedHostClustersResponse func (client *Client) DescribeDedicatedHostClustersWithOptions(request *DescribeDedicatedHostClustersRequest, runtime *dara.RuntimeOptions) (_result *DescribeDedicatedHostClustersResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostClusterIds) { query["DedicatedHostClusterIds"] = request.DedicatedHostClusterIds } if !dara.IsNil(request.DedicatedHostClusterName) { query["DedicatedHostClusterName"] = request.DedicatedHostClusterName } if !dara.IsNil(request.LockReason) { query["LockReason"] = request.LockReason } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDedicatedHostClusters"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDedicatedHostClustersResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of one or more dedicated host groups. // // Description: // // ## [](#)Usage notes // // You can specify multiple request parameters to filter query results. Specified request parameters have logical AND relations. Only the specified parameters are included in the filter conditions. However, if `DedicatedHostClusterIds` is set to an empty JSON array (`[]`), this parameter is regarded as a valid filter condition and an empty result is returned. // // @param request - DescribeDedicatedHostClustersRequest // // @return DescribeDedicatedHostClustersResponse func (client *Client) DescribeDedicatedHostClusters(request *DescribeDedicatedHostClustersRequest) (_result *DescribeDedicatedHostClustersResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDedicatedHostClustersResponse{} _body, _err := client.DescribeDedicatedHostClustersWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of dedicated host types supported in a region, or the Elastic Compute Service (ECS) instance families supported by a specific dedicated host type. // // @param request - DescribeDedicatedHostTypesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDedicatedHostTypesResponse func (client *Client) DescribeDedicatedHostTypesWithOptions(request *DescribeDedicatedHostTypesRequest, runtime *dara.RuntimeOptions) (_result *DescribeDedicatedHostTypesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostType) { query["DedicatedHostType"] = request.DedicatedHostType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SupportedInstanceTypeFamily) { query["SupportedInstanceTypeFamily"] = request.SupportedInstanceTypeFamily } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDedicatedHostTypes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDedicatedHostTypesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of dedicated host types supported in a region, or the Elastic Compute Service (ECS) instance families supported by a specific dedicated host type. // // @param request - DescribeDedicatedHostTypesRequest // // @return DescribeDedicatedHostTypesResponse func (client *Client) DescribeDedicatedHostTypes(request *DescribeDedicatedHostTypesRequest) (_result *DescribeDedicatedHostTypesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDedicatedHostTypesResponse{} _body, _err := client.DescribeDedicatedHostTypesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of one or more Dedicated Hosts (DDHs). You can call this operation to obtain information about a DDH, including the physical performance specifications, machine code, service status, and the list of created ECS instances. You can specify relevant parameters, such as DDH IDs, DDH cluster IDs, hostname, and status, to query the required DDH details. This helps you efficiently manage and optimize cloud computing resources. // // Description: // // ## [](#)Usage notes // // You can use one of the following methods to query the information about dedicated hosts: // // - Specify `DedicatedHostIds` to query the details of specified dedicated hosts. // // - Specify `DedicatedHostClusterId` to query the details of dedicated hosts in a dedicated host cluster. // // @param request - DescribeDedicatedHostsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDedicatedHostsResponse func (client *Client) DescribeDedicatedHostsWithOptions(request *DescribeDedicatedHostsRequest, runtime *dara.RuntimeOptions) (_result *DescribeDedicatedHostsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostClusterId) { query["DedicatedHostClusterId"] = request.DedicatedHostClusterId } if !dara.IsNil(request.DedicatedHostIds) { query["DedicatedHostIds"] = request.DedicatedHostIds } if !dara.IsNil(request.DedicatedHostName) { query["DedicatedHostName"] = request.DedicatedHostName } if !dara.IsNil(request.DedicatedHostType) { query["DedicatedHostType"] = request.DedicatedHostType } if !dara.IsNil(request.LockReason) { query["LockReason"] = request.LockReason } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.QueryInventory) { query["QueryInventory"] = request.QueryInventory } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SocketDetails) { query["SocketDetails"] = request.SocketDetails } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDedicatedHosts"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDedicatedHostsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of one or more Dedicated Hosts (DDHs). You can call this operation to obtain information about a DDH, including the physical performance specifications, machine code, service status, and the list of created ECS instances. You can specify relevant parameters, such as DDH IDs, DDH cluster IDs, hostname, and status, to query the required DDH details. This helps you efficiently manage and optimize cloud computing resources. // // Description: // // ## [](#)Usage notes // // You can use one of the following methods to query the information about dedicated hosts: // // - Specify `DedicatedHostIds` to query the details of specified dedicated hosts. // // - Specify `DedicatedHostClusterId` to query the details of dedicated hosts in a dedicated host cluster. // // @param request - DescribeDedicatedHostsRequest // // @return DescribeDedicatedHostsResponse func (client *Client) DescribeDedicatedHosts(request *DescribeDedicatedHostsRequest) (_result *DescribeDedicatedHostsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDedicatedHostsResponse{} _body, _err := client.DescribeDedicatedHostsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the instance families that support different deployment strategies. When you call this operation, specify parameters, such as RegionId and Strategy, in the request. // // Description: // // ## [](#)Usage notes // // For information about instance families, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). // // @param request - DescribeDeploymentSetSupportedInstanceTypeFamilyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDeploymentSetSupportedInstanceTypeFamilyResponse func (client *Client) DescribeDeploymentSetSupportedInstanceTypeFamilyWithOptions(request *DescribeDeploymentSetSupportedInstanceTypeFamilyRequest, runtime *dara.RuntimeOptions) (_result *DescribeDeploymentSetSupportedInstanceTypeFamilyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Strategy) { query["Strategy"] = request.Strategy } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDeploymentSetSupportedInstanceTypeFamily"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDeploymentSetSupportedInstanceTypeFamilyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the instance families that support different deployment strategies. When you call this operation, specify parameters, such as RegionId and Strategy, in the request. // // Description: // // ## [](#)Usage notes // // For information about instance families, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). // // @param request - DescribeDeploymentSetSupportedInstanceTypeFamilyRequest // // @return DescribeDeploymentSetSupportedInstanceTypeFamilyResponse func (client *Client) DescribeDeploymentSetSupportedInstanceTypeFamily(request *DescribeDeploymentSetSupportedInstanceTypeFamilyRequest) (_result *DescribeDeploymentSetSupportedInstanceTypeFamilyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDeploymentSetSupportedInstanceTypeFamilyResponse{} _body, _err := client.DescribeDeploymentSetSupportedInstanceTypeFamilyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries detailed information about one or more deployment sets. // // @param request - DescribeDeploymentSetsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDeploymentSetsResponse func (client *Client) DescribeDeploymentSetsWithOptions(request *DescribeDeploymentSetsRequest, runtime *dara.RuntimeOptions) (_result *DescribeDeploymentSetsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DeploymentSetIds) { query["DeploymentSetIds"] = request.DeploymentSetIds } if !dara.IsNil(request.DeploymentSetName) { query["DeploymentSetName"] = request.DeploymentSetName } if !dara.IsNil(request.Domain) { query["Domain"] = request.Domain } if !dara.IsNil(request.Granularity) { query["Granularity"] = request.Granularity } if !dara.IsNil(request.NetworkType) { query["NetworkType"] = request.NetworkType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Strategy) { query["Strategy"] = request.Strategy } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDeploymentSets"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDeploymentSetsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries detailed information about one or more deployment sets. // // @param request - DescribeDeploymentSetsRequest // // @return DescribeDeploymentSetsResponse func (client *Client) DescribeDeploymentSets(request *DescribeDeploymentSetsRequest) (_result *DescribeDeploymentSetsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDeploymentSetsResponse{} _body, _err := client.DescribeDeploymentSetsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries diagnostic metric sets. // // @param request - DescribeDiagnosticMetricSetsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDiagnosticMetricSetsResponse func (client *Client) DescribeDiagnosticMetricSetsWithOptions(request *DescribeDiagnosticMetricSetsRequest, runtime *dara.RuntimeOptions) (_result *DescribeDiagnosticMetricSetsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.MetricSetIds) { query["MetricSetIds"] = request.MetricSetIds } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Type) { query["Type"] = request.Type } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDiagnosticMetricSets"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDiagnosticMetricSetsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries diagnostic metric sets. // // @param request - DescribeDiagnosticMetricSetsRequest // // @return DescribeDiagnosticMetricSetsResponse func (client *Client) DescribeDiagnosticMetricSets(request *DescribeDiagnosticMetricSetsRequest) (_result *DescribeDiagnosticMetricSetsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDiagnosticMetricSetsResponse{} _body, _err := client.DescribeDiagnosticMetricSetsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries diagnostic metrics. // // @param request - DescribeDiagnosticMetricsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDiagnosticMetricsResponse func (client *Client) DescribeDiagnosticMetricsWithOptions(request *DescribeDiagnosticMetricsRequest, runtime *dara.RuntimeOptions) (_result *DescribeDiagnosticMetricsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.MetricIds) { query["MetricIds"] = request.MetricIds } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDiagnosticMetrics"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDiagnosticMetricsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries diagnostic metrics. // // @param request - DescribeDiagnosticMetricsRequest // // @return DescribeDiagnosticMetricsResponse func (client *Client) DescribeDiagnosticMetrics(request *DescribeDiagnosticMetricsRequest) (_result *DescribeDiagnosticMetricsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDiagnosticMetricsResponse{} _body, _err := client.DescribeDiagnosticMetricsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of a diagnostic report. // // @param request - DescribeDiagnosticReportAttributesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDiagnosticReportAttributesResponse func (client *Client) DescribeDiagnosticReportAttributesWithOptions(request *DescribeDiagnosticReportAttributesRequest, runtime *dara.RuntimeOptions) (_result *DescribeDiagnosticReportAttributesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReportId) { query["ReportId"] = request.ReportId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDiagnosticReportAttributes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDiagnosticReportAttributesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of a diagnostic report. // // @param request - DescribeDiagnosticReportAttributesRequest // // @return DescribeDiagnosticReportAttributesResponse func (client *Client) DescribeDiagnosticReportAttributes(request *DescribeDiagnosticReportAttributesRequest) (_result *DescribeDiagnosticReportAttributesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDiagnosticReportAttributesResponse{} _body, _err := client.DescribeDiagnosticReportAttributesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries resource diagnostic reports. // // @param request - DescribeDiagnosticReportsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDiagnosticReportsResponse func (client *Client) DescribeDiagnosticReportsWithOptions(request *DescribeDiagnosticReportsRequest, runtime *dara.RuntimeOptions) (_result *DescribeDiagnosticReportsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReportIds) { query["ReportIds"] = request.ReportIds } if !dara.IsNil(request.ResourceIds) { query["ResourceIds"] = request.ResourceIds } if !dara.IsNil(request.Severity) { query["Severity"] = request.Severity } if !dara.IsNil(request.Status) { query["Status"] = request.Status } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDiagnosticReports"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDiagnosticReportsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries resource diagnostic reports. // // @param request - DescribeDiagnosticReportsRequest // // @return DescribeDiagnosticReportsResponse func (client *Client) DescribeDiagnosticReports(request *DescribeDiagnosticReportsRequest) (_result *DescribeDiagnosticReportsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDiagnosticReportsResponse{} _body, _err := client.DescribeDiagnosticReportsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the Key Management Service (KMS) key used by the Account-level Elastic Block Storage (EBS) Default Encryption feature in a region. // // @param request - DescribeDiskDefaultKMSKeyIdRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDiskDefaultKMSKeyIdResponse func (client *Client) DescribeDiskDefaultKMSKeyIdWithOptions(request *DescribeDiskDefaultKMSKeyIdRequest, runtime *dara.RuntimeOptions) (_result *DescribeDiskDefaultKMSKeyIdResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDiskDefaultKMSKeyId"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDiskDefaultKMSKeyIdResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the Key Management Service (KMS) key used by the Account-level Elastic Block Storage (EBS) Default Encryption feature in a region. // // @param request - DescribeDiskDefaultKMSKeyIdRequest // // @return DescribeDiskDefaultKMSKeyIdResponse func (client *Client) DescribeDiskDefaultKMSKeyId(request *DescribeDiskDefaultKMSKeyIdRequest) (_result *DescribeDiskDefaultKMSKeyIdResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDiskDefaultKMSKeyIdResponse{} _body, _err := client.DescribeDiskDefaultKMSKeyIdWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries whether account-level default encryption of Elastic Block Storage (EBS) resources is enabled in a region. // // @param request - DescribeDiskEncryptionByDefaultStatusRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDiskEncryptionByDefaultStatusResponse func (client *Client) DescribeDiskEncryptionByDefaultStatusWithOptions(request *DescribeDiskEncryptionByDefaultStatusRequest, runtime *dara.RuntimeOptions) (_result *DescribeDiskEncryptionByDefaultStatusResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDiskEncryptionByDefaultStatus"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDiskEncryptionByDefaultStatusResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries whether account-level default encryption of Elastic Block Storage (EBS) resources is enabled in a region. // // @param request - DescribeDiskEncryptionByDefaultStatusRequest // // @return DescribeDiskEncryptionByDefaultStatusResponse func (client *Client) DescribeDiskEncryptionByDefaultStatus(request *DescribeDiskEncryptionByDefaultStatusRequest) (_result *DescribeDiskEncryptionByDefaultStatusResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDiskEncryptionByDefaultStatusResponse{} _body, _err := client.DescribeDiskEncryptionByDefaultStatusWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the monitoring data of a cloud disk within a specific period of time, such as the read IOPS, write IOPS, read bandwidth (byte/s), write bandwidth (byte/s), read latency (microseconds), and write latency (microseconds). // // Description: // // Take note of the following items: // // - Monitoring data of only disks that are in the In Use (`In_use`) state can be queried. For more information, see [Disk states](https://help.aliyun.com/document_detail/25689.html). // // ** // // **Note* - Some information may be missing from the monitoring data of a disk because the disk is not in the In Use `(In_use)` state and the system cannot obtain the relevant information. // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // ## [](#)Sample requests // // For example, you want to query the monitoring data of a cloud disk whose ID is `d-bp14emm68wx98vjk****` in the China (Hangzhou) region every 600 seconds from `2025-02-17T00:00:00Z` to `2025-02-18T10:00:00Z`. Request parameters: // // RegionId:"cn-hangzhou", // Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // DiskId:"d-bp14emm68wx98vjk****", // Specify the disk ID. // // StartTime:"2025-02-15T00:00:00Z", // Specify the beginning of the time range to query. // // EndTime:"2025-02-17T00:00:00Z", // Specify the end of the time range to query. // // Period:"600", // Specify the interval at which to retrieve the monitoring data. // // @param request - DescribeDiskMonitorDataRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDiskMonitorDataResponse func (client *Client) DescribeDiskMonitorDataWithOptions(request *DescribeDiskMonitorDataRequest, runtime *dara.RuntimeOptions) (_result *DescribeDiskMonitorDataResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDiskMonitorData"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDiskMonitorDataResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the monitoring data of a cloud disk within a specific period of time, such as the read IOPS, write IOPS, read bandwidth (byte/s), write bandwidth (byte/s), read latency (microseconds), and write latency (microseconds). // // Description: // // Take note of the following items: // // - Monitoring data of only disks that are in the In Use (`In_use`) state can be queried. For more information, see [Disk states](https://help.aliyun.com/document_detail/25689.html). // // ** // // **Note* - Some information may be missing from the monitoring data of a disk because the disk is not in the In Use `(In_use)` state and the system cannot obtain the relevant information. // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // ## [](#)Sample requests // // For example, you want to query the monitoring data of a cloud disk whose ID is `d-bp14emm68wx98vjk****` in the China (Hangzhou) region every 600 seconds from `2025-02-17T00:00:00Z` to `2025-02-18T10:00:00Z`. Request parameters: // // RegionId:"cn-hangzhou", // Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // DiskId:"d-bp14emm68wx98vjk****", // Specify the disk ID. // // StartTime:"2025-02-15T00:00:00Z", // Specify the beginning of the time range to query. // // EndTime:"2025-02-17T00:00:00Z", // Specify the end of the time range to query. // // Period:"600", // Specify the interval at which to retrieve the monitoring data. // // @param request - DescribeDiskMonitorDataRequest // // @return DescribeDiskMonitorDataResponse func (client *Client) DescribeDiskMonitorData(request *DescribeDiskMonitorDataRequest) (_result *DescribeDiskMonitorDataResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDiskMonitorDataResponse{} _body, _err := client.DescribeDiskMonitorDataWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries block storage devices that you created, including cloud disks, local disks, and elastic ephemeral disks. // // Description: // // You can specify multiple request parameters such as `RegionId`, `ZoneId`, `DiskIds`, and `InstanceId` as filters. The specified parameters are evaluated by using the "AND" operator. If you specify more than one filter, the records that match all filters are returned. // // - The value of `DiskIds` is a JSON array. If you do not specify DiskIds, the parameter is not used as a filter. If you set `DiskIds` to an empty JSON array, the parameter is regarded as a valid filter, and an empty result is returned. // // - Token-based paged query: Use `NextToken` to configure the query token. Set the value to the `NextToken` value returned in the previous call to the DescribeDisks operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. // // - You can attach a disk for which the multi-attach feature is enabled to multiple instances. You can query the attachment information of the disk based on the `Attachment` values in the response. // // When you call the API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // @param request - DescribeDisksRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDisksResponse func (client *Client) DescribeDisksWithOptions(request *DescribeDisksRequest, runtime *dara.RuntimeOptions) (_result *DescribeDisksResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AdditionalAttributes) { query["AdditionalAttributes"] = request.AdditionalAttributes } if !dara.IsNil(request.AutoSnapshotPolicyId) { query["AutoSnapshotPolicyId"] = request.AutoSnapshotPolicyId } if !dara.IsNil(request.Category) { query["Category"] = request.Category } if !dara.IsNil(request.DeleteAutoSnapshot) { query["DeleteAutoSnapshot"] = request.DeleteAutoSnapshot } if !dara.IsNil(request.DeleteWithInstance) { query["DeleteWithInstance"] = request.DeleteWithInstance } if !dara.IsNil(request.DiskChargeType) { query["DiskChargeType"] = request.DiskChargeType } if !dara.IsNil(request.DiskIds) { query["DiskIds"] = request.DiskIds } if !dara.IsNil(request.DiskName) { query["DiskName"] = request.DiskName } if !dara.IsNil(request.DiskType) { query["DiskType"] = request.DiskType } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.EnableAutoSnapshot) { query["EnableAutoSnapshot"] = request.EnableAutoSnapshot } if !dara.IsNil(request.EnableAutomatedSnapshotPolicy) { query["EnableAutomatedSnapshotPolicy"] = request.EnableAutomatedSnapshotPolicy } if !dara.IsNil(request.EnableShared) { query["EnableShared"] = request.EnableShared } if !dara.IsNil(request.Encrypted) { query["Encrypted"] = request.Encrypted } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.KMSKeyId) { query["KMSKeyId"] = request.KMSKeyId } if !dara.IsNil(request.LockReason) { query["LockReason"] = request.LockReason } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.MultiAttach) { query["MultiAttach"] = request.MultiAttach } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.Portable) { query["Portable"] = request.Portable } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDisks"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDisksResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries block storage devices that you created, including cloud disks, local disks, and elastic ephemeral disks. // // Description: // // You can specify multiple request parameters such as `RegionId`, `ZoneId`, `DiskIds`, and `InstanceId` as filters. The specified parameters are evaluated by using the "AND" operator. If you specify more than one filter, the records that match all filters are returned. // // - The value of `DiskIds` is a JSON array. If you do not specify DiskIds, the parameter is not used as a filter. If you set `DiskIds` to an empty JSON array, the parameter is regarded as a valid filter, and an empty result is returned. // // - Token-based paged query: Use `NextToken` to configure the query token. Set the value to the `NextToken` value returned in the previous call to the DescribeDisks operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. // // - You can attach a disk for which the multi-attach feature is enabled to multiple instances. You can query the attachment information of the disk based on the `Attachment` values in the response. // // When you call the API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // @param request - DescribeDisksRequest // // @return DescribeDisksResponse func (client *Client) DescribeDisks(request *DescribeDisksRequest) (_result *DescribeDisksResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDisksResponse{} _body, _err := client.DescribeDisksWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the full status information about one or more Elastic Block Storage (EBS) devices. // // Description: // // The full status information about an EBS device includes the lifecycle status specified by the `Status` parameter, health status specified by the `HealthStatus` parameter, and event type specified by the `EventType` parameter of the EBS device. You can filter the results based on these parameters. // // - The release time, scheduled execution time, and actual execution time of each EBS device event are identical. If you specify a period of time by using the `EventTime.Start` and `EventTime.End` parameters, all events that occurred within this period are queried. You can query events that occurred within the last seven days. // // @param request - DescribeDisksFullStatusRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeDisksFullStatusResponse func (client *Client) DescribeDisksFullStatusWithOptions(request *DescribeDisksFullStatusRequest, runtime *dara.RuntimeOptions) (_result *DescribeDisksFullStatusResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.EventId) { query["EventId"] = request.EventId } if !dara.IsNil(request.EventType) { query["EventType"] = request.EventType } if !dara.IsNil(request.HealthStatus) { query["HealthStatus"] = request.HealthStatus } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.EventTime) { query["EventTime"] = request.EventTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeDisksFullStatus"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeDisksFullStatusResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the full status information about one or more Elastic Block Storage (EBS) devices. // // Description: // // The full status information about an EBS device includes the lifecycle status specified by the `Status` parameter, health status specified by the `HealthStatus` parameter, and event type specified by the `EventType` parameter of the EBS device. You can filter the results based on these parameters. // // - The release time, scheduled execution time, and actual execution time of each EBS device event are identical. If you specify a period of time by using the `EventTime.Start` and `EventTime.End` parameters, all events that occurred within this period are queried. You can query events that occurred within the last seven days. // // @param request - DescribeDisksFullStatusRequest // // @return DescribeDisksFullStatusResponse func (client *Client) DescribeDisksFullStatus(request *DescribeDisksFullStatusRequest) (_result *DescribeDisksFullStatusResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeDisksFullStatusResponse{} _body, _err := client.DescribeDisksFullStatusWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeEipAddresses is deprecated, please use Vpc::2016-04-28::DescribeEipAddresses instead. // // Summary: // // # DescribeEipAddresses // // @param request - DescribeEipAddressesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeEipAddressesResponse func (client *Client) DescribeEipAddressesWithOptions(request *DescribeEipAddressesRequest, runtime *dara.RuntimeOptions) (_result *DescribeEipAddressesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationId) { query["AllocationId"] = request.AllocationId } if !dara.IsNil(request.AssociatedInstanceId) { query["AssociatedInstanceId"] = request.AssociatedInstanceId } if !dara.IsNil(request.AssociatedInstanceType) { query["AssociatedInstanceType"] = request.AssociatedInstanceType } if !dara.IsNil(request.ChargeType) { query["ChargeType"] = request.ChargeType } if !dara.IsNil(request.EipAddress) { query["EipAddress"] = request.EipAddress } if !dara.IsNil(request.ISP) { query["ISP"] = request.ISP } if !dara.IsNil(request.LockReason) { query["LockReason"] = request.LockReason } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeEipAddresses"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeEipAddressesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeEipAddresses is deprecated, please use Vpc::2016-04-28::DescribeEipAddresses instead. // // Summary: // // # DescribeEipAddresses // // @param request - DescribeEipAddressesRequest // // @return DescribeEipAddressesResponse // Deprecated func (client *Client) DescribeEipAddresses(request *DescribeEipAddressesRequest) (_result *DescribeEipAddressesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeEipAddressesResponse{} _body, _err := client.DescribeEipAddressesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeEipMonitorData is deprecated, please use Vpc::2016-04-28::DescribeEipMonitorData instead. // // Summary: // // # DescribeEipMonitorData // // @param request - DescribeEipMonitorDataRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeEipMonitorDataResponse func (client *Client) DescribeEipMonitorDataWithOptions(request *DescribeEipMonitorDataRequest, runtime *dara.RuntimeOptions) (_result *DescribeEipMonitorDataResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationId) { query["AllocationId"] = request.AllocationId } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeEipMonitorData"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeEipMonitorDataResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeEipMonitorData is deprecated, please use Vpc::2016-04-28::DescribeEipMonitorData instead. // // Summary: // // # DescribeEipMonitorData // // @param request - DescribeEipMonitorDataRequest // // @return DescribeEipMonitorDataResponse // Deprecated func (client *Client) DescribeEipMonitorData(request *DescribeEipMonitorDataRequest) (_result *DescribeEipMonitorDataResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeEipMonitorDataResponse{} _body, _err := client.DescribeEipMonitorDataWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the auto-renewal attribute of elasticity assurances. // // @param request - DescribeElasticityAssuranceAutoRenewAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeElasticityAssuranceAutoRenewAttributeResponse func (client *Client) DescribeElasticityAssuranceAutoRenewAttributeWithOptions(request *DescribeElasticityAssuranceAutoRenewAttributeRequest, runtime *dara.RuntimeOptions) (_result *DescribeElasticityAssuranceAutoRenewAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeElasticityAssuranceAutoRenewAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeElasticityAssuranceAutoRenewAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the auto-renewal attribute of elasticity assurances. // // @param request - DescribeElasticityAssuranceAutoRenewAttributeRequest // // @return DescribeElasticityAssuranceAutoRenewAttributeResponse func (client *Client) DescribeElasticityAssuranceAutoRenewAttribute(request *DescribeElasticityAssuranceAutoRenewAttributeRequest) (_result *DescribeElasticityAssuranceAutoRenewAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeElasticityAssuranceAutoRenewAttributeResponse{} _body, _err := client.DescribeElasticityAssuranceAutoRenewAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the running Elastic Compute Service (ECS) instances that use an elasticity assurance. // // Description: // // When an elasticity assurance expires, data about the association between the instances and the private pool generated by the elasticity assurance becomes invalid. When you call this operation to query the expired elasticity assurance, no value is returned. // // @param request - DescribeElasticityAssuranceInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeElasticityAssuranceInstancesResponse func (client *Client) DescribeElasticityAssuranceInstancesWithOptions(request *DescribeElasticityAssuranceInstancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeElasticityAssuranceInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeElasticityAssuranceInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeElasticityAssuranceInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the running Elastic Compute Service (ECS) instances that use an elasticity assurance. // // Description: // // When an elasticity assurance expires, data about the association between the instances and the private pool generated by the elasticity assurance becomes invalid. When you call this operation to query the expired elasticity assurance, no value is returned. // // @param request - DescribeElasticityAssuranceInstancesRequest // // @return DescribeElasticityAssuranceInstancesResponse func (client *Client) DescribeElasticityAssuranceInstances(request *DescribeElasticityAssuranceInstancesRequest) (_result *DescribeElasticityAssuranceInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeElasticityAssuranceInstancesResponse{} _body, _err := client.DescribeElasticityAssuranceInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of elasticity assurances. // // @param request - DescribeElasticityAssurancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeElasticityAssurancesResponse func (client *Client) DescribeElasticityAssurancesWithOptions(request *DescribeElasticityAssurancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeElasticityAssurancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PackageType) { query["PackageType"] = request.PackageType } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeElasticityAssurances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeElasticityAssurancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of elasticity assurances. // // @param request - DescribeElasticityAssurancesRequest // // @return DescribeElasticityAssurancesResponse func (client *Client) DescribeElasticityAssurances(request *DescribeElasticityAssurancesRequest) (_result *DescribeElasticityAssurancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeElasticityAssurancesResponse{} _body, _err := client.DescribeElasticityAssurancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the monitoring data of a secondary elastic network interface (ENI) over a specific period of time. // // Description: // // ## [](#)Usage notes // // The monitoring data of a secondary ENI includes the amount of traffic sent and received over the internal network, the number of packets sent and received by the secondary ENI, and the number of sent and received packets that are dropped by the secondary ENI. Specific information may be missing from the returned monitoring data. This may be because the system cannot obtain the relevant information. For example, if the instance to which the secondary ENI is attached is in the Stopped state or if the secondary ENI is not attached to an instance and is in the Available state, the monitoring data of the secondary ENI cannot be obtained. Take note of the following items: // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // @param request - DescribeEniMonitorDataRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeEniMonitorDataResponse func (client *Client) DescribeEniMonitorDataWithOptions(request *DescribeEniMonitorDataRequest, runtime *dara.RuntimeOptions) (_result *DescribeEniMonitorDataResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.EniId) { query["EniId"] = request.EniId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeEniMonitorData"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeEniMonitorDataResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the monitoring data of a secondary elastic network interface (ENI) over a specific period of time. // // Description: // // ## [](#)Usage notes // // The monitoring data of a secondary ENI includes the amount of traffic sent and received over the internal network, the number of packets sent and received by the secondary ENI, and the number of sent and received packets that are dropped by the secondary ENI. Specific information may be missing from the returned monitoring data. This may be because the system cannot obtain the relevant information. For example, if the instance to which the secondary ENI is attached is in the Stopped state or if the secondary ENI is not attached to an instance and is in the Available state, the monitoring data of the secondary ENI cannot be obtained. Take note of the following items: // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // @param request - DescribeEniMonitorDataRequest // // @return DescribeEniMonitorDataResponse func (client *Client) DescribeEniMonitorData(request *DescribeEniMonitorDataRequest) (_result *DescribeEniMonitorDataResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeEniMonitorDataResponse{} _body, _err := client.DescribeEniMonitorDataWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeForwardTableEntries is deprecated, please use Vpc::2016-04-28::DescribeForwardTableEntries instead. // // Summary: // // # DescribeForwardTableEntries // // @param request - DescribeForwardTableEntriesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeForwardTableEntriesResponse func (client *Client) DescribeForwardTableEntriesWithOptions(request *DescribeForwardTableEntriesRequest, runtime *dara.RuntimeOptions) (_result *DescribeForwardTableEntriesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ForwardEntryId) { query["ForwardEntryId"] = request.ForwardEntryId } if !dara.IsNil(request.ForwardTableId) { query["ForwardTableId"] = request.ForwardTableId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeForwardTableEntries"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeForwardTableEntriesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeForwardTableEntries is deprecated, please use Vpc::2016-04-28::DescribeForwardTableEntries instead. // // Summary: // // # DescribeForwardTableEntries // // @param request - DescribeForwardTableEntriesRequest // // @return DescribeForwardTableEntriesResponse // Deprecated func (client *Client) DescribeForwardTableEntries(request *DescribeForwardTableEntriesRequest) (_result *DescribeForwardTableEntriesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeForwardTableEntriesResponse{} _body, _err := client.DescribeForwardTableEntriesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeHaVips is deprecated, please use Vpc::2016-04-28::DescribeHaVips instead. // // Summary: // // # DescribeHaVips // // @param request - DescribeHaVipsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeHaVipsResponse func (client *Client) DescribeHaVipsWithOptions(request *DescribeHaVipsRequest, runtime *dara.RuntimeOptions) (_result *DescribeHaVipsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeHaVips"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeHaVipsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeHaVips is deprecated, please use Vpc::2016-04-28::DescribeHaVips instead. // // Summary: // // # DescribeHaVips // // @param request - DescribeHaVipsRequest // // @return DescribeHaVipsResponse // Deprecated func (client *Client) DescribeHaVips(request *DescribeHaVipsRequest) (_result *DescribeHaVipsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeHaVipsResponse{} _body, _err := client.DescribeHaVipsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The \\*\\*token\\*\\ - can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence]\\(~~25693~~). // // @param request - DescribeHpcClustersRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeHpcClustersResponse func (client *Client) DescribeHpcClustersWithOptions(request *DescribeHpcClustersRequest, runtime *dara.RuntimeOptions) (_result *DescribeHpcClustersResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.HpcClusterIds) { query["HpcClusterIds"] = request.HpcClusterIds } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeHpcClusters"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeHpcClustersResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The \\*\\*token\\*\\ - can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence]\\(~~25693~~). // // @param request - DescribeHpcClustersRequest // // @return DescribeHpcClustersResponse func (client *Client) DescribeHpcClusters(request *DescribeHpcClustersRequest) (_result *DescribeHpcClustersResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeHpcClustersResponse{} _body, _err := client.DescribeHpcClustersWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of one or more image components. // // Description: // // You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the previous call to the DescribeImageComponents operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. // // @param request - DescribeImageComponentsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeImageComponentsResponse func (client *Client) DescribeImageComponentsWithOptions(request *DescribeImageComponentsRequest, runtime *dara.RuntimeOptions) (_result *DescribeImageComponentsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ComponentType) { query["ComponentType"] = request.ComponentType } if !dara.IsNil(request.ComponentVersion) { query["ComponentVersion"] = request.ComponentVersion } if !dara.IsNil(request.ImageComponentId) { query["ImageComponentId"] = request.ImageComponentId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.Owner) { query["Owner"] = request.Owner } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SystemType) { query["SystemType"] = request.SystemType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeImageComponents"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeImageComponentsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of one or more image components. // // Description: // // You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the previous call to the DescribeImageComponents operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. // // @param request - DescribeImageComponentsRequest // // @return DescribeImageComponentsResponse func (client *Client) DescribeImageComponents(request *DescribeImageComponentsRequest) (_result *DescribeImageComponentsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeImageComponentsResponse{} _body, _err := client.DescribeImageComponentsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries available custom images that are most recently created in a specific image family. // // Description: // // ## [](#)Usage notes // // If no available image exists in a specific image family, the response is empty. // // @param request - DescribeImageFromFamilyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeImageFromFamilyResponse func (client *Client) DescribeImageFromFamilyWithOptions(request *DescribeImageFromFamilyRequest, runtime *dara.RuntimeOptions) (_result *DescribeImageFromFamilyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ImageFamily) { query["ImageFamily"] = request.ImageFamily } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeImageFromFamily"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeImageFromFamilyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries available custom images that are most recently created in a specific image family. // // Description: // // ## [](#)Usage notes // // If no available image exists in a specific image family, the response is empty. // // @param request - DescribeImageFromFamilyRequest // // @return DescribeImageFromFamilyResponse func (client *Client) DescribeImageFromFamily(request *DescribeImageFromFamilyRequest) (_result *DescribeImageFromFamilyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeImageFromFamilyResponse{} _body, _err := client.DescribeImageFromFamilyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // The key of tag N of the image creation task. Valid values of N: 1 to 20. // // Description: // // The status of the image creation task. Valid values: // // - PREPARING: Resources, such as intermediate instances, are being created. // // - REPAIRING: The source image is being repaired. // // - BUILDING: The user-defined commands are being run and an image is being created. // // - TESTING: The user-defined test commands are being run. // // - DISTRIBUTING: The created image is being copied and shared. // // - RELEASING: The temporary resources generated during the image creation process are being released. // // - SUCCESS The image creation task is completed. // // - PARTITION_SUCCESS: The image creation task is partially completed. The image is created, but exceptions may occur when the image was copied or shared or when temporary resources were released. // // - FAILED: The image creation task fails. // // - TEST_FAILED: The image is created, but the test fails. // // - CANCELLING: The image creation task is being canceled. // // - CANCELLED: The image creation task is canceled. // // @param request - DescribeImagePipelineExecutionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeImagePipelineExecutionsResponse func (client *Client) DescribeImagePipelineExecutionsWithOptions(request *DescribeImagePipelineExecutionsRequest, runtime *dara.RuntimeOptions) (_result *DescribeImagePipelineExecutionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ExecutionId) { query["ExecutionId"] = request.ExecutionId } if !dara.IsNil(request.ImagePipelineId) { query["ImagePipelineId"] = request.ImagePipelineId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeImagePipelineExecutions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeImagePipelineExecutionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // The key of tag N of the image creation task. Valid values of N: 1 to 20. // // Description: // // The status of the image creation task. Valid values: // // - PREPARING: Resources, such as intermediate instances, are being created. // // - REPAIRING: The source image is being repaired. // // - BUILDING: The user-defined commands are being run and an image is being created. // // - TESTING: The user-defined test commands are being run. // // - DISTRIBUTING: The created image is being copied and shared. // // - RELEASING: The temporary resources generated during the image creation process are being released. // // - SUCCESS The image creation task is completed. // // - PARTITION_SUCCESS: The image creation task is partially completed. The image is created, but exceptions may occur when the image was copied or shared or when temporary resources were released. // // - FAILED: The image creation task fails. // // - TEST_FAILED: The image is created, but the test fails. // // - CANCELLING: The image creation task is being canceled. // // - CANCELLED: The image creation task is canceled. // // @param request - DescribeImagePipelineExecutionsRequest // // @return DescribeImagePipelineExecutionsResponse func (client *Client) DescribeImagePipelineExecutions(request *DescribeImagePipelineExecutionsRequest) (_result *DescribeImagePipelineExecutionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeImagePipelineExecutionsResponse{} _body, _err := client.DescribeImagePipelineExecutionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of one or more image templates. // // Description: // // You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the previous call to the `DescribeImagePipelines` operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. // // @param request - DescribeImagePipelinesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeImagePipelinesResponse func (client *Client) DescribeImagePipelinesWithOptions(request *DescribeImagePipelinesRequest, runtime *dara.RuntimeOptions) (_result *DescribeImagePipelinesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ImagePipelineId) { query["ImagePipelineId"] = request.ImagePipelineId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeImagePipelines"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeImagePipelinesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of one or more image templates. // // Description: // // You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the previous call to the `DescribeImagePipelines` operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. // // @param request - DescribeImagePipelinesRequest // // @return DescribeImagePipelinesResponse func (client *Client) DescribeImagePipelines(request *DescribeImagePipelinesRequest) (_result *DescribeImagePipelinesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeImagePipelinesResponse{} _body, _err := client.DescribeImagePipelinesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the accounts with which a custom image is shared. When you call this operation, you can specify parameters, such as RegionId and ImageId, in the request. The response can be displayed by page. By default, 10 entries are displayed on each page. // // @param request - DescribeImageSharePermissionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeImageSharePermissionResponse func (client *Client) DescribeImageSharePermissionWithOptions(request *DescribeImageSharePermissionRequest, runtime *dara.RuntimeOptions) (_result *DescribeImageSharePermissionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeImageSharePermission"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeImageSharePermissionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the accounts with which a custom image is shared. When you call this operation, you can specify parameters, such as RegionId and ImageId, in the request. The response can be displayed by page. By default, 10 entries are displayed on each page. // // @param request - DescribeImageSharePermissionRequest // // @return DescribeImageSharePermissionResponse func (client *Client) DescribeImageSharePermission(request *DescribeImageSharePermissionRequest) (_result *DescribeImageSharePermissionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeImageSharePermissionResponse{} _body, _err := client.DescribeImageSharePermissionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the Elastic Compute Service (ECS) instance types supported by an image. // // @param request - DescribeImageSupportInstanceTypesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeImageSupportInstanceTypesResponse func (client *Client) DescribeImageSupportInstanceTypesWithOptions(request *DescribeImageSupportInstanceTypesRequest, runtime *dara.RuntimeOptions) (_result *DescribeImageSupportInstanceTypesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActionType) { query["ActionType"] = request.ActionType } if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeImageSupportInstanceTypes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeImageSupportInstanceTypesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the Elastic Compute Service (ECS) instance types supported by an image. // // @param request - DescribeImageSupportInstanceTypesRequest // // @return DescribeImageSupportInstanceTypesResponse func (client *Client) DescribeImageSupportInstanceTypes(request *DescribeImageSupportInstanceTypesRequest) (_result *DescribeImageSupportInstanceTypesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeImageSupportInstanceTypesResponse{} _body, _err := client.DescribeImageSupportInstanceTypesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries image resources that you can use. You can specify parameters, such as ImageId, ActionType, and Filter, in the request. // // Description: // // ## [](#)Usage notes // // - You can query your custom images, public images provided by Alibaba Cloud, Alibaba Cloud Marketplace images, and shared images from other Alibaba Cloud accounts. // // - This is a paginated query. The response contains the total number of available images and the images on the returned page. By default,10 entries are displayed on each page. // // - When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // - If you set ImageOwnerAlias to system or others when you call the DescribeImages operation to query public images that are provided by Alibaba Cloud or shared images, Resource Access Management (RAM) policies are ignored in the request. For more information, see [RAM authorization](https://help.aliyun.com/document_detail/25497.html). // // @param request - DescribeImagesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeImagesResponse func (client *Client) DescribeImagesWithOptions(request *DescribeImagesRequest, runtime *dara.RuntimeOptions) (_result *DescribeImagesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActionType) { query["ActionType"] = request.ActionType } if !dara.IsNil(request.Architecture) { query["Architecture"] = request.Architecture } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.ImageFamily) { query["ImageFamily"] = request.ImageFamily } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.ImageName) { query["ImageName"] = request.ImageName } if !dara.IsNil(request.ImageOwnerAlias) { query["ImageOwnerAlias"] = request.ImageOwnerAlias } if !dara.IsNil(request.ImageOwnerId) { query["ImageOwnerId"] = request.ImageOwnerId } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.IsPublic) { query["IsPublic"] = request.IsPublic } if !dara.IsNil(request.IsSupportCloudinit) { query["IsSupportCloudinit"] = request.IsSupportCloudinit } if !dara.IsNil(request.IsSupportIoOptimized) { query["IsSupportIoOptimized"] = request.IsSupportIoOptimized } if !dara.IsNil(request.OSType) { query["OSType"] = request.OSType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ShowExpired) { query["ShowExpired"] = request.ShowExpired } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Usage) { query["Usage"] = request.Usage } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeImages"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeImagesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries image resources that you can use. You can specify parameters, such as ImageId, ActionType, and Filter, in the request. // // Description: // // ## [](#)Usage notes // // - You can query your custom images, public images provided by Alibaba Cloud, Alibaba Cloud Marketplace images, and shared images from other Alibaba Cloud accounts. // // - This is a paginated query. The response contains the total number of available images and the images on the returned page. By default,10 entries are displayed on each page. // // - When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // - If you set ImageOwnerAlias to system or others when you call the DescribeImages operation to query public images that are provided by Alibaba Cloud or shared images, Resource Access Management (RAM) policies are ignored in the request. For more information, see [RAM authorization](https://help.aliyun.com/document_detail/25497.html). // // @param request - DescribeImagesRequest // // @return DescribeImagesResponse func (client *Client) DescribeImages(request *DescribeImagesRequest) (_result *DescribeImagesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeImagesResponse{} _body, _err := client.DescribeImagesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the information about the private pools that Elastic Compute Service (ECS) instances match. // // Description: // // ## [](#)Usage notes // // After an elasticity assurance or a capacity reservation is created, a private pool is generated and associated with information about the instances that are created by using the private pool. You can specify a private pool when you create an instance. This way, the instance matches the elasticity assurance or capacity reservation that is associated with the private pool. // // When a private pool expires, data related to the association between instances and the private pool becomes invalid. If you call this operation to query information about the private pool, empty values are returned. // // @param request - DescribeInstanceAttachmentAttributesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceAttachmentAttributesResponse func (client *Client) DescribeInstanceAttachmentAttributesWithOptions(request *DescribeInstanceAttachmentAttributesRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceAttachmentAttributesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceAttachmentAttributes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceAttachmentAttributesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the information about the private pools that Elastic Compute Service (ECS) instances match. // // Description: // // ## [](#)Usage notes // // After an elasticity assurance or a capacity reservation is created, a private pool is generated and associated with information about the instances that are created by using the private pool. You can specify a private pool when you create an instance. This way, the instance matches the elasticity assurance or capacity reservation that is associated with the private pool. // // When a private pool expires, data related to the association between instances and the private pool becomes invalid. If you call this operation to query information about the private pool, empty values are returned. // // @param request - DescribeInstanceAttachmentAttributesRequest // // @return DescribeInstanceAttachmentAttributesResponse func (client *Client) DescribeInstanceAttachmentAttributes(request *DescribeInstanceAttachmentAttributesRequest) (_result *DescribeInstanceAttachmentAttributesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceAttachmentAttributesResponse{} _body, _err := client.DescribeInstanceAttachmentAttributesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the attributes of a specific Elastic Compute Service (ECS) instance. // // @param request - DescribeInstanceAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceAttributeResponse func (client *Client) DescribeInstanceAttributeWithOptions(request *DescribeInstanceAttributeRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the attributes of a specific Elastic Compute Service (ECS) instance. // // @param request - DescribeInstanceAttributeRequest // // @return DescribeInstanceAttributeResponse func (client *Client) DescribeInstanceAttribute(request *DescribeInstanceAttributeRequest) (_result *DescribeInstanceAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceAttributeResponse{} _body, _err := client.DescribeInstanceAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the auto-renewal attribute of subscription Elastic Compute Service (ECS) instances, including whether auto-renewal is enabled for the instances and the auto-renewal durations of the instances. // // Description: // // Only subscription instances are supported. If you call this operation for a pay-as-you-go instance, an error is returned. // // - Before you configure auto-renewal or manual renewal for subscription instances, you can query the auto-renewal status of the instances. // // @param request - DescribeInstanceAutoRenewAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceAutoRenewAttributeResponse func (client *Client) DescribeInstanceAutoRenewAttributeWithOptions(request *DescribeInstanceAutoRenewAttributeRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceAutoRenewAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RenewalStatus) { query["RenewalStatus"] = request.RenewalStatus } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceAutoRenewAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceAutoRenewAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the auto-renewal attribute of subscription Elastic Compute Service (ECS) instances, including whether auto-renewal is enabled for the instances and the auto-renewal durations of the instances. // // Description: // // Only subscription instances are supported. If you call this operation for a pay-as-you-go instance, an error is returned. // // - Before you configure auto-renewal or manual renewal for subscription instances, you can query the auto-renewal status of the instances. // // @param request - DescribeInstanceAutoRenewAttributeRequest // // @return DescribeInstanceAutoRenewAttributeResponse func (client *Client) DescribeInstanceAutoRenewAttribute(request *DescribeInstanceAutoRenewAttributeRequest) (_result *DescribeInstanceAutoRenewAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceAutoRenewAttributeResponse{} _body, _err := client.DescribeInstanceAutoRenewAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the system events of Elastic Compute Service (ECS) instances. When you call this operation, you can specify parameters, such as InstanceId and EventType, in the request. By default, non-active system events are queried. // // Description: // // You can query system events that were completed within the last 30 days. No limits apply to the time range for querying uncompleted system events. // // - If you do not specify the EventCycleStatus or InstanceEventCycleStatus parameter, only system events in the Avoidated, Executed, Canceled, or Failed state are included in the query results by default. // // - You can also specify the InstanceEventCycleStatus parameter in the request to query the system events that are in the Scheduled, Executing, or Inquiring state. // // @param request - DescribeInstanceHistoryEventsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceHistoryEventsResponse func (client *Client) DescribeInstanceHistoryEventsWithOptions(request *DescribeInstanceHistoryEventsRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceHistoryEventsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EventCycleStatus) { query["EventCycleStatus"] = request.EventCycleStatus } if !dara.IsNil(request.EventId) { query["EventId"] = request.EventId } if !dara.IsNil(request.EventType) { query["EventType"] = request.EventType } if !dara.IsNil(request.ImpactLevel) { query["ImpactLevel"] = request.ImpactLevel } if !dara.IsNil(request.InstanceEventCycleStatus) { query["InstanceEventCycleStatus"] = request.InstanceEventCycleStatus } if !dara.IsNil(request.InstanceEventType) { query["InstanceEventType"] = request.InstanceEventType } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.EventPublishTime) { query["EventPublishTime"] = request.EventPublishTime } if !dara.IsNil(request.NotBefore) { query["NotBefore"] = request.NotBefore } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceHistoryEvents"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceHistoryEventsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the system events of Elastic Compute Service (ECS) instances. When you call this operation, you can specify parameters, such as InstanceId and EventType, in the request. By default, non-active system events are queried. // // Description: // // You can query system events that were completed within the last 30 days. No limits apply to the time range for querying uncompleted system events. // // - If you do not specify the EventCycleStatus or InstanceEventCycleStatus parameter, only system events in the Avoidated, Executed, Canceled, or Failed state are included in the query results by default. // // - You can also specify the InstanceEventCycleStatus parameter in the request to query the system events that are in the Scheduled, Executing, or Inquiring state. // // @param request - DescribeInstanceHistoryEventsRequest // // @return DescribeInstanceHistoryEventsResponse func (client *Client) DescribeInstanceHistoryEvents(request *DescribeInstanceHistoryEventsRequest) (_result *DescribeInstanceHistoryEventsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceHistoryEventsResponse{} _body, _err := client.DescribeInstanceHistoryEventsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the maintenance attributes of an instance. // // Description: // // This operation is used to query the specified maintenance policy of an instance, which contains the following maintenance attributes: // // - Maintenance window: the time period that you specify for maintenance. // // - Maintenance action: the action that you specify in response to instance shutdown. // // @param request - DescribeInstanceMaintenanceAttributesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceMaintenanceAttributesResponse func (client *Client) DescribeInstanceMaintenanceAttributesWithOptions(request *DescribeInstanceMaintenanceAttributesRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceMaintenanceAttributesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceMaintenanceAttributes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceMaintenanceAttributesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the maintenance attributes of an instance. // // Description: // // This operation is used to query the specified maintenance policy of an instance, which contains the following maintenance attributes: // // - Maintenance window: the time period that you specify for maintenance. // // - Maintenance action: the action that you specify in response to instance shutdown. // // @param request - DescribeInstanceMaintenanceAttributesRequest // // @return DescribeInstanceMaintenanceAttributesResponse func (client *Client) DescribeInstanceMaintenanceAttributes(request *DescribeInstanceMaintenanceAttributesRequest) (_result *DescribeInstanceMaintenanceAttributesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceMaintenanceAttributesResponse{} _body, _err := client.DescribeInstanceMaintenanceAttributesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the pricing information about newly attached subscription data disks or about the new instance types when you upgrade the configurations of unexpired subscription Elastic Compute Service (ECS) instances. // // Description: // // Pricing information can be queried for unexpired subscription ECS instances only when you upgrade their configurations. The pricing information cannot be queried when the instance configurations are downgraded. // // - Pricing information cannot be queried for pay-as-you-go ECS instances when you change their configurations. Prices of existing pay-as-you-go ECS instances whose configurations are changed are the same as those of new pay-as-you-go instances. You can call the [DescribePrice](https://help.aliyun.com/document_detail/107829.html) operation to query the latest prices of ECS instances. // // - Before you upgrade the configurations of an instance, we recommend that you call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query the instance types available for configuration upgrades in a specified zone. // // @param request - DescribeInstanceModificationPriceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceModificationPriceResponse func (client *Client) DescribeInstanceModificationPriceWithOptions(request *DescribeInstanceModificationPriceRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceModificationPriceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DataDisk) { query["DataDisk"] = request.DataDisk } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceModificationPrice"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceModificationPriceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the pricing information about newly attached subscription data disks or about the new instance types when you upgrade the configurations of unexpired subscription Elastic Compute Service (ECS) instances. // // Description: // // Pricing information can be queried for unexpired subscription ECS instances only when you upgrade their configurations. The pricing information cannot be queried when the instance configurations are downgraded. // // - Pricing information cannot be queried for pay-as-you-go ECS instances when you change their configurations. Prices of existing pay-as-you-go ECS instances whose configurations are changed are the same as those of new pay-as-you-go instances. You can call the [DescribePrice](https://help.aliyun.com/document_detail/107829.html) operation to query the latest prices of ECS instances. // // - Before you upgrade the configurations of an instance, we recommend that you call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query the instance types available for configuration upgrades in a specified zone. // // @param request - DescribeInstanceModificationPriceRequest // // @return DescribeInstanceModificationPriceResponse func (client *Client) DescribeInstanceModificationPrice(request *DescribeInstanceModificationPriceRequest) (_result *DescribeInstanceModificationPriceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceModificationPriceResponse{} _body, _err := client.DescribeInstanceModificationPriceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the monitoring data of an Elastic Compute Service (ECS) instance. The monitoring data can include the vCPU utilization, CPU credits of the burstable instance, amount of received data traffic, amount of sent data traffic, and average bandwidth. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // - In some scenarios, such as when the instance is in the Stopped state, the system cannot obtain the relevant information and specific information may be missing from the returned monitoring data. // // - You cannot call this operation to obtain the CPU basic monitoring information of an ECS bare metal instance. To obtain the CPU monitoring information of an ECS bare metal instance, install the CloudMonitor agent on the instance. For more information, see [InstallCloudMonitor](https://help.aliyun.com/document_detail/183482.html). // // @param request - DescribeInstanceMonitorDataRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceMonitorDataResponse func (client *Client) DescribeInstanceMonitorDataWithOptions(request *DescribeInstanceMonitorDataRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceMonitorDataResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceMonitorData"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceMonitorDataResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the monitoring data of an Elastic Compute Service (ECS) instance. The monitoring data can include the vCPU utilization, CPU credits of the burstable instance, amount of received data traffic, amount of sent data traffic, and average bandwidth. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // - In some scenarios, such as when the instance is in the Stopped state, the system cannot obtain the relevant information and specific information may be missing from the returned monitoring data. // // - You cannot call this operation to obtain the CPU basic monitoring information of an ECS bare metal instance. To obtain the CPU monitoring information of an ECS bare metal instance, install the CloudMonitor agent on the instance. For more information, see [InstallCloudMonitor](https://help.aliyun.com/document_detail/183482.html). // // @param request - DescribeInstanceMonitorDataRequest // // @return DescribeInstanceMonitorDataResponse func (client *Client) DescribeInstanceMonitorData(request *DescribeInstanceMonitorDataRequest) (_result *DescribeInstanceMonitorDataResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceMonitorDataResponse{} _body, _err := client.DescribeInstanceMonitorDataWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the instance Resource Access Management (RAM) roles that are attached to Elastic Compute Service (ECS) instances based on the instance IDs, or queries the ECS instances to which a specific instance RAM role is attached based on the name of the instance RAM role. // // Description: // // ## [](#)Usage notes // // When you call the API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // @param request - DescribeInstanceRamRoleRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceRamRoleResponse func (client *Client) DescribeInstanceRamRoleWithOptions(request *DescribeInstanceRamRoleRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceRamRoleResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RamRoleName) { query["RamRoleName"] = request.RamRoleName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceRamRole"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceRamRoleResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the instance Resource Access Management (RAM) roles that are attached to Elastic Compute Service (ECS) instances based on the instance IDs, or queries the ECS instances to which a specific instance RAM role is attached based on the name of the instance RAM role. // // Description: // // ## [](#)Usage notes // // When you call the API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // @param request - DescribeInstanceRamRoleRequest // // @return DescribeInstanceRamRoleResponse func (client *Client) DescribeInstanceRamRole(request *DescribeInstanceRamRoleRequest) (_result *DescribeInstanceRamRoleResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceRamRoleResponse{} _body, _err := client.DescribeInstanceRamRoleWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the status of one or more Elastic Compute Service (ECS) instances. You can also call this operation to query the list of ECS instances that match the specified filter conditions. // // Description: // // For information about the lifecycle states of an ECS instance, see [Instance lifecycle](https://help.aliyun.com/document_detail/25687.html). // // ## [](#)Sample requests // // - Query the ECS instances and the status of the instances in a **specific region**. Sample request: // // // // "RegionID": "cn-hangzhou" // // - Query the ECS instances and the status of the instances in a **zone* - of a **specific region**. Sample request: // // // // "RegionID": "cn-hangzhou", // // "ZoneID": "cn-hangzhou-a" // // - Query the status of an ECS instance in a **specific region* - based on the **instance ID**. Sample request: // // // // "RegionID": "cn-hangzhou", // // "InstancesID": ["i-bp1f7c1zqp999zvp****", "i-bp1dqjv36biueg61****"] // // @param request - DescribeInstanceStatusRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceStatusResponse func (client *Client) DescribeInstanceStatusWithOptions(request *DescribeInstanceStatusRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceStatusResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClusterId) { query["ClusterId"] = request.ClusterId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceStatus"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceStatusResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the status of one or more Elastic Compute Service (ECS) instances. You can also call this operation to query the list of ECS instances that match the specified filter conditions. // // Description: // // For information about the lifecycle states of an ECS instance, see [Instance lifecycle](https://help.aliyun.com/document_detail/25687.html). // // ## [](#)Sample requests // // - Query the ECS instances and the status of the instances in a **specific region**. Sample request: // // // // "RegionID": "cn-hangzhou" // // - Query the ECS instances and the status of the instances in a **zone* - of a **specific region**. Sample request: // // // // "RegionID": "cn-hangzhou", // // "ZoneID": "cn-hangzhou-a" // // - Query the status of an ECS instance in a **specific region* - based on the **instance ID**. Sample request: // // // // "RegionID": "cn-hangzhou", // // "InstancesID": ["i-bp1f7c1zqp999zvp****", "i-bp1dqjv36biueg61****"] // // @param request - DescribeInstanceStatusRequest // // @return DescribeInstanceStatusResponse func (client *Client) DescribeInstanceStatus(request *DescribeInstanceStatusRequest) (_result *DescribeInstanceStatusResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceStatusResponse{} _body, _err := client.DescribeInstanceStatusWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the topology of the host on which an Elastic Compute Service (ECS) instance resides. // // @param request - DescribeInstanceTopologyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceTopologyResponse func (client *Client) DescribeInstanceTopologyWithOptions(request *DescribeInstanceTopologyRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceTopologyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceTopology"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceTopologyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the topology of the host on which an Elastic Compute Service (ECS) instance resides. // // @param request - DescribeInstanceTopologyRequest // // @return DescribeInstanceTopologyResponse func (client *Client) DescribeInstanceTopology(request *DescribeInstanceTopologyRequest) (_result *DescribeInstanceTopologyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceTopologyResponse{} _body, _err := client.DescribeInstanceTopologyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the instance families provided by Elastic Compute Service (ECS). You can call the DescribeInstanceTypeFamilies operation to obtain information about different series of instance families. This helps you better understand the available instance types and choose appropriate instance types to create ECS instances. // // @param request - DescribeInstanceTypeFamiliesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceTypeFamiliesResponse func (client *Client) DescribeInstanceTypeFamiliesWithOptions(request *DescribeInstanceTypeFamiliesRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceTypeFamiliesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Generation) { query["Generation"] = request.Generation } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceTypeFamilies"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceTypeFamiliesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the instance families provided by Elastic Compute Service (ECS). You can call the DescribeInstanceTypeFamilies operation to obtain information about different series of instance families. This helps you better understand the available instance types and choose appropriate instance types to create ECS instances. // // @param request - DescribeInstanceTypeFamiliesRequest // // @return DescribeInstanceTypeFamiliesResponse func (client *Client) DescribeInstanceTypeFamilies(request *DescribeInstanceTypeFamiliesRequest) (_result *DescribeInstanceTypeFamiliesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceTypeFamiliesResponse{} _body, _err := client.DescribeInstanceTypeFamiliesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of all instance types or a specific instance type provided by Elastic Compute Service (ECS). You can understand the specifications and performance of instance types based on the response and select an instance type that meets your business requirements. // // Description: // // **Paged query**: You can set MaxResults to specify the maximum number of entries to return in a single call. If the number of entries to return exceeds the specified MaxResults value, the response includes a NextToken value. You can set NextToken to the return value and specify MaxResults in your next request to DescribeInstanceTypes to retrieve the next page of results. // // - When you call this operation, if you do not set NextToken to paginate the results, only the first page of results is returned by default and includes a maximum of 100 entries. To retrieve further pages of results, set NextToken or pass filter conditions in your requests to DescribeInstanceTypes. // // > MaxResults specifies the maximum number of entries per page. The maximum value of this parameter is changed from 1600 to 100 for all users as of November 15, 2023. If you called the DescribeInstanceTypes operation in 2022, you can use 1600 as the maximum value before November 15, 2023. // // - The DescribeInstanceTypes operation is used to query only the specifications and performance information of instance types. To query instance types that are available in a specific region, call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation. // // - To use special instance types such as instance types that are unavailable for purchase, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket-intl). // // @param request - DescribeInstanceTypesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceTypesResponse func (client *Client) DescribeInstanceTypesWithOptions(request *DescribeInstanceTypesRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceTypesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AdditionalAttributes) { query["AdditionalAttributes"] = request.AdditionalAttributes } if !dara.IsNil(request.CpuArchitecture) { query["CpuArchitecture"] = request.CpuArchitecture } if !dara.IsNil(request.CpuArchitectures) { query["CpuArchitectures"] = request.CpuArchitectures } if !dara.IsNil(request.GPUSpec) { query["GPUSpec"] = request.GPUSpec } if !dara.IsNil(request.GpuSpecs) { query["GpuSpecs"] = request.GpuSpecs } if !dara.IsNil(request.InstanceCategories) { query["InstanceCategories"] = request.InstanceCategories } if !dara.IsNil(request.InstanceCategory) { query["InstanceCategory"] = request.InstanceCategory } if !dara.IsNil(request.InstanceFamilyLevel) { query["InstanceFamilyLevel"] = request.InstanceFamilyLevel } if !dara.IsNil(request.InstanceTypeFamilies) { query["InstanceTypeFamilies"] = request.InstanceTypeFamilies } if !dara.IsNil(request.InstanceTypeFamily) { query["InstanceTypeFamily"] = request.InstanceTypeFamily } if !dara.IsNil(request.InstanceTypes) { query["InstanceTypes"] = request.InstanceTypes } if !dara.IsNil(request.LocalStorageCategories) { query["LocalStorageCategories"] = request.LocalStorageCategories } if !dara.IsNil(request.LocalStorageCategory) { query["LocalStorageCategory"] = request.LocalStorageCategory } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.MaximumCpuCoreCount) { query["MaximumCpuCoreCount"] = request.MaximumCpuCoreCount } if !dara.IsNil(request.MaximumCpuSpeedFrequency) { query["MaximumCpuSpeedFrequency"] = request.MaximumCpuSpeedFrequency } if !dara.IsNil(request.MaximumCpuTurboFrequency) { query["MaximumCpuTurboFrequency"] = request.MaximumCpuTurboFrequency } if !dara.IsNil(request.MaximumGPUAmount) { query["MaximumGPUAmount"] = request.MaximumGPUAmount } if !dara.IsNil(request.MaximumMemorySize) { query["MaximumMemorySize"] = request.MaximumMemorySize } if !dara.IsNil(request.MinimumBaselineCredit) { query["MinimumBaselineCredit"] = request.MinimumBaselineCredit } if !dara.IsNil(request.MinimumCpuCoreCount) { query["MinimumCpuCoreCount"] = request.MinimumCpuCoreCount } if !dara.IsNil(request.MinimumCpuSpeedFrequency) { query["MinimumCpuSpeedFrequency"] = request.MinimumCpuSpeedFrequency } if !dara.IsNil(request.MinimumCpuTurboFrequency) { query["MinimumCpuTurboFrequency"] = request.MinimumCpuTurboFrequency } if !dara.IsNil(request.MinimumDiskQuantity) { query["MinimumDiskQuantity"] = request.MinimumDiskQuantity } if !dara.IsNil(request.MinimumEniIpv6AddressQuantity) { query["MinimumEniIpv6AddressQuantity"] = request.MinimumEniIpv6AddressQuantity } if !dara.IsNil(request.MinimumEniPrivateIpAddressQuantity) { query["MinimumEniPrivateIpAddressQuantity"] = request.MinimumEniPrivateIpAddressQuantity } if !dara.IsNil(request.MinimumEniQuantity) { query["MinimumEniQuantity"] = request.MinimumEniQuantity } if !dara.IsNil(request.MinimumEriQuantity) { query["MinimumEriQuantity"] = request.MinimumEriQuantity } if !dara.IsNil(request.MinimumGPUAmount) { query["MinimumGPUAmount"] = request.MinimumGPUAmount } if !dara.IsNil(request.MinimumInitialCredit) { query["MinimumInitialCredit"] = request.MinimumInitialCredit } if !dara.IsNil(request.MinimumInstanceBandwidthRx) { query["MinimumInstanceBandwidthRx"] = request.MinimumInstanceBandwidthRx } if !dara.IsNil(request.MinimumInstanceBandwidthTx) { query["MinimumInstanceBandwidthTx"] = request.MinimumInstanceBandwidthTx } if !dara.IsNil(request.MinimumInstancePpsRx) { query["MinimumInstancePpsRx"] = request.MinimumInstancePpsRx } if !dara.IsNil(request.MinimumInstancePpsTx) { query["MinimumInstancePpsTx"] = request.MinimumInstancePpsTx } if !dara.IsNil(request.MinimumLocalStorageAmount) { query["MinimumLocalStorageAmount"] = request.MinimumLocalStorageAmount } if !dara.IsNil(request.MinimumLocalStorageCapacity) { query["MinimumLocalStorageCapacity"] = request.MinimumLocalStorageCapacity } if !dara.IsNil(request.MinimumMemorySize) { query["MinimumMemorySize"] = request.MinimumMemorySize } if !dara.IsNil(request.MinimumPrimaryEniQueueNumber) { query["MinimumPrimaryEniQueueNumber"] = request.MinimumPrimaryEniQueueNumber } if !dara.IsNil(request.MinimumQueuePairNumber) { query["MinimumQueuePairNumber"] = request.MinimumQueuePairNumber } if !dara.IsNil(request.MinimumSecondaryEniQueueNumber) { query["MinimumSecondaryEniQueueNumber"] = request.MinimumSecondaryEniQueueNumber } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.NvmeSupport) { query["NvmeSupport"] = request.NvmeSupport } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PhysicalProcessorModel) { query["PhysicalProcessorModel"] = request.PhysicalProcessorModel } if !dara.IsNil(request.PhysicalProcessorModels) { query["PhysicalProcessorModels"] = request.PhysicalProcessorModels } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceTypes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceTypesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of all instance types or a specific instance type provided by Elastic Compute Service (ECS). You can understand the specifications and performance of instance types based on the response and select an instance type that meets your business requirements. // // Description: // // **Paged query**: You can set MaxResults to specify the maximum number of entries to return in a single call. If the number of entries to return exceeds the specified MaxResults value, the response includes a NextToken value. You can set NextToken to the return value and specify MaxResults in your next request to DescribeInstanceTypes to retrieve the next page of results. // // - When you call this operation, if you do not set NextToken to paginate the results, only the first page of results is returned by default and includes a maximum of 100 entries. To retrieve further pages of results, set NextToken or pass filter conditions in your requests to DescribeInstanceTypes. // // > MaxResults specifies the maximum number of entries per page. The maximum value of this parameter is changed from 1600 to 100 for all users as of November 15, 2023. If you called the DescribeInstanceTypes operation in 2022, you can use 1600 as the maximum value before November 15, 2023. // // - The DescribeInstanceTypes operation is used to query only the specifications and performance information of instance types. To query instance types that are available in a specific region, call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation. // // - To use special instance types such as instance types that are unavailable for purchase, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket-intl). // // @param request - DescribeInstanceTypesRequest // // @return DescribeInstanceTypesResponse func (client *Client) DescribeInstanceTypes(request *DescribeInstanceTypesRequest) (_result *DescribeInstanceTypesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceTypesResponse{} _body, _err := client.DescribeInstanceTypesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the Virtual Network Computing (VNC) logon address of an Elastic Compute Service (ECS) instance. // // Description: // // You cannot directly use the VNC logon address (VncUrl) in the response to log on to an ECS instance. To log on to the ECS instance, you can use the **web management terminal URL* - that contains the VNC logon address. // // > To construct a web management terminal URL, add the `vncUrl=\\*\\*\\*\\*`, `instanceId=****`, and `isWindows=true/false` parameters at the end of `https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?`. Separate each parameter with an ampersand (`&`). Parameter description: // // - `vncUrl`: the VNC logon address. // // - `instanceId`: the instance ID. // // - `isWindows`: specifies whether the operating system of your ECS instance is Windows. A value of `true` specifies that the operating system is Windows. A value of `false` specifies that the operating system is not Windows. // // - You can connect to an ECS instance without using a VNC logon password. Therefore, you do not need to specify the `password` parameter. // // - The keepalive time of a connection to a VNC management terminal is 300 seconds. If you do not interact with the VNC management terminal within 300 seconds, the VNC management terminal is automatically disconnected. // // - If the connection is interrupted, you must call the DescribeInstanceVncUrl operation to obtain a new VNC logon address (`VncUrl`) and use the new logon address to construct a new web management terminal URL that you can use to reconnect to the VNC management terminal. You can reconnect to a VNC management terminal up to 30 times per minute. // // Sample web management terminal URL: // // https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?vncUrl=ws%3A%2F%****&instanceId=i-wz9hhwq5a6tm****&isWindows=true // // @param request - DescribeInstanceVncUrlRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstanceVncUrlResponse func (client *Client) DescribeInstanceVncUrlWithOptions(request *DescribeInstanceVncUrlRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstanceVncUrlResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstanceVncUrl"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstanceVncUrlResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the Virtual Network Computing (VNC) logon address of an Elastic Compute Service (ECS) instance. // // Description: // // You cannot directly use the VNC logon address (VncUrl) in the response to log on to an ECS instance. To log on to the ECS instance, you can use the **web management terminal URL* - that contains the VNC logon address. // // > To construct a web management terminal URL, add the `vncUrl=\\*\\*\\*\\*`, `instanceId=****`, and `isWindows=true/false` parameters at the end of `https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?`. Separate each parameter with an ampersand (`&`). Parameter description: // // - `vncUrl`: the VNC logon address. // // - `instanceId`: the instance ID. // // - `isWindows`: specifies whether the operating system of your ECS instance is Windows. A value of `true` specifies that the operating system is Windows. A value of `false` specifies that the operating system is not Windows. // // - You can connect to an ECS instance without using a VNC logon password. Therefore, you do not need to specify the `password` parameter. // // - The keepalive time of a connection to a VNC management terminal is 300 seconds. If you do not interact with the VNC management terminal within 300 seconds, the VNC management terminal is automatically disconnected. // // - If the connection is interrupted, you must call the DescribeInstanceVncUrl operation to obtain a new VNC logon address (`VncUrl`) and use the new logon address to construct a new web management terminal URL that you can use to reconnect to the VNC management terminal. You can reconnect to a VNC management terminal up to 30 times per minute. // // Sample web management terminal URL: // // https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?vncUrl=ws%3A%2F%****&instanceId=i-wz9hhwq5a6tm****&isWindows=true // // @param request - DescribeInstanceVncUrlRequest // // @return DescribeInstanceVncUrlResponse func (client *Client) DescribeInstanceVncUrl(request *DescribeInstanceVncUrlRequest) (_result *DescribeInstanceVncUrlResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstanceVncUrlResponse{} _body, _err := client.DescribeInstanceVncUrlWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries Elastic Compute Service (ECS) instances by various filter conditions. The details of the queried ECS instances are returned in the response. // // Description: // // ### [](#)Limits // // - When you call the API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter format overview](https://help.aliyun.com/document_detail/110340.html). // // - If you use a Resource Access Management (RAM) user or RAM role that does not have the permissions to call this operation, an empty list is returned. // // ### [](#)Suggestions // // - Specify DryRun in the request to perform a dry run. In the dry run, the system checks the validity and authorization status of the parameters. // // - During a paged query, when you call the DescribeInstances operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeInstances operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstancesResponse func (client *Client) DescribeInstancesWithOptions(request *DescribeInstancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AdditionalAttributes) { query["AdditionalAttributes"] = request.AdditionalAttributes } if !dara.IsNil(request.DeviceAvailable) { query["DeviceAvailable"] = request.DeviceAvailable } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.EipAddresses) { query["EipAddresses"] = request.EipAddresses } if !dara.IsNil(request.HpcClusterId) { query["HpcClusterId"] = request.HpcClusterId } if !dara.IsNil(request.HttpEndpoint) { query["HttpEndpoint"] = request.HttpEndpoint } if !dara.IsNil(request.HttpPutResponseHopLimit) { query["HttpPutResponseHopLimit"] = request.HttpPutResponseHopLimit } if !dara.IsNil(request.HttpTokens) { query["HttpTokens"] = request.HttpTokens } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.InnerIpAddresses) { query["InnerIpAddresses"] = request.InnerIpAddresses } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.InstanceNetworkType) { query["InstanceNetworkType"] = request.InstanceNetworkType } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InstanceTypeFamily) { query["InstanceTypeFamily"] = request.InstanceTypeFamily } if !dara.IsNil(request.InternetChargeType) { query["InternetChargeType"] = request.InternetChargeType } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.Ipv6Address) { query["Ipv6Address"] = request.Ipv6Address } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.LockReason) { query["LockReason"] = request.LockReason } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NeedSaleCycle) { query["NeedSaleCycle"] = request.NeedSaleCycle } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.PrivateIpAddresses) { query["PrivateIpAddresses"] = request.PrivateIpAddresses } if !dara.IsNil(request.PublicIpAddresses) { query["PublicIpAddresses"] = request.PublicIpAddresses } if !dara.IsNil(request.RdmaIpAddresses) { query["RdmaIpAddresses"] = request.RdmaIpAddresses } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries Elastic Compute Service (ECS) instances by various filter conditions. The details of the queried ECS instances are returned in the response. // // Description: // // ### [](#)Limits // // - When you call the API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter format overview](https://help.aliyun.com/document_detail/110340.html). // // - If you use a Resource Access Management (RAM) user or RAM role that does not have the permissions to call this operation, an empty list is returned. // // ### [](#)Suggestions // // - Specify DryRun in the request to perform a dry run. In the dry run, the system checks the validity and authorization status of the parameters. // // - During a paged query, when you call the DescribeInstances operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeInstances operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeInstancesRequest // // @return DescribeInstancesResponse func (client *Client) DescribeInstances(request *DescribeInstancesRequest) (_result *DescribeInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstancesResponse{} _body, _err := client.DescribeInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the full status information of one or more Elastic Compute Service (ECS) instances. The full status information includes the instance status and the status of instance system events. The instance status is the lifecycle status of instances. The status of instance system events is the health status of maintenance events. // // Description: // // ## [](#)Usage notes // // The response includes the instance status and the instance system events that are in the Scheduled state. // // You can specify a period of time to query events that occurred within the period of time. // // @param request - DescribeInstancesFullStatusRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInstancesFullStatusResponse func (client *Client) DescribeInstancesFullStatusWithOptions(request *DescribeInstancesFullStatusRequest, runtime *dara.RuntimeOptions) (_result *DescribeInstancesFullStatusResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EventId) { query["EventId"] = request.EventId } if !dara.IsNil(request.EventType) { query["EventType"] = request.EventType } if !dara.IsNil(request.HealthStatus) { query["HealthStatus"] = request.HealthStatus } if !dara.IsNil(request.InstanceEventType) { query["InstanceEventType"] = request.InstanceEventType } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.EventPublishTime) { query["EventPublishTime"] = request.EventPublishTime } if !dara.IsNil(request.NotBefore) { query["NotBefore"] = request.NotBefore } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInstancesFullStatus"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInstancesFullStatusResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the full status information of one or more Elastic Compute Service (ECS) instances. The full status information includes the instance status and the status of instance system events. The instance status is the lifecycle status of instances. The status of instance system events is the health status of maintenance events. // // Description: // // ## [](#)Usage notes // // The response includes the instance status and the instance system events that are in the Scheduled state. // // You can specify a period of time to query events that occurred within the period of time. // // @param request - DescribeInstancesFullStatusRequest // // @return DescribeInstancesFullStatusResponse func (client *Client) DescribeInstancesFullStatus(request *DescribeInstancesFullStatusRequest) (_result *DescribeInstancesFullStatusResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInstancesFullStatusResponse{} _body, _err := client.DescribeInstancesFullStatusWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // The execution status of the command. Valid values: // // - Running: // // - Scheduled task: Before you stop the scheduled execution of the command, the execution state is always Running. // // - One-time task: If the command is being run on instances, the execution state is Running. // // - Finished: // // - Scheduled task: The execution state can never be Finished. // // - One-time task: The execution was complete on all instances, or the execution was stopped on some instances and was complete on the other instances. // // - Failed: // // - Scheduled task: The execution state can never be Failed. // // - One-time task: The execution failed on all instances. // // - PartialFailed: // // - Scheduled task: The execution state can never be PartialFailed. // // - One-time task: The execution failed on some instances. // // - Stopped: The task was stopped. // // - Stopping: The task is being stopped. // // Description: // // # DescribeInvocationResults // // @param request - DescribeInvocationResultsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInvocationResultsResponse func (client *Client) DescribeInvocationResultsWithOptions(request *DescribeInvocationResultsRequest, runtime *dara.RuntimeOptions) (_result *DescribeInvocationResultsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CommandId) { query["CommandId"] = request.CommandId } if !dara.IsNil(request.ContentEncoding) { query["ContentEncoding"] = request.ContentEncoding } if !dara.IsNil(request.IncludeHistory) { query["IncludeHistory"] = request.IncludeHistory } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InvokeId) { query["InvokeId"] = request.InvokeId } if !dara.IsNil(request.InvokeRecordStatus) { query["InvokeRecordStatus"] = request.InvokeRecordStatus } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInvocationResults"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInvocationResultsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // The execution status of the command. Valid values: // // - Running: // // - Scheduled task: Before you stop the scheduled execution of the command, the execution state is always Running. // // - One-time task: If the command is being run on instances, the execution state is Running. // // - Finished: // // - Scheduled task: The execution state can never be Finished. // // - One-time task: The execution was complete on all instances, or the execution was stopped on some instances and was complete on the other instances. // // - Failed: // // - Scheduled task: The execution state can never be Failed. // // - One-time task: The execution failed on all instances. // // - PartialFailed: // // - Scheduled task: The execution state can never be PartialFailed. // // - One-time task: The execution failed on some instances. // // - Stopped: The task was stopped. // // - Stopping: The task is being stopped. // // Description: // // # DescribeInvocationResults // // @param request - DescribeInvocationResultsRequest // // @return DescribeInvocationResultsResponse func (client *Client) DescribeInvocationResults(request *DescribeInvocationResultsRequest) (_result *DescribeInvocationResultsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInvocationResultsResponse{} _body, _err := client.DescribeInvocationResultsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // The command type. // // Description: // // # DescribeInvocations // // @param request - DescribeInvocationsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeInvocationsResponse func (client *Client) DescribeInvocationsWithOptions(request *DescribeInvocationsRequest, runtime *dara.RuntimeOptions) (_result *DescribeInvocationsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CommandId) { query["CommandId"] = request.CommandId } if !dara.IsNil(request.CommandName) { query["CommandName"] = request.CommandName } if !dara.IsNil(request.CommandType) { query["CommandType"] = request.CommandType } if !dara.IsNil(request.ContentEncoding) { query["ContentEncoding"] = request.ContentEncoding } if !dara.IsNil(request.IncludeOutput) { query["IncludeOutput"] = request.IncludeOutput } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InvokeId) { query["InvokeId"] = request.InvokeId } if !dara.IsNil(request.InvokeStatus) { query["InvokeStatus"] = request.InvokeStatus } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RepeatMode) { query["RepeatMode"] = request.RepeatMode } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Timed) { query["Timed"] = request.Timed } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeInvocations"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeInvocationsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // The command type. // // Description: // // # DescribeInvocations // // @param request - DescribeInvocationsRequest // // @return DescribeInvocationsResponse func (client *Client) DescribeInvocations(request *DescribeInvocationsRequest) (_result *DescribeInvocationsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeInvocationsResponse{} _body, _err := client.DescribeInvocationsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries one or more key pairs. // // @param request - DescribeKeyPairsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeKeyPairsResponse func (client *Client) DescribeKeyPairsWithOptions(request *DescribeKeyPairsRequest, runtime *dara.RuntimeOptions) (_result *DescribeKeyPairsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.IncludePublicKey) { query["IncludePublicKey"] = request.IncludePublicKey } if !dara.IsNil(request.KeyPairFingerPrint) { query["KeyPairFingerPrint"] = request.KeyPairFingerPrint } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeKeyPairs"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeKeyPairsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries one or more key pairs. // // @param request - DescribeKeyPairsRequest // // @return DescribeKeyPairsResponse func (client *Client) DescribeKeyPairs(request *DescribeKeyPairsRequest) (_result *DescribeKeyPairsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeKeyPairsResponse{} _body, _err := client.DescribeKeyPairsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the information of launch template versions, such as the total number of launch templates, launch template names, and launch template version numbers. // // @param request - DescribeLaunchTemplateVersionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeLaunchTemplateVersionsResponse func (client *Client) DescribeLaunchTemplateVersionsWithOptions(request *DescribeLaunchTemplateVersionsRequest, runtime *dara.RuntimeOptions) (_result *DescribeLaunchTemplateVersionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DefaultVersion) { query["DefaultVersion"] = request.DefaultVersion } if !dara.IsNil(request.DetailFlag) { query["DetailFlag"] = request.DetailFlag } if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.LaunchTemplateVersion) { query["LaunchTemplateVersion"] = request.LaunchTemplateVersion } if !dara.IsNil(request.MaxVersion) { query["MaxVersion"] = request.MaxVersion } if !dara.IsNil(request.MinVersion) { query["MinVersion"] = request.MinVersion } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeLaunchTemplateVersions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeLaunchTemplateVersionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the information of launch template versions, such as the total number of launch templates, launch template names, and launch template version numbers. // // @param request - DescribeLaunchTemplateVersionsRequest // // @return DescribeLaunchTemplateVersionsResponse func (client *Client) DescribeLaunchTemplateVersions(request *DescribeLaunchTemplateVersionsRequest) (_result *DescribeLaunchTemplateVersionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeLaunchTemplateVersionsResponse{} _body, _err := client.DescribeLaunchTemplateVersionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the information of one or more launch templates, such as the total number of launch templates, the creation time of each launch template, and the latest version number of each launch template. When you can this operation, you can specify parameters, such as TemplateTag, TemplateResourceGroupId, and LaunchTemplateId, in the request. // // @param request - DescribeLaunchTemplatesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeLaunchTemplatesResponse func (client *Client) DescribeLaunchTemplatesWithOptions(request *DescribeLaunchTemplatesRequest, runtime *dara.RuntimeOptions) (_result *DescribeLaunchTemplatesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TemplateResourceGroupId) { query["TemplateResourceGroupId"] = request.TemplateResourceGroupId } if !dara.IsNil(request.TemplateTag) { query["TemplateTag"] = request.TemplateTag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeLaunchTemplates"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeLaunchTemplatesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the information of one or more launch templates, such as the total number of launch templates, the creation time of each launch template, and the latest version number of each launch template. When you can this operation, you can specify parameters, such as TemplateTag, TemplateResourceGroupId, and LaunchTemplateId, in the request. // // @param request - DescribeLaunchTemplatesRequest // // @return DescribeLaunchTemplatesResponse func (client *Client) DescribeLaunchTemplates(request *DescribeLaunchTemplatesRequest) (_result *DescribeLaunchTemplatesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeLaunchTemplatesResponse{} _body, _err := client.DescribeLaunchTemplatesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeLimitation is deprecated // // Summary: // // 查询账号限制 // // @param request - DescribeLimitationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeLimitationResponse func (client *Client) DescribeLimitationWithOptions(request *DescribeLimitationRequest, runtime *dara.RuntimeOptions) (_result *DescribeLimitationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Limitation) { query["Limitation"] = request.Limitation } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeLimitation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeLimitationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeLimitation is deprecated // // Summary: // // 查询账号限制 // // @param request - DescribeLimitationRequest // // @return DescribeLimitationResponse // Deprecated func (client *Client) DescribeLimitation(request *DescribeLimitationRequest) (_result *DescribeLimitationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeLimitationResponse{} _body, _err := client.DescribeLimitationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the lock information of a snapshot, such as snapshot lock status and lock configuration. // // @param request - DescribeLockedSnapshotsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeLockedSnapshotsResponse func (client *Client) DescribeLockedSnapshotsWithOptions(request *DescribeLockedSnapshotsRequest, runtime *dara.RuntimeOptions) (_result *DescribeLockedSnapshotsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.LockStatus) { query["LockStatus"] = request.LockStatus } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotIds) { query["SnapshotIds"] = request.SnapshotIds } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeLockedSnapshots"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeLockedSnapshotsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the lock information of a snapshot, such as snapshot lock status and lock configuration. // // @param request - DescribeLockedSnapshotsRequest // // @return DescribeLockedSnapshotsResponse func (client *Client) DescribeLockedSnapshots(request *DescribeLockedSnapshotsRequest) (_result *DescribeLockedSnapshotsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeLockedSnapshotsResponse{} _body, _err := client.DescribeLockedSnapshotsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries managed instances. // // Description: // // During a paged query, when you call the DescribeManagedInstances operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeManagedInstances operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeManagedInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeManagedInstancesResponse func (client *Client) DescribeManagedInstancesWithOptions(request *DescribeManagedInstancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeManagedInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActivationId) { query["ActivationId"] = request.ActivationId } if !dara.IsNil(request.Connected) { query["Connected"] = request.Connected } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceIp) { query["InstanceIp"] = request.InstanceIp } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.MachineId) { query["MachineId"] = request.MachineId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OsType) { query["OsType"] = request.OsType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeManagedInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeManagedInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries managed instances. // // Description: // // During a paged query, when you call the DescribeManagedInstances operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeManagedInstances operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeManagedInstancesRequest // // @return DescribeManagedInstancesResponse func (client *Client) DescribeManagedInstances(request *DescribeManagedInstancesRequest) (_result *DescribeManagedInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeManagedInstancesResponse{} _body, _err := client.DescribeManagedInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeNatGateways is deprecated, please use Vpc::2016-04-28::DescribeNatGateways instead. // // Summary: // // # DescribeNatGateways // // @param request - DescribeNatGatewaysRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeNatGatewaysResponse func (client *Client) DescribeNatGatewaysWithOptions(request *DescribeNatGatewaysRequest, runtime *dara.RuntimeOptions) (_result *DescribeNatGatewaysResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.NatGatewayId) { query["NatGatewayId"] = request.NatGatewayId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeNatGateways"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeNatGatewaysResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeNatGateways is deprecated, please use Vpc::2016-04-28::DescribeNatGateways instead. // // Summary: // // # DescribeNatGateways // // @param request - DescribeNatGatewaysRequest // // @return DescribeNatGatewaysResponse // Deprecated func (client *Client) DescribeNatGateways(request *DescribeNatGatewaysRequest) (_result *DescribeNatGatewaysResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeNatGatewaysResponse{} _body, _err := client.DescribeNatGatewaysWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of an elastic network interface (ENI). When you call this operation, you can set the NetworkInterfaceId parameter to specify an ENI. // // Description: // // ## Debugging // // [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeNetworkInterfaceAttribute\\&type=RPC\\&version=2014-05-26) // // @param request - DescribeNetworkInterfaceAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeNetworkInterfaceAttributeResponse func (client *Client) DescribeNetworkInterfaceAttributeWithOptions(request *DescribeNetworkInterfaceAttributeRequest, runtime *dara.RuntimeOptions) (_result *DescribeNetworkInterfaceAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Attribute) { query["Attribute"] = request.Attribute } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeNetworkInterfaceAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeNetworkInterfaceAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of an elastic network interface (ENI). When you call this operation, you can set the NetworkInterfaceId parameter to specify an ENI. // // Description: // // ## Debugging // // [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeNetworkInterfaceAttribute\\&type=RPC\\&version=2014-05-26) // // @param request - DescribeNetworkInterfaceAttributeRequest // // @return DescribeNetworkInterfaceAttributeResponse func (client *Client) DescribeNetworkInterfaceAttribute(request *DescribeNetworkInterfaceAttributeRequest) (_result *DescribeNetworkInterfaceAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeNetworkInterfaceAttributeResponse{} _body, _err := client.DescribeNetworkInterfaceAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the permissions on elastic network interfaces (ENIs) that are granted to an Alibaba Cloud partner (certified ISV) or an individual user. // // @param request - DescribeNetworkInterfacePermissionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeNetworkInterfacePermissionsResponse func (client *Client) DescribeNetworkInterfacePermissionsWithOptions(request *DescribeNetworkInterfacePermissionsRequest, runtime *dara.RuntimeOptions) (_result *DescribeNetworkInterfacePermissionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.NetworkInterfacePermissionId) { query["NetworkInterfacePermissionId"] = request.NetworkInterfacePermissionId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeNetworkInterfacePermissions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeNetworkInterfacePermissionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the permissions on elastic network interfaces (ENIs) that are granted to an Alibaba Cloud partner (certified ISV) or an individual user. // // @param request - DescribeNetworkInterfacePermissionsRequest // // @return DescribeNetworkInterfacePermissionsResponse func (client *Client) DescribeNetworkInterfacePermissions(request *DescribeNetworkInterfacePermissionsRequest) (_result *DescribeNetworkInterfacePermissionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeNetworkInterfacePermissionsResponse{} _body, _err := client.DescribeNetworkInterfacePermissionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of one or more Elastic Network Interface (ENIs). // // Description: // // ## [](#)Usage notes // // You can call the `DescribeNetworkInterfaces` operation for paged query by specifying the `MaxResults` or `NextToken` parameter. Take note of the following items: // // - During a paged query, when you call the DescribeNetworkInterfaces operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. // // - When you call the DescribeNetworkInterfaces operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeNetworkInterfacesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeNetworkInterfacesResponse func (client *Client) DescribeNetworkInterfacesWithOptions(request *DescribeNetworkInterfacesRequest, runtime *dara.RuntimeOptions) (_result *DescribeNetworkInterfacesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.Ipv6Address) { query["Ipv6Address"] = request.Ipv6Address } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.NetworkInterfaceName) { query["NetworkInterfaceName"] = request.NetworkInterfaceName } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.PrimaryIpAddress) { query["PrimaryIpAddress"] = request.PrimaryIpAddress } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.ServiceManaged) { query["ServiceManaged"] = request.ServiceManaged } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Type) { query["Type"] = request.Type } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeNetworkInterfaces"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeNetworkInterfacesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of one or more Elastic Network Interface (ENIs). // // Description: // // ## [](#)Usage notes // // You can call the `DescribeNetworkInterfaces` operation for paged query by specifying the `MaxResults` or `NextToken` parameter. Take note of the following items: // // - During a paged query, when you call the DescribeNetworkInterfaces operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. // // - When you call the DescribeNetworkInterfaces operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeNetworkInterfacesRequest // // @return DescribeNetworkInterfacesResponse func (client *Client) DescribeNetworkInterfaces(request *DescribeNetworkInterfacesRequest) (_result *DescribeNetworkInterfacesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeNetworkInterfacesResponse{} _body, _err := client.DescribeNetworkInterfacesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeNewProjectEipMonitorData is deprecated, please use Vpc::2016-04-28::DescribeEipMonitorData instead. // // Summary: // // # DescribeNewProjectEipMonitorData // // @param request - DescribeNewProjectEipMonitorDataRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeNewProjectEipMonitorDataResponse func (client *Client) DescribeNewProjectEipMonitorDataWithOptions(request *DescribeNewProjectEipMonitorDataRequest, runtime *dara.RuntimeOptions) (_result *DescribeNewProjectEipMonitorDataResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationId) { query["AllocationId"] = request.AllocationId } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeNewProjectEipMonitorData"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeNewProjectEipMonitorDataResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeNewProjectEipMonitorData is deprecated, please use Vpc::2016-04-28::DescribeEipMonitorData instead. // // Summary: // // # DescribeNewProjectEipMonitorData // // @param request - DescribeNewProjectEipMonitorDataRequest // // @return DescribeNewProjectEipMonitorDataResponse // Deprecated func (client *Client) DescribeNewProjectEipMonitorData(request *DescribeNewProjectEipMonitorDataRequest) (_result *DescribeNewProjectEipMonitorDataResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeNewProjectEipMonitorDataResponse{} _body, _err := client.DescribeNewProjectEipMonitorDataWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribePhysicalConnections is deprecated, please use Vpc::2016-04-28::DescribePhysicalConnections instead. // // Summary: // // # DescribePhysicalConnections // // @param request - DescribePhysicalConnectionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePhysicalConnectionsResponse func (client *Client) DescribePhysicalConnectionsWithOptions(request *DescribePhysicalConnectionsRequest, runtime *dara.RuntimeOptions) (_result *DescribePhysicalConnectionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePhysicalConnections"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePhysicalConnectionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribePhysicalConnections is deprecated, please use Vpc::2016-04-28::DescribePhysicalConnections instead. // // Summary: // // # DescribePhysicalConnections // // @param request - DescribePhysicalConnectionsRequest // // @return DescribePhysicalConnectionsResponse // Deprecated func (client *Client) DescribePhysicalConnections(request *DescribePhysicalConnectionsRequest) (_result *DescribePhysicalConnectionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePhysicalConnectionsResponse{} _body, _err := client.DescribePhysicalConnectionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 查询运维窗口 // // @param tmpReq - DescribePlanMaintenanceWindowsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePlanMaintenanceWindowsResponse func (client *Client) DescribePlanMaintenanceWindowsWithOptions(tmpReq *DescribePlanMaintenanceWindowsRequest, runtime *dara.RuntimeOptions) (_result *DescribePlanMaintenanceWindowsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &DescribePlanMaintenanceWindowsShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.TargetResourceTags) { request.TargetResourceTagsShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.TargetResourceTags, dara.String("TargetResourceTags"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.Enable) { query["Enable"] = request.Enable } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.PlanWindowId) { query["PlanWindowId"] = request.PlanWindowId } if !dara.IsNil(request.PlanWindowName) { query["PlanWindowName"] = request.PlanWindowName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.TargetResourceGroupId) { query["TargetResourceGroupId"] = request.TargetResourceGroupId } if !dara.IsNil(request.TargetResourceTagsShrink) { query["TargetResourceTags"] = request.TargetResourceTagsShrink } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePlanMaintenanceWindows"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePlanMaintenanceWindowsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 查询运维窗口 // // @param request - DescribePlanMaintenanceWindowsRequest // // @return DescribePlanMaintenanceWindowsResponse func (client *Client) DescribePlanMaintenanceWindows(request *DescribePlanMaintenanceWindowsRequest) (_result *DescribePlanMaintenanceWindowsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePlanMaintenanceWindowsResponse{} _body, _err := client.DescribePlanMaintenanceWindowsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the resources that are associated with a port list, such as security groups. // // @param request - DescribePortRangeListAssociationsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePortRangeListAssociationsResponse func (client *Client) DescribePortRangeListAssociationsWithOptions(request *DescribePortRangeListAssociationsRequest, runtime *dara.RuntimeOptions) (_result *DescribePortRangeListAssociationsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PortRangeListId) { query["PortRangeListId"] = request.PortRangeListId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePortRangeListAssociations"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePortRangeListAssociationsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the resources that are associated with a port list, such as security groups. // // @param request - DescribePortRangeListAssociationsRequest // // @return DescribePortRangeListAssociationsResponse func (client *Client) DescribePortRangeListAssociations(request *DescribePortRangeListAssociationsRequest) (_result *DescribePortRangeListAssociationsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePortRangeListAssociationsResponse{} _body, _err := client.DescribePortRangeListAssociationsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the entries of a specified port list. // // @param request - DescribePortRangeListEntriesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePortRangeListEntriesResponse func (client *Client) DescribePortRangeListEntriesWithOptions(request *DescribePortRangeListEntriesRequest, runtime *dara.RuntimeOptions) (_result *DescribePortRangeListEntriesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PortRangeListId) { query["PortRangeListId"] = request.PortRangeListId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePortRangeListEntries"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePortRangeListEntriesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the entries of a specified port list. // // @param request - DescribePortRangeListEntriesRequest // // @return DescribePortRangeListEntriesResponse func (client *Client) DescribePortRangeListEntries(request *DescribePortRangeListEntriesRequest) (_result *DescribePortRangeListEntriesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePortRangeListEntriesResponse{} _body, _err := client.DescribePortRangeListEntriesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the port lists. // // @param request - DescribePortRangeListsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePortRangeListsResponse func (client *Client) DescribePortRangeListsWithOptions(request *DescribePortRangeListsRequest, runtime *dara.RuntimeOptions) (_result *DescribePortRangeListsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PortRangeListId) { query["PortRangeListId"] = request.PortRangeListId } if !dara.IsNil(request.PortRangeListName) { query["PortRangeListName"] = request.PortRangeListName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePortRangeLists"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePortRangeListsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the port lists. // // @param request - DescribePortRangeListsRequest // // @return DescribePortRangeListsResponse func (client *Client) DescribePortRangeLists(request *DescribePortRangeListsRequest) (_result *DescribePortRangeListsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePortRangeListsResponse{} _body, _err := client.DescribePortRangeListsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries information about resources that are associated with a prefix list, such as the resource IDs and types. // // @param request - DescribePrefixListAssociationsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePrefixListAssociationsResponse func (client *Client) DescribePrefixListAssociationsWithOptions(request *DescribePrefixListAssociationsRequest, runtime *dara.RuntimeOptions) (_result *DescribePrefixListAssociationsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrefixListId) { query["PrefixListId"] = request.PrefixListId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePrefixListAssociations"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePrefixListAssociationsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries information about resources that are associated with a prefix list, such as the resource IDs and types. // // @param request - DescribePrefixListAssociationsRequest // // @return DescribePrefixListAssociationsResponse func (client *Client) DescribePrefixListAssociations(request *DescribePrefixListAssociationsRequest) (_result *DescribePrefixListAssociationsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePrefixListAssociationsResponse{} _body, _err := client.DescribePrefixListAssociationsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of a prefix list, including the name, address family, maximum number of entries, and details of the entries. // // @param request - DescribePrefixListAttributesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePrefixListAttributesResponse func (client *Client) DescribePrefixListAttributesWithOptions(request *DescribePrefixListAttributesRequest, runtime *dara.RuntimeOptions) (_result *DescribePrefixListAttributesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrefixListId) { query["PrefixListId"] = request.PrefixListId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePrefixListAttributes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePrefixListAttributesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of a prefix list, including the name, address family, maximum number of entries, and details of the entries. // // @param request - DescribePrefixListAttributesRequest // // @return DescribePrefixListAttributesResponse func (client *Client) DescribePrefixListAttributes(request *DescribePrefixListAttributesRequest) (_result *DescribePrefixListAttributesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePrefixListAttributesResponse{} _body, _err := client.DescribePrefixListAttributesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the information of prefix lists. // // Description: // // You can specify the `AddressFamily`, `PrefixListId.N`, and `PrefixListName` request parameters in the request. Specified parameters have logical AND relations. Only the parameters that you set are included in the filter conditions. // // @param request - DescribePrefixListsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePrefixListsResponse func (client *Client) DescribePrefixListsWithOptions(request *DescribePrefixListsRequest, runtime *dara.RuntimeOptions) (_result *DescribePrefixListsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AddressFamily) { query["AddressFamily"] = request.AddressFamily } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrefixListId) { query["PrefixListId"] = request.PrefixListId } if !dara.IsNil(request.PrefixListName) { query["PrefixListName"] = request.PrefixListName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePrefixLists"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePrefixListsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the information of prefix lists. // // Description: // // You can specify the `AddressFamily`, `PrefixListId.N`, and `PrefixListName` request parameters in the request. Specified parameters have logical AND relations. Only the parameters that you set are included in the filter conditions. // // @param request - DescribePrefixListsRequest // // @return DescribePrefixListsResponse func (client *Client) DescribePrefixLists(request *DescribePrefixListsRequest) (_result *DescribePrefixListsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePrefixListsResponse{} _body, _err := client.DescribePrefixListsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the most recent prices of specified resources. You can specify a resource type in the request, such as the Elastic Compute Service (ECS) instance, cloud disk, dedicated host, elasticity assurance, and capacity reservation. You can also query the activity rules, prices, and discounts of resources. // // Description: // // The required parameters vary based on the type of resource whose prices you want to query. // // - When `ResourceType` is set to instance, you must specify `InstanceType`. By default, `ChargeType` is set to `PostPaid`. You can specify `PriceUnit` to query the ECS resource prices in different billing cycles. // // - When `ResourceType` is set to disk, you must specify `DataDisk.1.Category` and `DataDisk.1.Size` in the same request. When `ResourceType` is set to disk, only pay-as-you-go prices of cloud disks are returned. In this scenario, `PriceUnit` can be set only to `Hour`. // // - When `ResourceType` is set to diskperformance, you must specify `DataDisk.1.Category` and `DataDisk.1.ProvisionedIops`. // // - When `ResourceType` is set to ddh, you must specify `DedicatedHostType`. // // - When `ResourceType` is set to ElasticityAssurance, you must specify `InstanceType`. // // - When `ResourceType` is set to CapacityReservation, you must specify `InstanceType`. // // - When `ResourceType` is set to bandwidth, only the pay-by-traffic (`PayByTraffic`) prices for network usage are returned. // // @param request - DescribePriceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribePriceResponse func (client *Client) DescribePriceWithOptions(request *DescribePriceRequest, runtime *dara.RuntimeOptions) (_result *DescribePriceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Amount) { query["Amount"] = request.Amount } if !dara.IsNil(request.AssuranceTimes) { query["AssuranceTimes"] = request.AssuranceTimes } if !dara.IsNil(request.Capacity) { query["Capacity"] = request.Capacity } if !dara.IsNil(request.DedicatedHostType) { query["DedicatedHostType"] = request.DedicatedHostType } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.InstanceAmount) { query["InstanceAmount"] = request.InstanceAmount } if !dara.IsNil(request.InstanceCpuCoreCount) { query["InstanceCpuCoreCount"] = request.InstanceCpuCoreCount } if !dara.IsNil(request.InstanceNetworkType) { query["InstanceNetworkType"] = request.InstanceNetworkType } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InstanceTypeList) { query["InstanceTypeList"] = request.InstanceTypeList } if !dara.IsNil(request.InternetChargeType) { query["InternetChargeType"] = request.InternetChargeType } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.Isp) { query["Isp"] = request.Isp } if !dara.IsNil(request.OfferingType) { query["OfferingType"] = request.OfferingType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.PriceUnit) { query["PriceUnit"] = request.PriceUnit } if !dara.IsNil(request.RecurrenceRules) { query["RecurrenceRules"] = request.RecurrenceRules } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Scope) { query["Scope"] = request.Scope } if !dara.IsNil(request.SpotDuration) { query["SpotDuration"] = request.SpotDuration } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.DataDisk) { query["DataDisk"] = request.DataDisk } if !dara.IsNil(request.SchedulerOptions) { query["SchedulerOptions"] = request.SchedulerOptions } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribePrice"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribePriceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the most recent prices of specified resources. You can specify a resource type in the request, such as the Elastic Compute Service (ECS) instance, cloud disk, dedicated host, elasticity assurance, and capacity reservation. You can also query the activity rules, prices, and discounts of resources. // // Description: // // The required parameters vary based on the type of resource whose prices you want to query. // // - When `ResourceType` is set to instance, you must specify `InstanceType`. By default, `ChargeType` is set to `PostPaid`. You can specify `PriceUnit` to query the ECS resource prices in different billing cycles. // // - When `ResourceType` is set to disk, you must specify `DataDisk.1.Category` and `DataDisk.1.Size` in the same request. When `ResourceType` is set to disk, only pay-as-you-go prices of cloud disks are returned. In this scenario, `PriceUnit` can be set only to `Hour`. // // - When `ResourceType` is set to diskperformance, you must specify `DataDisk.1.Category` and `DataDisk.1.ProvisionedIops`. // // - When `ResourceType` is set to ddh, you must specify `DedicatedHostType`. // // - When `ResourceType` is set to ElasticityAssurance, you must specify `InstanceType`. // // - When `ResourceType` is set to CapacityReservation, you must specify `InstanceType`. // // - When `ResourceType` is set to bandwidth, only the pay-by-traffic (`PayByTraffic`) prices for network usage are returned. // // @param request - DescribePriceRequest // // @return DescribePriceResponse func (client *Client) DescribePrice(request *DescribePriceRequest) (_result *DescribePriceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribePriceResponse{} _body, _err := client.DescribePriceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries alternative instance types of an instance type. This operation is in internal preview. This operation lists all alternative instance types of an instance type that has been or is planed to be retired. // // @param request - DescribeRecommendInstanceTypeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeRecommendInstanceTypeResponse func (client *Client) DescribeRecommendInstanceTypeWithOptions(request *DescribeRecommendInstanceTypeRequest, runtime *dara.RuntimeOptions) (_result *DescribeRecommendInstanceTypeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Cores) { query["Cores"] = request.Cores } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceFamilyLevel) { query["InstanceFamilyLevel"] = request.InstanceFamilyLevel } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InstanceTypeFamily) { query["InstanceTypeFamily"] = request.InstanceTypeFamily } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.MaxPrice) { query["MaxPrice"] = request.MaxPrice } if !dara.IsNil(request.Memory) { query["Memory"] = request.Memory } if !dara.IsNil(request.NetworkType) { query["NetworkType"] = request.NetworkType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PriorityStrategy) { query["PriorityStrategy"] = request.PriorityStrategy } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Scene) { query["Scene"] = request.Scene } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.SystemDiskCategory) { query["SystemDiskCategory"] = request.SystemDiskCategory } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.ZoneMatchMode) { query["ZoneMatchMode"] = request.ZoneMatchMode } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeRecommendInstanceType"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeRecommendInstanceTypeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries alternative instance types of an instance type. This operation is in internal preview. This operation lists all alternative instance types of an instance type that has been or is planed to be retired. // // @param request - DescribeRecommendInstanceTypeRequest // // @return DescribeRecommendInstanceTypeResponse func (client *Client) DescribeRecommendInstanceType(request *DescribeRecommendInstanceTypeRequest) (_result *DescribeRecommendInstanceTypeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeRecommendInstanceTypeResponse{} _body, _err := client.DescribeRecommendInstanceTypeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries Alibaba Cloud regions. When you call this operation, you can specify parameters, such as InstanceChargeType and ResourceType, in the request. // // @param request - DescribeRegionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeRegionsResponse func (client *Client) DescribeRegionsWithOptions(request *DescribeRegionsRequest, runtime *dara.RuntimeOptions) (_result *DescribeRegionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AcceptLanguage) { query["AcceptLanguage"] = request.AcceptLanguage } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeRegions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeRegionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries Alibaba Cloud regions. When you call this operation, you can specify parameters, such as InstanceChargeType and ResourceType, in the request. // // @param request - DescribeRegionsRequest // // @return DescribeRegionsResponse func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (_result *DescribeRegionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeRegionsResponse{} _body, _err := client.DescribeRegionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the renewal prices of Elastic Compute Service (ECS) resources. Renewal prices of only subscription resources can be queried. // // Description: // // You can call this operation to query the price for renewing a subscription instance for a specific period of time or to a synchronized expiration date. // // - Take note of the following items: // // - If you specify only the required parameters, the price for renewing an instance for one month is queried by default. // // - The renewal period-related parameter pair (`Period` and `PeriodUnit`) and the synchronized expiration date-related parameter (`ExpectedRenewDay`) are mutually exclusive. You cannot set these parameters together to query the prices for renewing a specified instance for a period of time and to a synchronized expiration date at the same time. // // @param request - DescribeRenewalPriceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeRenewalPriceResponse func (client *Client) DescribeRenewalPriceWithOptions(request *DescribeRenewalPriceRequest, runtime *dara.RuntimeOptions) (_result *DescribeRenewalPriceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ExpectedRenewDay) { query["ExpectedRenewDay"] = request.ExpectedRenewDay } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PriceUnit) { query["PriceUnit"] = request.PriceUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeRenewalPrice"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeRenewalPriceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the renewal prices of Elastic Compute Service (ECS) resources. Renewal prices of only subscription resources can be queried. // // Description: // // You can call this operation to query the price for renewing a subscription instance for a specific period of time or to a synchronized expiration date. // // - Take note of the following items: // // - If you specify only the required parameters, the price for renewing an instance for one month is queried by default. // // - The renewal period-related parameter pair (`Period` and `PeriodUnit`) and the synchronized expiration date-related parameter (`ExpectedRenewDay`) are mutually exclusive. You cannot set these parameters together to query the prices for renewing a specified instance for a period of time and to a synchronized expiration date at the same time. // // @param request - DescribeRenewalPriceRequest // // @return DescribeRenewalPriceResponse func (client *Client) DescribeRenewalPrice(request *DescribeRenewalPriceRequest) (_result *DescribeRenewalPriceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeRenewalPriceResponse{} _body, _err := client.DescribeRenewalPriceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the auto-renewal attributes of one or more reserved instances, including the auto-renewal duration and auto-renewal status. // // @param request - DescribeReservedInstanceAutoRenewAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeReservedInstanceAutoRenewAttributeResponse func (client *Client) DescribeReservedInstanceAutoRenewAttributeWithOptions(request *DescribeReservedInstanceAutoRenewAttributeRequest, runtime *dara.RuntimeOptions) (_result *DescribeReservedInstanceAutoRenewAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReservedInstanceId) { query["ReservedInstanceId"] = request.ReservedInstanceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeReservedInstanceAutoRenewAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeReservedInstanceAutoRenewAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the auto-renewal attributes of one or more reserved instances, including the auto-renewal duration and auto-renewal status. // // @param request - DescribeReservedInstanceAutoRenewAttributeRequest // // @return DescribeReservedInstanceAutoRenewAttributeResponse func (client *Client) DescribeReservedInstanceAutoRenewAttribute(request *DescribeReservedInstanceAutoRenewAttributeRequest) (_result *DescribeReservedInstanceAutoRenewAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeReservedInstanceAutoRenewAttributeResponse{} _body, _err := client.DescribeReservedInstanceAutoRenewAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of reserved instances that you have purchased in a specific region. You can query the details of reserved instances based on parameters, such as tags and reserved instance attributes. // // Description: // // ### [](#)Scenarios // // - Query all reserved instances in a specific region. // // - Query the details of a reserved instance based on the ID or name. // // - Query your purchased reserved instances based on the instance type or instance family. // // - Query your purchased reserved instances based on the scope or status of reserved instances. // // ### [](#)Sample requests // // **Example: Query all purchased reserved instances in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region. // // **Example: Query the details of the reserved instance whose ID is ecsri-bp129enntoynwwj5\\*\\*\\*\\ - in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region."ReservedInstanceId":"ecsri-bp129enntoynwwj5****" //The ID of the reserved instance. // // **Example: Query the reserved instances that can be used to offset the bills of ecs.c5.2xlarge instances in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region."InstanceType":"ecs.c5.2xlarge", //The instance type. // // **Example: Query the regional reserved instances that are within the validity period in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region."Scope":"Region", //Set the scope of the reserved instance to regional."Status":["Active"] //Set the status to Active, which indicates that the reserved instance is within the validity period. // // @param request - DescribeReservedInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeReservedInstancesResponse func (client *Client) DescribeReservedInstancesWithOptions(request *DescribeReservedInstancesRequest, runtime *dara.RuntimeOptions) (_result *DescribeReservedInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationType) { query["AllocationType"] = request.AllocationType } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InstanceTypeFamily) { query["InstanceTypeFamily"] = request.InstanceTypeFamily } if !dara.IsNil(request.LockReason) { query["LockReason"] = request.LockReason } if !dara.IsNil(request.OfferingType) { query["OfferingType"] = request.OfferingType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReservedInstanceId) { query["ReservedInstanceId"] = request.ReservedInstanceId } if !dara.IsNil(request.ReservedInstanceName) { query["ReservedInstanceName"] = request.ReservedInstanceName } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Scope) { query["Scope"] = request.Scope } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeReservedInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeReservedInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of reserved instances that you have purchased in a specific region. You can query the details of reserved instances based on parameters, such as tags and reserved instance attributes. // // Description: // // ### [](#)Scenarios // // - Query all reserved instances in a specific region. // // - Query the details of a reserved instance based on the ID or name. // // - Query your purchased reserved instances based on the instance type or instance family. // // - Query your purchased reserved instances based on the scope or status of reserved instances. // // ### [](#)Sample requests // // **Example: Query all purchased reserved instances in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region. // // **Example: Query the details of the reserved instance whose ID is ecsri-bp129enntoynwwj5\\*\\*\\*\\ - in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region."ReservedInstanceId":"ecsri-bp129enntoynwwj5****" //The ID of the reserved instance. // // **Example: Query the reserved instances that can be used to offset the bills of ecs.c5.2xlarge instances in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region."InstanceType":"ecs.c5.2xlarge", //The instance type. // // **Example: Query the regional reserved instances that are within the validity period in the China (Hangzhou) region** // // "RegionId":"cn-hangzhou", //The ID of the region."Scope":"Region", //Set the scope of the reserved instance to regional."Status":["Active"] //Set the status to Active, which indicates that the reserved instance is within the validity period. // // @param request - DescribeReservedInstancesRequest // // @return DescribeReservedInstancesResponse func (client *Client) DescribeReservedInstances(request *DescribeReservedInstancesRequest) (_result *DescribeReservedInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeReservedInstancesResponse{} _body, _err := client.DescribeReservedInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeResourceByTags is deprecated, please use Tag::2018-08-28::ListResourcesByTag instead. // // Summary: // // Queries resources by tag or resource type. // // @param request - DescribeResourceByTagsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeResourceByTagsResponse func (client *Client) DescribeResourceByTagsWithOptions(request *DescribeResourceByTagsRequest, runtime *dara.RuntimeOptions) (_result *DescribeResourceByTagsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeResourceByTags"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeResourceByTagsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeResourceByTags is deprecated, please use Tag::2018-08-28::ListResourcesByTag instead. // // Summary: // // Queries resources by tag or resource type. // // @param request - DescribeResourceByTagsRequest // // @return DescribeResourceByTagsResponse // Deprecated func (client *Client) DescribeResourceByTags(request *DescribeResourceByTagsRequest) (_result *DescribeResourceByTagsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeResourceByTagsResponse{} _body, _err := client.DescribeResourceByTagsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries available instance types or system disk categories in a specific zone before you change the instance type or system disk category of an Elastic Compute Service (ECS) instance. // // Description: // // Examples of common scenarios in which this operation is used: // // ### [](#-1)Example 1: Query the instance types to which you can change the instance type of an instance. // // Query the instance types to which you can change the instance type of the i-bp67acfmxazb4p\\*\\*\\*\\ - instance and the inventory of the queried instance types in the zone in which the instance resides. // // http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification // // &RegionId=cn-hangzhou // // &ResourceId=i-bp67acfmxazb4p**** // // &DestinationResource=InstanceType // // &OperationType=Upgrade // // & // // ### [](#-2)Example 2: Query the instance types to which you can change the instance type of an instance after a system disk category change. // // Query the instance types to which you can change the instance type of the i-bp67acfmxazb4p\\*\\*\\*\\ - instance after a system disk category change and the inventory of the queried instance types in the zone in which the instance resides. // // http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification // // &RegionId=cn-hangzhou // // &ResourceId=i-bp67acfmxazb4p**** // // &DestinationResource=InstanceType // // &OperationType=Upgrade // // &Conditions.0=DiskCategory // // & // // ### [](#-3)Example 3: Query the system disk categories supported by the instance type to which you want to change the instance type of an instance. // // Query the system disk categories supported by the instance type to which you want to change the instance type of the i-bp67acfmxazb4p\\*\\*\\*\\ - instance and the inventory of the disk categories in the zone in which the instance resides. In this example, the ecs.g7.large instance type is used. To change to the instance type, you must change the system disk category of the instance to a category supported by the instance type. // // > You can call this operation as described in Example 2 to query the instance types to which you can change the instance type of an instance. // // http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification // // &RegionId=cn-hangzhou // // &ResourceId=i-bp67acfmxazb4p**** // // &DestinationResource=SystemDisk // // &OperationType=Upgrade // // &InstanceType=ecs.g7.large // // & // // @param request - DescribeResourcesModificationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeResourcesModificationResponse func (client *Client) DescribeResourcesModificationWithOptions(request *DescribeResourcesModificationRequest, runtime *dara.RuntimeOptions) (_result *DescribeResourcesModificationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Conditions) { query["Conditions"] = request.Conditions } if !dara.IsNil(request.Cores) { query["Cores"] = request.Cores } if !dara.IsNil(request.DestinationResource) { query["DestinationResource"] = request.DestinationResource } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.Memory) { query["Memory"] = request.Memory } if !dara.IsNil(request.MigrateAcrossZone) { query["MigrateAcrossZone"] = request.MigrateAcrossZone } if !dara.IsNil(request.OperationType) { query["OperationType"] = request.OperationType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeResourcesModification"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeResourcesModificationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries available instance types or system disk categories in a specific zone before you change the instance type or system disk category of an Elastic Compute Service (ECS) instance. // // Description: // // Examples of common scenarios in which this operation is used: // // ### [](#-1)Example 1: Query the instance types to which you can change the instance type of an instance. // // Query the instance types to which you can change the instance type of the i-bp67acfmxazb4p\\*\\*\\*\\ - instance and the inventory of the queried instance types in the zone in which the instance resides. // // http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification // // &RegionId=cn-hangzhou // // &ResourceId=i-bp67acfmxazb4p**** // // &DestinationResource=InstanceType // // &OperationType=Upgrade // // & // // ### [](#-2)Example 2: Query the instance types to which you can change the instance type of an instance after a system disk category change. // // Query the instance types to which you can change the instance type of the i-bp67acfmxazb4p\\*\\*\\*\\ - instance after a system disk category change and the inventory of the queried instance types in the zone in which the instance resides. // // http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification // // &RegionId=cn-hangzhou // // &ResourceId=i-bp67acfmxazb4p**** // // &DestinationResource=InstanceType // // &OperationType=Upgrade // // &Conditions.0=DiskCategory // // & // // ### [](#-3)Example 3: Query the system disk categories supported by the instance type to which you want to change the instance type of an instance. // // Query the system disk categories supported by the instance type to which you want to change the instance type of the i-bp67acfmxazb4p\\*\\*\\*\\ - instance and the inventory of the disk categories in the zone in which the instance resides. In this example, the ecs.g7.large instance type is used. To change to the instance type, you must change the system disk category of the instance to a category supported by the instance type. // // > You can call this operation as described in Example 2 to query the instance types to which you can change the instance type of an instance. // // http(s)://ecs.aliyuncs.com/?Action=DescribeResourcesModification // // &RegionId=cn-hangzhou // // &ResourceId=i-bp67acfmxazb4p**** // // &DestinationResource=SystemDisk // // &OperationType=Upgrade // // &InstanceType=ecs.g7.large // // & // // @param request - DescribeResourcesModificationRequest // // @return DescribeResourcesModificationResponse func (client *Client) DescribeResourcesModification(request *DescribeResourcesModificationRequest) (_result *DescribeResourcesModificationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeResourcesModificationResponse{} _body, _err := client.DescribeResourcesModificationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeRouteTables is deprecated, please use Vpc::2016-04-28::DescribeRouteTableList instead. // // Summary: // // 查询路由表信息列表 // // @param request - DescribeRouteTablesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeRouteTablesResponse func (client *Client) DescribeRouteTablesWithOptions(request *DescribeRouteTablesRequest, runtime *dara.RuntimeOptions) (_result *DescribeRouteTablesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouteTableId) { query["RouteTableId"] = request.RouteTableId } if !dara.IsNil(request.RouteTableName) { query["RouteTableName"] = request.RouteTableName } if !dara.IsNil(request.RouterId) { query["RouterId"] = request.RouterId } if !dara.IsNil(request.RouterType) { query["RouterType"] = request.RouterType } if !dara.IsNil(request.VRouterId) { query["VRouterId"] = request.VRouterId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeRouteTables"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeRouteTablesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeRouteTables is deprecated, please use Vpc::2016-04-28::DescribeRouteTableList instead. // // Summary: // // 查询路由表信息列表 // // @param request - DescribeRouteTablesRequest // // @return DescribeRouteTablesResponse // Deprecated func (client *Client) DescribeRouteTables(request *DescribeRouteTablesRequest) (_result *DescribeRouteTablesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeRouteTablesResponse{} _body, _err := client.DescribeRouteTablesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeRouterInterfaces is deprecated, please use Vpc::2016-04-28::DescribeRouterInterfaces instead. // // Summary: // // # DescribeRouterInterfaces // // @param request - DescribeRouterInterfacesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeRouterInterfacesResponse func (client *Client) DescribeRouterInterfacesWithOptions(request *DescribeRouterInterfacesRequest, runtime *dara.RuntimeOptions) (_result *DescribeRouterInterfacesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeRouterInterfaces"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeRouterInterfacesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeRouterInterfaces is deprecated, please use Vpc::2016-04-28::DescribeRouterInterfaces instead. // // Summary: // // # DescribeRouterInterfaces // // @param request - DescribeRouterInterfacesRequest // // @return DescribeRouterInterfacesResponse // Deprecated func (client *Client) DescribeRouterInterfaces(request *DescribeRouterInterfacesRequest) (_result *DescribeRouterInterfacesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeRouterInterfacesResponse{} _body, _err := client.DescribeRouterInterfacesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 节省计划测算 // // @param request - DescribeSavingsPlanEstimationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSavingsPlanEstimationResponse func (client *Client) DescribeSavingsPlanEstimationWithOptions(request *DescribeSavingsPlanEstimationRequest, runtime *dara.RuntimeOptions) (_result *DescribeSavingsPlanEstimationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EstimationResource) { query["EstimationResource"] = request.EstimationResource } if !dara.IsNil(request.InstanceTypeScope) { query["InstanceTypeScope"] = request.InstanceTypeScope } if !dara.IsNil(request.OfferingType) { query["OfferingType"] = request.OfferingType } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.PlanType) { query["PlanType"] = request.PlanType } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSavingsPlanEstimation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSavingsPlanEstimationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 节省计划测算 // // @param request - DescribeSavingsPlanEstimationRequest // // @return DescribeSavingsPlanEstimationResponse func (client *Client) DescribeSavingsPlanEstimation(request *DescribeSavingsPlanEstimationRequest) (_result *DescribeSavingsPlanEstimationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSavingsPlanEstimationResponse{} _body, _err := client.DescribeSavingsPlanEstimationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 询价购买节省计划并预付费换购按量付费 // // @param request - DescribeSavingsPlanPriceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSavingsPlanPriceResponse func (client *Client) DescribeSavingsPlanPriceWithOptions(request *DescribeSavingsPlanPriceRequest, runtime *dara.RuntimeOptions) (_result *DescribeSavingsPlanPriceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CommittedAmount) { query["CommittedAmount"] = request.CommittedAmount } if !dara.IsNil(request.InstanceTypeFamily) { query["InstanceTypeFamily"] = request.InstanceTypeFamily } if !dara.IsNil(request.InstanceTypeFamilyGroup) { query["InstanceTypeFamilyGroup"] = request.InstanceTypeFamilyGroup } if !dara.IsNil(request.OfferingType) { query["OfferingType"] = request.OfferingType } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.PlanType) { query["PlanType"] = request.PlanType } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSavingsPlanPrice"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSavingsPlanPriceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 询价购买节省计划并预付费换购按量付费 // // @param request - DescribeSavingsPlanPriceRequest // // @return DescribeSavingsPlanPriceResponse func (client *Client) DescribeSavingsPlanPrice(request *DescribeSavingsPlanPriceRequest) (_result *DescribeSavingsPlanPriceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSavingsPlanPriceResponse{} _body, _err := client.DescribeSavingsPlanPriceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of a specified security group and the security group rules of the security group. // // @param request - DescribeSecurityGroupAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSecurityGroupAttributeResponse func (client *Client) DescribeSecurityGroupAttributeWithOptions(request *DescribeSecurityGroupAttributeRequest, runtime *dara.RuntimeOptions) (_result *DescribeSecurityGroupAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Attribute) { query["Attribute"] = request.Attribute } if !dara.IsNil(request.Direction) { query["Direction"] = request.Direction } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.NicType) { query["NicType"] = request.NicType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSecurityGroupAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSecurityGroupAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of a specified security group and the security group rules of the security group. // // @param request - DescribeSecurityGroupAttributeRequest // // @return DescribeSecurityGroupAttributeResponse func (client *Client) DescribeSecurityGroupAttribute(request *DescribeSecurityGroupAttributeRequest) (_result *DescribeSecurityGroupAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSecurityGroupAttributeResponse{} _body, _err := client.DescribeSecurityGroupAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the security groups whose rules reference security groups as authorization objects. // // Description: // // If you cannot delete a security group by calling the [DeleteSecurityGroup](https://help.aliyun.com/document_detail/25558.html) operation, call the DescribeSecurityGroupReferences operation to check whether the security group is referenced by the rules of other security groups. If the security group is referenced by the rules of other security groups, you must call the [RevokeSecurityGroup](https://help.aliyun.com/document_detail/2679855.html) and [RevokeSecurityGroupEgress](https://help.aliyun.com/document_detail/2679856.html) operations to remove the references before you can delete the security group. // // @param request - DescribeSecurityGroupReferencesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSecurityGroupReferencesResponse func (client *Client) DescribeSecurityGroupReferencesWithOptions(request *DescribeSecurityGroupReferencesRequest, runtime *dara.RuntimeOptions) (_result *DescribeSecurityGroupReferencesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSecurityGroupReferences"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSecurityGroupReferencesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the security groups whose rules reference security groups as authorization objects. // // Description: // // If you cannot delete a security group by calling the [DeleteSecurityGroup](https://help.aliyun.com/document_detail/25558.html) operation, call the DescribeSecurityGroupReferences operation to check whether the security group is referenced by the rules of other security groups. If the security group is referenced by the rules of other security groups, you must call the [RevokeSecurityGroup](https://help.aliyun.com/document_detail/2679855.html) and [RevokeSecurityGroupEgress](https://help.aliyun.com/document_detail/2679856.html) operations to remove the references before you can delete the security group. // // @param request - DescribeSecurityGroupReferencesRequest // // @return DescribeSecurityGroupReferencesResponse func (client *Client) DescribeSecurityGroupReferences(request *DescribeSecurityGroupReferencesRequest) (_result *DescribeSecurityGroupReferencesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSecurityGroupReferencesResponse{} _body, _err := client.DescribeSecurityGroupReferencesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the basic information of security groups. You can query the information by various filter conditions, such as the region ID, security group ID, and security group type. // // Description: // // **Paged query**: We recommend that you specify `MaxResults` and `NextToken`. // // - If the response does not include `NextToken`, the current page of results is the last page and no more results are to be returned. // // - During a paged query, when you call the DescribeSecurityGroups operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. // // - When you call the DescribeSecurityGroups operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // - When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // @param request - DescribeSecurityGroupsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSecurityGroupsResponse func (client *Client) DescribeSecurityGroupsWithOptions(request *DescribeSecurityGroupsRequest, runtime *dara.RuntimeOptions) (_result *DescribeSecurityGroupsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.FuzzyQuery) { query["FuzzyQuery"] = request.FuzzyQuery } if !dara.IsNil(request.IsQueryEcsCount) { query["IsQueryEcsCount"] = request.IsQueryEcsCount } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NetworkType) { query["NetworkType"] = request.NetworkType } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupIds) { query["SecurityGroupIds"] = request.SecurityGroupIds } if !dara.IsNil(request.SecurityGroupName) { query["SecurityGroupName"] = request.SecurityGroupName } if !dara.IsNil(request.SecurityGroupType) { query["SecurityGroupType"] = request.SecurityGroupType } if !dara.IsNil(request.ServiceManaged) { query["ServiceManaged"] = request.ServiceManaged } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSecurityGroups"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSecurityGroupsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the basic information of security groups. You can query the information by various filter conditions, such as the region ID, security group ID, and security group type. // // Description: // // **Paged query**: We recommend that you specify `MaxResults` and `NextToken`. // // - If the response does not include `NextToken`, the current page of results is the last page and no more results are to be returned. // // - During a paged query, when you call the DescribeSecurityGroups operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. // // - When you call the DescribeSecurityGroups operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // - When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // @param request - DescribeSecurityGroupsRequest // // @return DescribeSecurityGroupsResponse func (client *Client) DescribeSecurityGroups(request *DescribeSecurityGroupsRequest) (_result *DescribeSecurityGroupsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSecurityGroupsResponse{} _body, _err := client.DescribeSecurityGroupsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the files sent by Cloud Assistant and their status. // // Description: // // ## [](#)Usage notes // // - When you send a file, the file may fail to be sent to specific Elastic Compute Service (ECS) instances. You can call this operation to check the file sending results. // // - You can call this operation to query the file sending records within the last six weeks. // // - During a paged query, when you call the DescribeSendFileResults operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeSendFileResults operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeSendFileResultsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSendFileResultsResponse func (client *Client) DescribeSendFileResultsWithOptions(request *DescribeSendFileResultsRequest, runtime *dara.RuntimeOptions) (_result *DescribeSendFileResultsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InvocationStatus) { query["InvocationStatus"] = request.InvocationStatus } if !dara.IsNil(request.InvokeId) { query["InvokeId"] = request.InvokeId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSendFileResults"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSendFileResultsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the files sent by Cloud Assistant and their status. // // Description: // // ## [](#)Usage notes // // - When you send a file, the file may fail to be sent to specific Elastic Compute Service (ECS) instances. You can call this operation to check the file sending results. // // - You can call this operation to query the file sending records within the last six weeks. // // - During a paged query, when you call the DescribeSendFileResults operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeSendFileResults operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - DescribeSendFileResultsRequest // // @return DescribeSendFileResultsResponse func (client *Client) DescribeSendFileResults(request *DescribeSendFileResultsRequest) (_result *DescribeSendFileResultsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSendFileResultsResponse{} _body, _err := client.DescribeSendFileResultsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the information of one or more snapshot-consistent groups, such as the status of the groups, IDs of the instances associated with the groups, and snapshot creation progress. // // Description: // // You can specify multiple request parameters to be queried, such as `InstanceId`, `SnapshotGroupId.N`, and `Status.N`. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. // // @param request - DescribeSnapshotGroupsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSnapshotGroupsResponse func (client *Client) DescribeSnapshotGroupsWithOptions(request *DescribeSnapshotGroupsRequest, runtime *dara.RuntimeOptions) (_result *DescribeSnapshotGroupsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AdditionalAttributes) { query["AdditionalAttributes"] = request.AdditionalAttributes } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotGroupId) { query["SnapshotGroupId"] = request.SnapshotGroupId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSnapshotGroups"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSnapshotGroupsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the information of one or more snapshot-consistent groups, such as the status of the groups, IDs of the instances associated with the groups, and snapshot creation progress. // // Description: // // You can specify multiple request parameters to be queried, such as `InstanceId`, `SnapshotGroupId.N`, and `Status.N`. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. // // @param request - DescribeSnapshotGroupsRequest // // @return DescribeSnapshotGroupsResponse func (client *Client) DescribeSnapshotGroups(request *DescribeSnapshotGroupsRequest) (_result *DescribeSnapshotGroupsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSnapshotGroupsResponse{} _body, _err := client.DescribeSnapshotGroupsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the snapshot chains of cloud disks. A snapshot chain is a chain of all the snapshots created for a disk. A disk corresponds to a chain of snapshots. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - You can specify multiple request parameters, such as `RegionId`, `DiskIds`, and `InstanceId`, to query snapshot chains. Specified parameters have logical AND relations. // // - Only the specified parameters are used as filter conditions. If the `DiskIds` and `SnapshotLinkIds` parameters are set to empty JSON arrays, the values are considered as valid filter conditions. In this case, an empty result is returned. // // @param request - DescribeSnapshotLinksRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSnapshotLinksResponse func (client *Client) DescribeSnapshotLinksWithOptions(request *DescribeSnapshotLinksRequest, runtime *dara.RuntimeOptions) (_result *DescribeSnapshotLinksResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DiskIds) { query["DiskIds"] = request.DiskIds } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotLinkIds) { query["SnapshotLinkIds"] = request.SnapshotLinkIds } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSnapshotLinks"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSnapshotLinksResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the snapshot chains of cloud disks. A snapshot chain is a chain of all the snapshots created for a disk. A disk corresponds to a chain of snapshots. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - You can specify multiple request parameters, such as `RegionId`, `DiskIds`, and `InstanceId`, to query snapshot chains. Specified parameters have logical AND relations. // // - Only the specified parameters are used as filter conditions. If the `DiskIds` and `SnapshotLinkIds` parameters are set to empty JSON arrays, the values are considered as valid filter conditions. In this case, an empty result is returned. // // @param request - DescribeSnapshotLinksRequest // // @return DescribeSnapshotLinksResponse func (client *Client) DescribeSnapshotLinks(request *DescribeSnapshotLinksRequest) (_result *DescribeSnapshotLinksResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSnapshotLinksResponse{} _body, _err := client.DescribeSnapshotLinksWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the monitoring data of snapshot sizes in a region within the last 30 days. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data of snapshot sizes in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // @param request - DescribeSnapshotMonitorDataRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSnapshotMonitorDataResponse func (client *Client) DescribeSnapshotMonitorDataWithOptions(request *DescribeSnapshotMonitorDataRequest, runtime *dara.RuntimeOptions) (_result *DescribeSnapshotMonitorDataResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Category) { query["Category"] = request.Category } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSnapshotMonitorData"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSnapshotMonitorDataResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the monitoring data of snapshot sizes in a region within the last 30 days. // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. // // - You can query the monitoring data of snapshot sizes in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. // // @param request - DescribeSnapshotMonitorDataRequest // // @return DescribeSnapshotMonitorDataResponse func (client *Client) DescribeSnapshotMonitorData(request *DescribeSnapshotMonitorDataRequest) (_result *DescribeSnapshotMonitorDataResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSnapshotMonitorDataResponse{} _body, _err := client.DescribeSnapshotMonitorDataWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the Object Storage Service (OSS) storage plans that you purchased in an Alibaba Cloud region. OSS storage plans can be used to offset the storage fees for standard snapshots instead of local snapshots. // // @param request - DescribeSnapshotPackageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSnapshotPackageResponse func (client *Client) DescribeSnapshotPackageWithOptions(request *DescribeSnapshotPackageRequest, runtime *dara.RuntimeOptions) (_result *DescribeSnapshotPackageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSnapshotPackage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSnapshotPackageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the Object Storage Service (OSS) storage plans that you purchased in an Alibaba Cloud region. OSS storage plans can be used to offset the storage fees for standard snapshots instead of local snapshots. // // @param request - DescribeSnapshotPackageRequest // // @return DescribeSnapshotPackageResponse func (client *Client) DescribeSnapshotPackage(request *DescribeSnapshotPackageRequest) (_result *DescribeSnapshotPackageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSnapshotPackageResponse{} _body, _err := client.DescribeSnapshotPackageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of cloud disk snapshots. The details include the status of the snapshots, the amount of remaining time required to create the snapshots, and the retention period of the automatic snapshots in days. // // Description: // // You can specify multiple request parameters, such as `InstanceId`, `DiskId`, and `SnapshotIds`, to query snapshots. The specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. // // When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // Sample requests: // // **Query the snapshots of all cloud disks attached to an Elastic Compute Service (ECS) instance in the China (Hangzhou) region** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.InstanceId: i-bp1fh7by6d9mw7zr*** - // Specify the ID of the instance that you want to query. // // **Query the snapshots of a specific cloud disk in the China (Hangzhou) region** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.DiskId: d-bp10e7ej8z743dmu*** - // Specify the ID of the cloud disk that you want to query. // // **Query information about two snapshots in the China (Hangzhou) region by snapshot ID** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.SnapshotIds: ["d-bp10e7ej8z743dmu****", "s-bp19vd1lorzgzt2s****"] // Specify the IDs of the snapshots that you want to query. // // **Query snapshots created after a specific point in time in the China (Hangzhou) region** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.Filter.1.Key: CreationStartTime, // Specify a point in time to query snapshots that were created after the specified point in time.Filter.1.Value: 2024-11-27T00:00Z // // @param request - DescribeSnapshotsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSnapshotsResponse func (client *Client) DescribeSnapshotsWithOptions(request *DescribeSnapshotsRequest, runtime *dara.RuntimeOptions) (_result *DescribeSnapshotsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Category) { query["Category"] = request.Category } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Encrypted) { query["Encrypted"] = request.Encrypted } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.KMSKeyId) { query["KMSKeyId"] = request.KMSKeyId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotIds) { query["SnapshotIds"] = request.SnapshotIds } if !dara.IsNil(request.SnapshotLinkId) { query["SnapshotLinkId"] = request.SnapshotLinkId } if !dara.IsNil(request.SnapshotName) { query["SnapshotName"] = request.SnapshotName } if !dara.IsNil(request.SnapshotType) { query["SnapshotType"] = request.SnapshotType } if !dara.IsNil(request.SourceDiskType) { query["SourceDiskType"] = request.SourceDiskType } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Usage) { query["Usage"] = request.Usage } if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSnapshots"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSnapshotsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of cloud disk snapshots. The details include the status of the snapshots, the amount of remaining time required to create the snapshots, and the retention period of the automatic snapshots in days. // // Description: // // You can specify multiple request parameters, such as `InstanceId`, `DiskId`, and `SnapshotIds`, to query snapshots. The specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. // // When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter formats](https://help.aliyun.com/document_detail/110340.html). // // Sample requests: // // **Query the snapshots of all cloud disks attached to an Elastic Compute Service (ECS) instance in the China (Hangzhou) region** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.InstanceId: i-bp1fh7by6d9mw7zr*** - // Specify the ID of the instance that you want to query. // // **Query the snapshots of a specific cloud disk in the China (Hangzhou) region** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.DiskId: d-bp10e7ej8z743dmu*** - // Specify the ID of the cloud disk that you want to query. // // **Query information about two snapshots in the China (Hangzhou) region by snapshot ID** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.SnapshotIds: ["d-bp10e7ej8z743dmu****", "s-bp19vd1lorzgzt2s****"] // Specify the IDs of the snapshots that you want to query. // // **Query snapshots created after a specific point in time in the China (Hangzhou) region** // // RegionId: cn-hangzhou, // Specify the China (Hangzhou) region.Filter.1.Key: CreationStartTime, // Specify a point in time to query snapshots that were created after the specified point in time.Filter.1.Value: 2024-11-27T00:00Z // // @param request - DescribeSnapshotsRequest // // @return DescribeSnapshotsResponse func (client *Client) DescribeSnapshots(request *DescribeSnapshotsRequest) (_result *DescribeSnapshotsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSnapshotsResponse{} _body, _err := client.DescribeSnapshotsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the number of snapshots that are stored in a region and the total size of the snapshots. // // Description: // // ## [](#)Usage notes // // If you want to view the snapshot usage of each disk in the current region, we recommend that you call the [DescribeSnapshotLinks](https://help.aliyun.com/document_detail/55837.html) operation to query snapshot chain information. // // @param request - DescribeSnapshotsUsageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSnapshotsUsageResponse func (client *Client) DescribeSnapshotsUsageWithOptions(request *DescribeSnapshotsUsageRequest, runtime *dara.RuntimeOptions) (_result *DescribeSnapshotsUsageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSnapshotsUsage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSnapshotsUsageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the number of snapshots that are stored in a region and the total size of the snapshots. // // Description: // // ## [](#)Usage notes // // If you want to view the snapshot usage of each disk in the current region, we recommend that you call the [DescribeSnapshotLinks](https://help.aliyun.com/document_detail/55837.html) operation to query snapshot chain information. // // @param request - DescribeSnapshotsUsageRequest // // @return DescribeSnapshotsUsageResponse func (client *Client) DescribeSnapshotsUsage(request *DescribeSnapshotsUsageRequest) (_result *DescribeSnapshotsUsageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSnapshotsUsageResponse{} _body, _err := client.DescribeSnapshotsUsageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries information about spot instances in a region in the previous 30 days. The information includes the average release rate of spot instances and the percentage of the average spot instance price relative to the pay-as-you-go instance price. // // Description: // // This operation is applicable only to I/O optimized spot instances that reside in virtual private clouds (VPCs). // // - You can use one of the following methods to call this operation: // // - Specify `Cores` and `Memory` or `MinCores` and `MinMemory` to query information about the instance types that meet the specified vCPU and memory requirements. // // - Specify `InstanceTypes.N` to query information about the specified instance types. // // - Specify `Cores` and `Memory` or `MinCores` and `MinMemory`, and then specify `InstanceTypeFamily` or `InstanceFamilyLevel` to query information about the instance types that meet the specified vCPU and memory requirements within the specified instance family or at a specified instance family level. // // - You can calculate the average price of spot instances based on the percentage of the average spot instance price relative to the pay-as-you-go instance price and the pay-as-you-go instance price. // // @param request - DescribeSpotAdviceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSpotAdviceResponse func (client *Client) DescribeSpotAdviceWithOptions(request *DescribeSpotAdviceRequest, runtime *dara.RuntimeOptions) (_result *DescribeSpotAdviceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Cores) { query["Cores"] = request.Cores } if !dara.IsNil(request.GpuAmount) { query["GpuAmount"] = request.GpuAmount } if !dara.IsNil(request.GpuSpec) { query["GpuSpec"] = request.GpuSpec } if !dara.IsNil(request.InstanceFamilyLevel) { query["InstanceFamilyLevel"] = request.InstanceFamilyLevel } if !dara.IsNil(request.InstanceTypeFamily) { query["InstanceTypeFamily"] = request.InstanceTypeFamily } if !dara.IsNil(request.InstanceTypes) { query["InstanceTypes"] = request.InstanceTypes } if !dara.IsNil(request.Memory) { query["Memory"] = request.Memory } if !dara.IsNil(request.MinCores) { query["MinCores"] = request.MinCores } if !dara.IsNil(request.MinMemory) { query["MinMemory"] = request.MinMemory } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSpotAdvice"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSpotAdviceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries information about spot instances in a region in the previous 30 days. The information includes the average release rate of spot instances and the percentage of the average spot instance price relative to the pay-as-you-go instance price. // // Description: // // This operation is applicable only to I/O optimized spot instances that reside in virtual private clouds (VPCs). // // - You can use one of the following methods to call this operation: // // - Specify `Cores` and `Memory` or `MinCores` and `MinMemory` to query information about the instance types that meet the specified vCPU and memory requirements. // // - Specify `InstanceTypes.N` to query information about the specified instance types. // // - Specify `Cores` and `Memory` or `MinCores` and `MinMemory`, and then specify `InstanceTypeFamily` or `InstanceFamilyLevel` to query information about the instance types that meet the specified vCPU and memory requirements within the specified instance family or at a specified instance family level. // // - You can calculate the average price of spot instances based on the percentage of the average spot instance price relative to the pay-as-you-go instance price and the pay-as-you-go instance price. // // @param request - DescribeSpotAdviceRequest // // @return DescribeSpotAdviceResponse func (client *Client) DescribeSpotAdvice(request *DescribeSpotAdviceRequest) (_result *DescribeSpotAdviceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSpotAdviceResponse{} _body, _err := client.DescribeSpotAdviceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the historical prices of spot instances within up to the previous 30 days. You can set the maximum price of a spot instance based on the historical prices. // // Description: // // This operation is applicable only to I/O optimized spot instances. // // - The data returned by the interface may be paginated. If the returned data contains the `NextOffset` parameter, you can set the `Offset` parameter in the request to the value of the `NextOffset` parameter for subsequent data query. // // @param request - DescribeSpotPriceHistoryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeSpotPriceHistoryResponse func (client *Client) DescribeSpotPriceHistoryWithOptions(request *DescribeSpotPriceHistoryRequest, runtime *dara.RuntimeOptions) (_result *DescribeSpotPriceHistoryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.NetworkType) { query["NetworkType"] = request.NetworkType } if !dara.IsNil(request.OSType) { query["OSType"] = request.OSType } if !dara.IsNil(request.Offset) { query["Offset"] = request.Offset } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SpotDuration) { query["SpotDuration"] = request.SpotDuration } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeSpotPriceHistory"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeSpotPriceHistoryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the historical prices of spot instances within up to the previous 30 days. You can set the maximum price of a spot instance based on the historical prices. // // Description: // // This operation is applicable only to I/O optimized spot instances. // // - The data returned by the interface may be paginated. If the returned data contains the `NextOffset` parameter, you can set the `Offset` parameter in the request to the value of the `NextOffset` parameter for subsequent data query. // // @param request - DescribeSpotPriceHistoryRequest // // @return DescribeSpotPriceHistoryResponse func (client *Client) DescribeSpotPriceHistory(request *DescribeSpotPriceHistoryRequest) (_result *DescribeSpotPriceHistoryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeSpotPriceHistoryResponse{} _body, _err := client.DescribeSpotPriceHistoryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of storage capacity units (SCUs). In the request, you can specify the name, status, or capacity of each SCU. // // @param request - DescribeStorageCapacityUnitsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeStorageCapacityUnitsResponse func (client *Client) DescribeStorageCapacityUnitsWithOptions(request *DescribeStorageCapacityUnitsRequest, runtime *dara.RuntimeOptions) (_result *DescribeStorageCapacityUnitsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationType) { query["AllocationType"] = request.AllocationType } if !dara.IsNil(request.Capacity) { query["Capacity"] = request.Capacity } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } if !dara.IsNil(request.StorageCapacityUnitId) { query["StorageCapacityUnitId"] = request.StorageCapacityUnitId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeStorageCapacityUnits"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeStorageCapacityUnitsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of storage capacity units (SCUs). In the request, you can specify the name, status, or capacity of each SCU. // // @param request - DescribeStorageCapacityUnitsRequest // // @return DescribeStorageCapacityUnitsResponse func (client *Client) DescribeStorageCapacityUnits(request *DescribeStorageCapacityUnitsRequest) (_result *DescribeStorageCapacityUnitsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeStorageCapacityUnitsResponse{} _body, _err := client.DescribeStorageCapacityUnitsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of the disks or Shared Block Storage devices in a storage set. // // @param request - DescribeStorageSetDetailsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeStorageSetDetailsResponse func (client *Client) DescribeStorageSetDetailsWithOptions(request *DescribeStorageSetDetailsRequest, runtime *dara.RuntimeOptions) (_result *DescribeStorageSetDetailsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DiskIds) { query["DiskIds"] = request.DiskIds } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageSetId) { query["StorageSetId"] = request.StorageSetId } if !dara.IsNil(request.StorageSetPartitionNumber) { query["StorageSetPartitionNumber"] = request.StorageSetPartitionNumber } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeStorageSetDetails"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeStorageSetDetailsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of the disks or Shared Block Storage devices in a storage set. // // @param request - DescribeStorageSetDetailsRequest // // @return DescribeStorageSetDetailsResponse func (client *Client) DescribeStorageSetDetails(request *DescribeStorageSetDetailsRequest) (_result *DescribeStorageSetDetailsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeStorageSetDetailsResponse{} _body, _err := client.DescribeStorageSetDetailsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Describes the details of storage sets in a specific region. The details of a storage set include its region, zone, creation time, and maximum number of partitions. // // @param request - DescribeStorageSetsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeStorageSetsResponse func (client *Client) DescribeStorageSetsWithOptions(request *DescribeStorageSetsRequest, runtime *dara.RuntimeOptions) (_result *DescribeStorageSetsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageSetIds) { query["StorageSetIds"] = request.StorageSetIds } if !dara.IsNil(request.StorageSetName) { query["StorageSetName"] = request.StorageSetName } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeStorageSets"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeStorageSetsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Describes the details of storage sets in a specific region. The details of a storage set include its region, zone, creation time, and maximum number of partitions. // // @param request - DescribeStorageSetsRequest // // @return DescribeStorageSetsResponse func (client *Client) DescribeStorageSets(request *DescribeStorageSetsRequest) (_result *DescribeStorageSetsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeStorageSetsResponse{} _body, _err := client.DescribeStorageSetsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeTags is deprecated, please use Tag::2018-08-28::CountResourcesByTags instead. // // Summary: // // Queries the available tags. You can specify multiple filter conditions, such as a resource type, a resource ID, a tag key, and a tag value, to query tags. The specified filter conditions have logical AND relations. // // Description: // // If a tag key that has no tag value is specified, all tags that contain the tag key are returned. If a tag key-value pair is specified, only tags that exactly match the key-value pair are returned. // // @param request - DescribeTagsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeTagsResponse func (client *Client) DescribeTagsWithOptions(request *DescribeTagsRequest, runtime *dara.RuntimeOptions) (_result *DescribeTagsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Category) { query["Category"] = request.Category } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeTags"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeTagsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeTags is deprecated, please use Tag::2018-08-28::CountResourcesByTags instead. // // Summary: // // Queries the available tags. You can specify multiple filter conditions, such as a resource type, a resource ID, a tag key, and a tag value, to query tags. The specified filter conditions have logical AND relations. // // Description: // // If a tag key that has no tag value is specified, all tags that contain the tag key are returned. If a tag key-value pair is specified, only tags that exactly match the key-value pair are returned. // // @param request - DescribeTagsRequest // // @return DescribeTagsResponse // Deprecated func (client *Client) DescribeTags(request *DescribeTagsRequest) (_result *DescribeTagsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeTagsResponse{} _body, _err := client.DescribeTagsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the details of an asynchronous task. The asynchronous tasks that you can query by calling this operation are the tasks generated by the ImportImage, ExportImage, and ModifyDiskSpec operations. // // @param request - DescribeTaskAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeTaskAttributeResponse func (client *Client) DescribeTaskAttributeWithOptions(request *DescribeTaskAttributeRequest, runtime *dara.RuntimeOptions) (_result *DescribeTaskAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TaskId) { query["TaskId"] = request.TaskId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeTaskAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeTaskAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the details of an asynchronous task. The asynchronous tasks that you can query by calling this operation are the tasks generated by the ImportImage, ExportImage, and ModifyDiskSpec operations. // // @param request - DescribeTaskAttributeRequest // // @return DescribeTaskAttributeResponse func (client *Client) DescribeTaskAttribute(request *DescribeTaskAttributeRequest) (_result *DescribeTaskAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeTaskAttributeResponse{} _body, _err := client.DescribeTaskAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the progress of one or more asynchronous tasks. // // Description: // // ## Debugging // // [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeTasks\\&type=RPC\\&version=2014-05-26) // // @param request - DescribeTasksRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeTasksResponse func (client *Client) DescribeTasksWithOptions(request *DescribeTasksRequest, runtime *dara.RuntimeOptions) (_result *DescribeTasksResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceIds) { query["ResourceIds"] = request.ResourceIds } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.TaskAction) { query["TaskAction"] = request.TaskAction } if !dara.IsNil(request.TaskGroupId) { query["TaskGroupId"] = request.TaskGroupId } if !dara.IsNil(request.TaskIds) { query["TaskIds"] = request.TaskIds } if !dara.IsNil(request.TaskStatus) { query["TaskStatus"] = request.TaskStatus } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeTasks"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeTasksResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the progress of one or more asynchronous tasks. // // Description: // // ## Debugging // // [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeTasks\\&type=RPC\\&version=2014-05-26) // // @param request - DescribeTasksRequest // // @return DescribeTasksResponse func (client *Client) DescribeTasks(request *DescribeTasksRequest) (_result *DescribeTasksResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeTasksResponse{} _body, _err := client.DescribeTasksWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the session records of Elastic Compute Service (ECS) Session Manager. // // Description: // // You can query the session records of Session Manager that were generated in the last four weeks. // // @param request - DescribeTerminalSessionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeTerminalSessionsResponse func (client *Client) DescribeTerminalSessionsWithOptions(request *DescribeTerminalSessionsRequest, runtime *dara.RuntimeOptions) (_result *DescribeTerminalSessionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SessionId) { query["SessionId"] = request.SessionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeTerminalSessions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeTerminalSessionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the session records of Elastic Compute Service (ECS) Session Manager. // // Description: // // You can query the session records of Session Manager that were generated in the last four weeks. // // @param request - DescribeTerminalSessionsRequest // // @return DescribeTerminalSessionsResponse func (client *Client) DescribeTerminalSessions(request *DescribeTerminalSessionsRequest) (_result *DescribeTerminalSessionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeTerminalSessionsResponse{} _body, _err := client.DescribeTerminalSessionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeUserBusinessBehavior is deprecated // // Summary: // // 获取用户级别默认属性 // // @param request - DescribeUserBusinessBehaviorRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeUserBusinessBehaviorResponse func (client *Client) DescribeUserBusinessBehaviorWithOptions(request *DescribeUserBusinessBehaviorRequest, runtime *dara.RuntimeOptions) (_result *DescribeUserBusinessBehaviorResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StatusKey) { query["statusKey"] = request.StatusKey } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeUserBusinessBehavior"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeUserBusinessBehaviorResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeUserBusinessBehavior is deprecated // // Summary: // // 获取用户级别默认属性 // // @param request - DescribeUserBusinessBehaviorRequest // // @return DescribeUserBusinessBehaviorResponse // Deprecated func (client *Client) DescribeUserBusinessBehavior(request *DescribeUserBusinessBehaviorRequest) (_result *DescribeUserBusinessBehaviorResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeUserBusinessBehaviorResponse{} _body, _err := client.DescribeUserBusinessBehaviorWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the user data of an Elastic Compute Service (ECS) instance. // // Description: // // If no user data is configured for the ECS instance, an empty string is returned. // // @param request - DescribeUserDataRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeUserDataResponse func (client *Client) DescribeUserDataWithOptions(request *DescribeUserDataRequest, runtime *dara.RuntimeOptions) (_result *DescribeUserDataResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeUserData"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeUserDataResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the user data of an Elastic Compute Service (ECS) instance. // // Description: // // If no user data is configured for the ECS instance, an empty string is returned. // // @param request - DescribeUserDataRequest // // @return DescribeUserDataResponse func (client *Client) DescribeUserData(request *DescribeUserDataRequest) (_result *DescribeUserDataResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeUserDataResponse{} _body, _err := client.DescribeUserDataWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeVRouters is deprecated, please use Vpc::2016-04-28::DescribeVRouters instead. // // Summary: // // 查询路由器列表 // // @param request - DescribeVRoutersRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeVRoutersResponse func (client *Client) DescribeVRoutersWithOptions(request *DescribeVRoutersRequest, runtime *dara.RuntimeOptions) (_result *DescribeVRoutersResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VRouterId) { query["VRouterId"] = request.VRouterId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeVRouters"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeVRoutersResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeVRouters is deprecated, please use Vpc::2016-04-28::DescribeVRouters instead. // // Summary: // // 查询路由器列表 // // @param request - DescribeVRoutersRequest // // @return DescribeVRoutersResponse // Deprecated func (client *Client) DescribeVRouters(request *DescribeVRoutersRequest) (_result *DescribeVRoutersResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeVRoutersResponse{} _body, _err := client.DescribeVRoutersWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeVSwitches is deprecated, please use Vpc::2016-04-28::DescribeVSwitches instead. // // Summary: // // # DescribeVSwitches // // @param request - DescribeVSwitchesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeVSwitchesResponse func (client *Client) DescribeVSwitchesWithOptions(request *DescribeVSwitchesRequest, runtime *dara.RuntimeOptions) (_result *DescribeVSwitchesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.IsDefault) { query["IsDefault"] = request.IsDefault } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeVSwitches"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeVSwitchesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeVSwitches is deprecated, please use Vpc::2016-04-28::DescribeVSwitches instead. // // Summary: // // # DescribeVSwitches // // @param request - DescribeVSwitchesRequest // // @return DescribeVSwitchesResponse // Deprecated func (client *Client) DescribeVSwitches(request *DescribeVSwitchesRequest) (_result *DescribeVSwitchesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeVSwitchesResponse{} _body, _err := client.DescribeVSwitchesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeVirtualBorderRouters is deprecated, please use Vpc::2016-04-28::DescribeVirtualBorderRouters instead. // // Summary: // // # DescribeVirtualBorderRouters // // @param request - DescribeVirtualBorderRoutersRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeVirtualBorderRoutersResponse func (client *Client) DescribeVirtualBorderRoutersWithOptions(request *DescribeVirtualBorderRoutersRequest, runtime *dara.RuntimeOptions) (_result *DescribeVirtualBorderRoutersResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeVirtualBorderRouters"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeVirtualBorderRoutersResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeVirtualBorderRouters is deprecated, please use Vpc::2016-04-28::DescribeVirtualBorderRouters instead. // // Summary: // // # DescribeVirtualBorderRouters // // @param request - DescribeVirtualBorderRoutersRequest // // @return DescribeVirtualBorderRoutersResponse // Deprecated func (client *Client) DescribeVirtualBorderRouters(request *DescribeVirtualBorderRoutersRequest) (_result *DescribeVirtualBorderRoutersResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeVirtualBorderRoutersResponse{} _body, _err := client.DescribeVirtualBorderRoutersWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeVirtualBorderRoutersForPhysicalConnection is deprecated, please use Vpc::2016-04-28::DescribeVirtualBorderRoutersForPhysicalConnection instead. // // Summary: // // # DescribeVirtualBorderRoutersForPhysicalConnection // // @param request - DescribeVirtualBorderRoutersForPhysicalConnectionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeVirtualBorderRoutersForPhysicalConnectionResponse func (client *Client) DescribeVirtualBorderRoutersForPhysicalConnectionWithOptions(request *DescribeVirtualBorderRoutersForPhysicalConnectionRequest, runtime *dara.RuntimeOptions) (_result *DescribeVirtualBorderRoutersForPhysicalConnectionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Filter) { query["Filter"] = request.Filter } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.PhysicalConnectionId) { query["PhysicalConnectionId"] = request.PhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeVirtualBorderRoutersForPhysicalConnection"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeVirtualBorderRoutersForPhysicalConnectionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeVirtualBorderRoutersForPhysicalConnection is deprecated, please use Vpc::2016-04-28::DescribeVirtualBorderRoutersForPhysicalConnection instead. // // Summary: // // # DescribeVirtualBorderRoutersForPhysicalConnection // // @param request - DescribeVirtualBorderRoutersForPhysicalConnectionRequest // // @return DescribeVirtualBorderRoutersForPhysicalConnectionResponse // Deprecated func (client *Client) DescribeVirtualBorderRoutersForPhysicalConnection(request *DescribeVirtualBorderRoutersForPhysicalConnectionRequest) (_result *DescribeVirtualBorderRoutersForPhysicalConnectionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeVirtualBorderRoutersForPhysicalConnectionResponse{} _body, _err := client.DescribeVirtualBorderRoutersForPhysicalConnectionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI DescribeVpcs is deprecated, please use Vpc::2016-04-28::DescribeVpcs instead. // // Summary: // // 查询VPC // // @param request - DescribeVpcsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeVpcsResponse func (client *Client) DescribeVpcsWithOptions(request *DescribeVpcsRequest, runtime *dara.RuntimeOptions) (_result *DescribeVpcsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.IsDefault) { query["IsDefault"] = request.IsDefault } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeVpcs"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeVpcsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI DescribeVpcs is deprecated, please use Vpc::2016-04-28::DescribeVpcs instead. // // Summary: // // 查询VPC // // @param request - DescribeVpcsRequest // // @return DescribeVpcsResponse // Deprecated func (client *Client) DescribeVpcs(request *DescribeVpcsRequest) (_result *DescribeVpcsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeVpcsResponse{} _body, _err := client.DescribeVpcsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries Alibaba Cloud regions. You can specify parameters, such as InstanceChargeType and ResourceType, in the request. // // Description: // // ## [](#)Usage notes // // When you call this operation, only a list of zones and some resource information of each zone are returned. If you want to query instance types and disk categories that are available for purchase in a specific zone, we recommend that you call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation. // // @param request - DescribeZonesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DescribeZonesResponse func (client *Client) DescribeZonesWithOptions(request *DescribeZonesRequest, runtime *dara.RuntimeOptions) (_result *DescribeZonesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AcceptLanguage) { query["AcceptLanguage"] = request.AcceptLanguage } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.Verbose) { query["Verbose"] = request.Verbose } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DescribeZones"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DescribeZonesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries Alibaba Cloud regions. You can specify parameters, such as InstanceChargeType and ResourceType, in the request. // // Description: // // ## [](#)Usage notes // // When you call this operation, only a list of zones and some resource information of each zone are returned. If you want to query instance types and disk categories that are available for purchase in a specific zone, we recommend that you call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation. // // @param request - DescribeZonesRequest // // @return DescribeZonesResponse func (client *Client) DescribeZones(request *DescribeZonesRequest) (_result *DescribeZonesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DescribeZonesResponse{} _body, _err := client.DescribeZonesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Unlinks an Elastic Compute Service (ECS) instance that resides in the classic network from a virtual private cloud (VPC) by closing the ClassicLink connection between the instance and the VPC. After the instance is unlinked from the VPC, the instance can no longer communicate with instances in the VPC. // // @param request - DetachClassicLinkVpcRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DetachClassicLinkVpcResponse func (client *Client) DetachClassicLinkVpcWithOptions(request *DetachClassicLinkVpcRequest, runtime *dara.RuntimeOptions) (_result *DetachClassicLinkVpcResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DetachClassicLinkVpc"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DetachClassicLinkVpcResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Unlinks an Elastic Compute Service (ECS) instance that resides in the classic network from a virtual private cloud (VPC) by closing the ClassicLink connection between the instance and the VPC. After the instance is unlinked from the VPC, the instance can no longer communicate with instances in the VPC. // // @param request - DetachClassicLinkVpcRequest // // @return DetachClassicLinkVpcResponse func (client *Client) DetachClassicLinkVpc(request *DetachClassicLinkVpcRequest) (_result *DetachClassicLinkVpcResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DetachClassicLinkVpcResponse{} _body, _err := client.DetachClassicLinkVpcWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Detaches a pay-as-you-go data disk or a system disk from an Elastic Compute Service (ECS) instance. // // Description: // // Take note of the following items: // // - This operation is an asynchronous operation. After you call the operation to detach a disk from an ECS instance, the disk is detached in approximately 1 minute. // // - If `OperationLocks` in the response contains `"LockReason" : "security"` when you query information about an instance, the instance is locked for security reasons and all operations are prohibited on the instance. // // - If you want to attach an elastic ephemeral disk that you detached from an instance, you can attach the disk only to the instance. // // @param request - DetachDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DetachDiskResponse func (client *Client) DetachDiskWithOptions(request *DetachDiskRequest, runtime *dara.RuntimeOptions) (_result *DetachDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DeleteWithInstance) { query["DeleteWithInstance"] = request.DeleteWithInstance } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DetachDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DetachDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Detaches a pay-as-you-go data disk or a system disk from an Elastic Compute Service (ECS) instance. // // Description: // // Take note of the following items: // // - This operation is an asynchronous operation. After you call the operation to detach a disk from an ECS instance, the disk is detached in approximately 1 minute. // // - If `OperationLocks` in the response contains `"LockReason" : "security"` when you query information about an instance, the instance is locked for security reasons and all operations are prohibited on the instance. // // - If you want to attach an elastic ephemeral disk that you detached from an instance, you can attach the disk only to the instance. // // @param request - DetachDiskRequest // // @return DetachDiskResponse func (client *Client) DetachDisk(request *DetachDiskRequest) (_result *DetachDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DetachDiskResponse{} _body, _err := client.DetachDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Detaches instance Resource Access Management (RAM) roles from Elastic Compute Service (ECS) instances. // // @param request - DetachInstanceRamRoleRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DetachInstanceRamRoleResponse func (client *Client) DetachInstanceRamRoleWithOptions(request *DetachInstanceRamRoleRequest, runtime *dara.RuntimeOptions) (_result *DetachInstanceRamRoleResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RamRoleName) { query["RamRoleName"] = request.RamRoleName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DetachInstanceRamRole"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DetachInstanceRamRoleResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Detaches instance Resource Access Management (RAM) roles from Elastic Compute Service (ECS) instances. // // @param request - DetachInstanceRamRoleRequest // // @return DetachInstanceRamRoleResponse func (client *Client) DetachInstanceRamRole(request *DetachInstanceRamRoleRequest) (_result *DetachInstanceRamRoleResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DetachInstanceRamRoleResponse{} _body, _err := client.DetachInstanceRamRoleWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Unbinds an SSH key pair from Linux Elastic Compute Service (ECS) instances. // // Description: // // When you call this operation, take note of the following items: // // - After you unbind an SSH key pair from an instance, you must call the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation to restart the instance to allow the unbind operation to take effect. // // - After you unbind an SSH key pair from an instance, the username and password authentication method is selected for the instance. // // @param request - DetachKeyPairRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DetachKeyPairResponse func (client *Client) DetachKeyPairWithOptions(request *DetachKeyPairRequest, runtime *dara.RuntimeOptions) (_result *DetachKeyPairResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DetachKeyPair"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DetachKeyPairResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Unbinds an SSH key pair from Linux Elastic Compute Service (ECS) instances. // // Description: // // When you call this operation, take note of the following items: // // - After you unbind an SSH key pair from an instance, you must call the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation to restart the instance to allow the unbind operation to take effect. // // - After you unbind an SSH key pair from an instance, the username and password authentication method is selected for the instance. // // @param request - DetachKeyPairRequest // // @return DetachKeyPairResponse func (client *Client) DetachKeyPair(request *DetachKeyPairRequest) (_result *DetachKeyPairResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DetachKeyPairResponse{} _body, _err := client.DetachKeyPairWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Detach an elastic network interface (ENI) from an Elastic Compute Service (ECS) instance. // // Description: // // Take note of the following items: // // - You cannot detach the primary ENI of an instance. // // - Make sure that the ENI to be detached is in the Detaching (Unbinding) or InUse (Bound) state. // // - Make sure that the instance from which you want to detach an ENI is in the Running (Running) or Stopped (Stopped) state. // // - The DetachNetworkInterface operation is an asynchronous operation. After this operation is called to detach an ENI, you can check the status or events of the ENI to determine whether the ENI is detached. The following figure shows the transitions between the states of the ENI.![](https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20230223/uemr/DetachNetworkInterface.png) // // - If the ENI is in the Detaching state, the ENI detachment request is sent and the ENI is being detached from the associated instance. // // - If the ENI is in the Available state, the ENI is detached from the associated instance. // // - If the ENI is stuck in the Detaching state, the ENI may fail to be detached from the associated instance due to specific reasons. For example, the ENI may fail to be detached because the operating system of the instance did not respond to the ENI detachment request. If this issue occurs, you can re-initiate the request to detach the ENI. If the issue persists, restart the instance. // // For information about examples on how to call the DetachNetworkInterface operation, see [Detach an ENI from an ECS instance](https://help.aliyun.com/document_detail/471551.html). // // @param request - DetachNetworkInterfaceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DetachNetworkInterfaceResponse func (client *Client) DetachNetworkInterfaceWithOptions(request *DetachNetworkInterfaceRequest, runtime *dara.RuntimeOptions) (_result *DetachNetworkInterfaceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TrunkNetworkInstanceId) { query["TrunkNetworkInstanceId"] = request.TrunkNetworkInstanceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DetachNetworkInterface"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DetachNetworkInterfaceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Detach an elastic network interface (ENI) from an Elastic Compute Service (ECS) instance. // // Description: // // Take note of the following items: // // - You cannot detach the primary ENI of an instance. // // - Make sure that the ENI to be detached is in the Detaching (Unbinding) or InUse (Bound) state. // // - Make sure that the instance from which you want to detach an ENI is in the Running (Running) or Stopped (Stopped) state. // // - The DetachNetworkInterface operation is an asynchronous operation. After this operation is called to detach an ENI, you can check the status or events of the ENI to determine whether the ENI is detached. The following figure shows the transitions between the states of the ENI.![](https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20230223/uemr/DetachNetworkInterface.png) // // - If the ENI is in the Detaching state, the ENI detachment request is sent and the ENI is being detached from the associated instance. // // - If the ENI is in the Available state, the ENI is detached from the associated instance. // // - If the ENI is stuck in the Detaching state, the ENI may fail to be detached from the associated instance due to specific reasons. For example, the ENI may fail to be detached because the operating system of the instance did not respond to the ENI detachment request. If this issue occurs, you can re-initiate the request to detach the ENI. If the issue persists, restart the instance. // // For information about examples on how to call the DetachNetworkInterface operation, see [Detach an ENI from an ECS instance](https://help.aliyun.com/document_detail/471551.html). // // @param request - DetachNetworkInterfaceRequest // // @return DetachNetworkInterfaceResponse func (client *Client) DetachNetworkInterface(request *DetachNetworkInterfaceRequest) (_result *DetachNetworkInterfaceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DetachNetworkInterfaceResponse{} _body, _err := client.DetachNetworkInterfaceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // To prevent an activation code from being leaked, you can call the DisableActivation operation to disable the activation code. Disabled activation codes cannot be used to register new managed instances. However, managed instances that are already registered are not affected. // // Description: // // ## [](#)Usage notes // // To prevent an activation code from being leaked, you can call the DisableActivation operation to disable the activation code. Disabled activation codes cannot be used to register new managed instances. However, managed instances that are already registered are not affected. // // @param request - DisableActivationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DisableActivationResponse func (client *Client) DisableActivationWithOptions(request *DisableActivationRequest, runtime *dara.RuntimeOptions) (_result *DisableActivationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActivationId) { query["ActivationId"] = request.ActivationId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DisableActivation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DisableActivationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // To prevent an activation code from being leaked, you can call the DisableActivation operation to disable the activation code. Disabled activation codes cannot be used to register new managed instances. However, managed instances that are already registered are not affected. // // Description: // // ## [](#)Usage notes // // To prevent an activation code from being leaked, you can call the DisableActivation operation to disable the activation code. Disabled activation codes cannot be used to register new managed instances. However, managed instances that are already registered are not affected. // // @param request - DisableActivationRequest // // @return DisableActivationResponse func (client *Client) DisableActivation(request *DisableActivationRequest) (_result *DisableActivationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DisableActivationResponse{} _body, _err := client.DisableActivationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Disables account-level default encryption of Elastic Block Storage (EBS) resources in a region. After you disable account-level default encryption of EBS resources in a region, the encryption status of existing disks in the region does not change. When you create a disk, you can still choose to encrypt the disk. // // Description: // // **Instructions** // // - You must grant the RAM user the `AliyunECSFullAccess` permissions. For information about how to grant permissions to a RAM user, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - **Considerations** // // - After Account-level EBS Default Encryption is disabled, the encryption status of existing cloud disks is not affected. // // - After Account-level EBS Default Encryption is disabled, you can still choose to encrypt new cloud disks when you purchase the disks. // // @param request - DisableDiskEncryptionByDefaultRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DisableDiskEncryptionByDefaultResponse func (client *Client) DisableDiskEncryptionByDefaultWithOptions(request *DisableDiskEncryptionByDefaultRequest, runtime *dara.RuntimeOptions) (_result *DisableDiskEncryptionByDefaultResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DisableDiskEncryptionByDefault"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DisableDiskEncryptionByDefaultResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Disables account-level default encryption of Elastic Block Storage (EBS) resources in a region. After you disable account-level default encryption of EBS resources in a region, the encryption status of existing disks in the region does not change. When you create a disk, you can still choose to encrypt the disk. // // Description: // // **Instructions** // // - You must grant the RAM user the `AliyunECSFullAccess` permissions. For information about how to grant permissions to a RAM user, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - **Considerations** // // - After Account-level EBS Default Encryption is disabled, the encryption status of existing cloud disks is not affected. // // - After Account-level EBS Default Encryption is disabled, you can still choose to encrypt new cloud disks when you purchase the disks. // // @param request - DisableDiskEncryptionByDefaultRequest // // @return DisableDiskEncryptionByDefaultResponse func (client *Client) DisableDiskEncryptionByDefault(request *DisableDiskEncryptionByDefaultRequest) (_result *DisableDiskEncryptionByDefaultResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DisableDiskEncryptionByDefaultResponse{} _body, _err := client.DisableDiskEncryptionByDefaultWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Disables Elastic Network Interface (ENI) QoS speed setting. // // @param request - DisableNetworkInterfaceQoSRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DisableNetworkInterfaceQoSResponse func (client *Client) DisableNetworkInterfaceQoSWithOptions(request *DisableNetworkInterfaceQoSRequest, runtime *dara.RuntimeOptions) (_result *DisableNetworkInterfaceQoSResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("DisableNetworkInterfaceQoS"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &DisableNetworkInterfaceQoSResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Disables Elastic Network Interface (ENI) QoS speed setting. // // @param request - DisableNetworkInterfaceQoSRequest // // @return DisableNetworkInterfaceQoSResponse func (client *Client) DisableNetworkInterfaceQoS(request *DisableNetworkInterfaceQoSRequest) (_result *DisableNetworkInterfaceQoSResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &DisableNetworkInterfaceQoSResponse{} _body, _err := client.DisableNetworkInterfaceQoSWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Enables the Account-level Elastic Block Storage (EBS) Default Encryption feature in a region. // // Description: // // > The Account-level EBS Default Encryption feature is available only in specific regions and to specific users. To use the feature, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket-intl). // // - **Precautions** // // - To enable the Account-level EBS Default Encryption feature as a Resource Access Management (RAM) user, grant the `AliyunECSFullAccess` permission to the RAM user. For more information, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - Before you can enable the Account-level EBS Default Encryption feature in a region, you must [activate Key Management Service (KMS)](https://help.aliyun.com/document_detail/480156.html) in the region. // // - After you enable the Account-level EBS Default Encryption feature in a region, you can purchase only encrypted cloud disks in the region. For more information, see the [Limits](~~59643#50de175230erj~~) section of the "Encrypt cloud disks" topic. // // - **Considerations** // // - After you enable the Account-level EBS Default Encryption feature in a region, new pay-as-you-go and subscription cloud disks in the region must be encrypted. You can use the KMS key configured for the feature or specify other KMS keys to encrypt the cloud disks. // // - The first time you enable the Account-level EBS Default Encryption feature in a region, the service key in the region is automatically used to encrypt EBS resources. // // - **Suggestions** // // - You can call the [DescribeDiskEncryptionByDefaultStatus](https://help.aliyun.com/document_detail/2851493.html) operation to query whether the Account-level EBS Default Encryption feature is enabled in a region and the [DescribeDiskDefaultKMSKeyId](https://help.aliyun.com/document_detail/2851490.html) operation to query the ID of the KMS key used by the feature in a region. // // - You can call the [ModifyDiskDefaultKMSKeyId](https://help.aliyun.com/document_detail/2851492.html) or [ResetDiskDefaultKMSKeyId](https://help.aliyun.com/document_detail/2851539.html) operation to change or reset the KMS key used by the Account-level EBS Default Encryption feature in a region. // // - You can call the [DisableDiskEncryptionByDefault](https://help.aliyun.com/document_detail/2851491.html) operation to disable the Account-level EBS Default Encryption feature in a region. // // @param request - EnableDiskEncryptionByDefaultRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return EnableDiskEncryptionByDefaultResponse func (client *Client) EnableDiskEncryptionByDefaultWithOptions(request *EnableDiskEncryptionByDefaultRequest, runtime *dara.RuntimeOptions) (_result *EnableDiskEncryptionByDefaultResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("EnableDiskEncryptionByDefault"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &EnableDiskEncryptionByDefaultResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Enables the Account-level Elastic Block Storage (EBS) Default Encryption feature in a region. // // Description: // // > The Account-level EBS Default Encryption feature is available only in specific regions and to specific users. To use the feature, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket-intl). // // - **Precautions** // // - To enable the Account-level EBS Default Encryption feature as a Resource Access Management (RAM) user, grant the `AliyunECSFullAccess` permission to the RAM user. For more information, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - Before you can enable the Account-level EBS Default Encryption feature in a region, you must [activate Key Management Service (KMS)](https://help.aliyun.com/document_detail/480156.html) in the region. // // - After you enable the Account-level EBS Default Encryption feature in a region, you can purchase only encrypted cloud disks in the region. For more information, see the [Limits](~~59643#50de175230erj~~) section of the "Encrypt cloud disks" topic. // // - **Considerations** // // - After you enable the Account-level EBS Default Encryption feature in a region, new pay-as-you-go and subscription cloud disks in the region must be encrypted. You can use the KMS key configured for the feature or specify other KMS keys to encrypt the cloud disks. // // - The first time you enable the Account-level EBS Default Encryption feature in a region, the service key in the region is automatically used to encrypt EBS resources. // // - **Suggestions** // // - You can call the [DescribeDiskEncryptionByDefaultStatus](https://help.aliyun.com/document_detail/2851493.html) operation to query whether the Account-level EBS Default Encryption feature is enabled in a region and the [DescribeDiskDefaultKMSKeyId](https://help.aliyun.com/document_detail/2851490.html) operation to query the ID of the KMS key used by the feature in a region. // // - You can call the [ModifyDiskDefaultKMSKeyId](https://help.aliyun.com/document_detail/2851492.html) or [ResetDiskDefaultKMSKeyId](https://help.aliyun.com/document_detail/2851539.html) operation to change or reset the KMS key used by the Account-level EBS Default Encryption feature in a region. // // - You can call the [DisableDiskEncryptionByDefault](https://help.aliyun.com/document_detail/2851491.html) operation to disable the Account-level EBS Default Encryption feature in a region. // // @param request - EnableDiskEncryptionByDefaultRequest // // @return EnableDiskEncryptionByDefaultResponse func (client *Client) EnableDiskEncryptionByDefault(request *EnableDiskEncryptionByDefaultRequest) (_result *EnableDiskEncryptionByDefaultResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &EnableDiskEncryptionByDefaultResponse{} _body, _err := client.EnableDiskEncryptionByDefaultWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 启用或修改弹性网卡QoS限速设置 // // @param request - EnableNetworkInterfaceQoSRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return EnableNetworkInterfaceQoSResponse func (client *Client) EnableNetworkInterfaceQoSWithOptions(request *EnableNetworkInterfaceQoSRequest, runtime *dara.RuntimeOptions) (_result *EnableNetworkInterfaceQoSResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.QoS) { query["QoS"] = request.QoS } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("EnableNetworkInterfaceQoS"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &EnableNetworkInterfaceQoSResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 启用或修改弹性网卡QoS限速设置 // // @param request - EnableNetworkInterfaceQoSRequest // // @return EnableNetworkInterfaceQoSResponse func (client *Client) EnableNetworkInterfaceQoS(request *EnableNetworkInterfaceQoSRequest) (_result *EnableNetworkInterfaceQoSResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &EnableNetworkInterfaceQoSResponse{} _body, _err := client.EnableNetworkInterfaceQoSWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI EnablePhysicalConnection is deprecated, please use Vpc::2016-04-28::EnablePhysicalConnection instead. // // Summary: // // # EnablePhysicalConnection // // @param request - EnablePhysicalConnectionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return EnablePhysicalConnectionResponse func (client *Client) EnablePhysicalConnectionWithOptions(request *EnablePhysicalConnectionRequest, runtime *dara.RuntimeOptions) (_result *EnablePhysicalConnectionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PhysicalConnectionId) { query["PhysicalConnectionId"] = request.PhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("EnablePhysicalConnection"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &EnablePhysicalConnectionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI EnablePhysicalConnection is deprecated, please use Vpc::2016-04-28::EnablePhysicalConnection instead. // // Summary: // // # EnablePhysicalConnection // // @param request - EnablePhysicalConnectionRequest // // @return EnablePhysicalConnectionResponse // Deprecated func (client *Client) EnablePhysicalConnection(request *EnablePhysicalConnectionRequest) (_result *EnablePhysicalConnectionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &EnablePhysicalConnectionResponse{} _body, _err := client.EnablePhysicalConnectionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Permanently closes a session. // // Description: // // After you closes a session, the session is no longer available. // // - The WebSocket URL that is associated with a closed session is invalid and no longer available. // // @param request - EndTerminalSessionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return EndTerminalSessionResponse func (client *Client) EndTerminalSessionWithOptions(request *EndTerminalSessionRequest, runtime *dara.RuntimeOptions) (_result *EndTerminalSessionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SessionId) { query["SessionId"] = request.SessionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("EndTerminalSession"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &EndTerminalSessionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Permanently closes a session. // // Description: // // After you closes a session, the session is no longer available. // // - The WebSocket URL that is associated with a closed session is invalid and no longer available. // // @param request - EndTerminalSessionRequest // // @return EndTerminalSessionResponse func (client *Client) EndTerminalSession(request *EndTerminalSessionRequest) (_result *EndTerminalSessionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &EndTerminalSessionResponse{} _body, _err := client.EndTerminalSessionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Exports a custom image to an Object Storage Service (OSS) bucket in the same region. // // Description: // // Take note of the following items: // // - Make sure that you are familiar with the prerequisites and considerations. For more information, see [Export a custom image](https://help.aliyun.com/document_detail/58181.html). // // - The `ImageFormat` parameter is available only for the following regions: Japan (Tokyo), Indonesia (Jakarta), Germany (Frankfurt), UAE (Dubai), US (Virginia), UK (London), Singapore, Malaysia (Kuala Lumpur), and US (Silicon Valley). By default, custom images are exported in the RAW format in regions where the ImageFormat parameter is unsupported. // // - Use Resource Access Management (RAM) to authorize Elastic Compute Service (ECS) to write data to OSS. To complete the authorization, perform the following operations: // // - Create a role named `AliyunECSImageExportDefaultRole` and attach the following policy to the role: // // { // // "Statement": [ // // { // // "Action": "sts:AssumeRole", // // "Effect": "Allow", // // "Principal": { // // "Service": [ // // "ecs.aliyuncs.com" // // ] // // } // // } // // ], // // "Version": "1" // // } // // - Attach the `AliyunECSImageExportRolePolicy` system policy, which is the default policy that grants ECS the permissions to export images, to the `AliyunECSImageExportDefaultRole` role. For more information, go to the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101.0.0.64c64df5dfpmdY#/role/authorize?request=%7B%22Requests%22:%20%7B%22request1%22:%20%7B%22RoleName%22:%20%22AliyunECSImageImportDefaultRole%22,%20%22TemplateId%22:%20%22ECSImportRole%22%7D,%20%22request2%22:%20%7B%22RoleName%22:%20%22AliyunECSImageExportDefaultRole%22,%20%22TemplateId%22:%20%22ECSExportRole%22%7D%7D,%20%22ReturnUrl%22:%20%22https:%2F%2Fecs.console.aliyun.com%2F%22,%20%22Service%22:%20%22ECS%22%7D) page. You can also create a custom policy that contains the following content and attach the policy to the role: // // { // // "Version": "1", // // "Statement": [ // // { // // "Action": [ // // "oss:GetObject", // // "oss:PutObject", // // "oss:DeleteObject", // // "oss:GetBucketLocation", // // "oss:GetBucketInfo", // // "oss:AbortMultipartUpload", // // "oss:ListMultipartUploads", // // "oss:ListParts" // // ], // // "Resource": "*", // // "Effect": "Allow" // // } // // ] // // } // // After you export the images, take note of the following items: // // Each exported custom image is stored in the specified OSS bucket. You can download the custom image. For more information, see [Download OSS objects by using simple download](https://help.aliyun.com/document_detail/31912.html). // // @param request - ExportImageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ExportImageResponse func (client *Client) ExportImageWithOptions(request *ExportImageRequest, runtime *dara.RuntimeOptions) (_result *ExportImageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.ImageFormat) { query["ImageFormat"] = request.ImageFormat } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.OSSBucket) { query["OSSBucket"] = request.OSSBucket } if !dara.IsNil(request.OSSPrefix) { query["OSSPrefix"] = request.OSSPrefix } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RoleName) { query["RoleName"] = request.RoleName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ExportImage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ExportImageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Exports a custom image to an Object Storage Service (OSS) bucket in the same region. // // Description: // // Take note of the following items: // // - Make sure that you are familiar with the prerequisites and considerations. For more information, see [Export a custom image](https://help.aliyun.com/document_detail/58181.html). // // - The `ImageFormat` parameter is available only for the following regions: Japan (Tokyo), Indonesia (Jakarta), Germany (Frankfurt), UAE (Dubai), US (Virginia), UK (London), Singapore, Malaysia (Kuala Lumpur), and US (Silicon Valley). By default, custom images are exported in the RAW format in regions where the ImageFormat parameter is unsupported. // // - Use Resource Access Management (RAM) to authorize Elastic Compute Service (ECS) to write data to OSS. To complete the authorization, perform the following operations: // // - Create a role named `AliyunECSImageExportDefaultRole` and attach the following policy to the role: // // { // // "Statement": [ // // { // // "Action": "sts:AssumeRole", // // "Effect": "Allow", // // "Principal": { // // "Service": [ // // "ecs.aliyuncs.com" // // ] // // } // // } // // ], // // "Version": "1" // // } // // - Attach the `AliyunECSImageExportRolePolicy` system policy, which is the default policy that grants ECS the permissions to export images, to the `AliyunECSImageExportDefaultRole` role. For more information, go to the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101.0.0.64c64df5dfpmdY#/role/authorize?request=%7B%22Requests%22:%20%7B%22request1%22:%20%7B%22RoleName%22:%20%22AliyunECSImageImportDefaultRole%22,%20%22TemplateId%22:%20%22ECSImportRole%22%7D,%20%22request2%22:%20%7B%22RoleName%22:%20%22AliyunECSImageExportDefaultRole%22,%20%22TemplateId%22:%20%22ECSExportRole%22%7D%7D,%20%22ReturnUrl%22:%20%22https:%2F%2Fecs.console.aliyun.com%2F%22,%20%22Service%22:%20%22ECS%22%7D) page. You can also create a custom policy that contains the following content and attach the policy to the role: // // { // // "Version": "1", // // "Statement": [ // // { // // "Action": [ // // "oss:GetObject", // // "oss:PutObject", // // "oss:DeleteObject", // // "oss:GetBucketLocation", // // "oss:GetBucketInfo", // // "oss:AbortMultipartUpload", // // "oss:ListMultipartUploads", // // "oss:ListParts" // // ], // // "Resource": "*", // // "Effect": "Allow" // // } // // ] // // } // // After you export the images, take note of the following items: // // Each exported custom image is stored in the specified OSS bucket. You can download the custom image. For more information, see [Download OSS objects by using simple download](https://help.aliyun.com/document_detail/31912.html). // // @param request - ExportImageRequest // // @return ExportImageResponse func (client *Client) ExportImage(request *ExportImageRequest) (_result *ExportImageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ExportImageResponse{} _body, _err := client.ExportImageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ExportSnapshot is deprecated // // Summary: // // 将快照导出到指定的对象存储 // // @param request - ExportSnapshotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ExportSnapshotResponse func (client *Client) ExportSnapshotWithOptions(request *ExportSnapshotRequest, runtime *dara.RuntimeOptions) (_result *ExportSnapshotResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OssBucket) { query["OssBucket"] = request.OssBucket } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RoleName) { query["RoleName"] = request.RoleName } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ExportSnapshot"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ExportSnapshotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ExportSnapshot is deprecated // // Summary: // // 将快照导出到指定的对象存储 // // @param request - ExportSnapshotRequest // // @return ExportSnapshotResponse // Deprecated func (client *Client) ExportSnapshot(request *ExportSnapshotRequest) (_result *ExportSnapshotResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ExportSnapshotResponse{} _body, _err := client.ExportSnapshotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the command output of an Elastic Compute Service (ECS) instance. The returned command output is encoded in Base64. // // Description: // // ECS is a virtualized cloud-based service and cannot be connected to display devices. Alibaba Cloud caches system command outputs for the last start, restart, or shutdown of ECS instances. You can call the GetInstanceConsoleOutput operation to query the command outputs. // // - For instances of the retired instance types, you cannot obtain command outputs. For more information, see [Retired instance types](https://help.aliyun.com/document_detail/55263.html). // // - You cannot obtain the command outputs of Windows instances. // // @param request - GetInstanceConsoleOutputRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return GetInstanceConsoleOutputResponse func (client *Client) GetInstanceConsoleOutputWithOptions(request *GetInstanceConsoleOutputRequest, runtime *dara.RuntimeOptions) (_result *GetInstanceConsoleOutputResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RemoveSymbols) { query["RemoveSymbols"] = request.RemoveSymbols } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("GetInstanceConsoleOutput"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &GetInstanceConsoleOutputResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the command output of an Elastic Compute Service (ECS) instance. The returned command output is encoded in Base64. // // Description: // // ECS is a virtualized cloud-based service and cannot be connected to display devices. Alibaba Cloud caches system command outputs for the last start, restart, or shutdown of ECS instances. You can call the GetInstanceConsoleOutput operation to query the command outputs. // // - For instances of the retired instance types, you cannot obtain command outputs. For more information, see [Retired instance types](https://help.aliyun.com/document_detail/55263.html). // // - You cannot obtain the command outputs of Windows instances. // // @param request - GetInstanceConsoleOutputRequest // // @return GetInstanceConsoleOutputResponse func (client *Client) GetInstanceConsoleOutput(request *GetInstanceConsoleOutputRequest) (_result *GetInstanceConsoleOutputResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &GetInstanceConsoleOutputResponse{} _body, _err := client.GetInstanceConsoleOutputWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Obtains the screenshots of an Elastic Compute Service (ECS) instance. // // Description: // // After ECS returns a Base64-encoded instance screenshot in the JPG format, you must decode the screenshot. We recommend that you call this operation for troubleshooting and diagnosis. When you call this operation, take note of the following items: // // - The instance must be in the Running state. // // - For instances of the retired instance types, you cannot obtain screenshots. For more information, see [Retired instance types](https://help.aliyun.com/document_detail/55263.html). // // - If you call this operation on an instance for multiple times, the call interval must be at least 10 seconds. Otherwise, the `Throttling` error is returned. // // @param request - GetInstanceScreenshotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return GetInstanceScreenshotResponse func (client *Client) GetInstanceScreenshotWithOptions(request *GetInstanceScreenshotRequest, runtime *dara.RuntimeOptions) (_result *GetInstanceScreenshotResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.WakeUp) { query["WakeUp"] = request.WakeUp } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("GetInstanceScreenshot"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &GetInstanceScreenshotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Obtains the screenshots of an Elastic Compute Service (ECS) instance. // // Description: // // After ECS returns a Base64-encoded instance screenshot in the JPG format, you must decode the screenshot. We recommend that you call this operation for troubleshooting and diagnosis. When you call this operation, take note of the following items: // // - The instance must be in the Running state. // // - For instances of the retired instance types, you cannot obtain screenshots. For more information, see [Retired instance types](https://help.aliyun.com/document_detail/55263.html). // // - If you call this operation on an instance for multiple times, the call interval must be at least 10 seconds. Otherwise, the `Throttling` error is returned. // // @param request - GetInstanceScreenshotRequest // // @return GetInstanceScreenshotResponse func (client *Client) GetInstanceScreenshot(request *GetInstanceScreenshotRequest) (_result *GetInstanceScreenshotResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &GetInstanceScreenshotResponse{} _body, _err := client.GetInstanceScreenshotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Imports an on-premise image to Elastic Compute Service (ECS). The imported image exists as a custom image in the destination region. You can use the imported image to create ECS instances by calling the RunInstances operation or replace the system disk of an ECS instance by calling the ReplaceSystemDisk operation. // // Description: // // ### [](#)Usage notes // // Take note of the following items: // // - Before you import an image, you must upload the image to an Object Storage Service (OSS) bucket. For more information, see [Upload objects](https://help.aliyun.com/document_detail/31886.html). // // - In specific scenarios, you may want to create a custom image based on the operating system data of a source server, import the image to Alibaba Cloud, and then create an ECS instance from the image. The source server can be a physical server, a virtual machine, or a cloud host. If the virtio driver is not installed on the source server, the created ECS instance may be unable to start. To prevent this issue, verify that the virtio driver is installed on the source server before you import the image to Alibaba Cloud. For more information, see [Install the virtio driver](https://help.aliyun.com/document_detail/62423.html). // // - Before you import images for the first time, you must use Resource Access Management (RAM) to authorize ECS to access your OSS buckets. If ECS is not authorized to access your OSS buckets, the `NoSetRoletoECSServiceAccount` or `InvalidOperation.CloudBoxImageImportRoleRequired` error code is returned when you call the ImportImage operation. The authorization configuration varies based on whether the image files are imported from a cloud box. // // - **If the image files are not imported from a cloud box**, you can complete the authorization on the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101image.0.0.2ffa4df57kSoHX#/role/authorize?request=%7B%22Requests%22%3A%20%7B%22request1%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageImportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSImportRole%22%7D%2C%20%22request2%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageExportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSExportRole%22%7D%7D%2C%20%22ReturnUrl%22%3A%20%22https%3A//ecs.console.aliyun.com/%22%2C%20%22Service%22%3A%20%22ECS%22%7D) page of the RAM console. You can also complete the authorization by using a RAM role and RAM policies. The following example shows the policies and permissions required for specific steps in the authorization procedure. For more information, see [Control access to ECS resources by using RAM users](https://help.aliyun.com/document_detail/25481.html). // // 1. Create a RAM role named `AliyunECSImageImportDefaultRole`. You must use this exact role name. Otherwise, the image cannot be imported. Configure the following trust policy for the role: // // { // // "Statement": [ // // { // // "Action": "sts:AssumeRole", // // "Effect": "Allow", // // "Principal": { // // "Service": [ // // "ecs.aliyuncs.com" // // ] // // } // // } // // ], // // "Version": "1" // // } // // 2. Attach the `AliyunECSImageImportRolePolicy` system policy to the RAM role. You can also create a custom policy that contains the following content and attach the policy to the role: // // ``` // // { // // "Version": "1", // // "Statement": [ // // { // // "Action": [ // // "oss:GetObject", // // "oss:GetBucketLocation", // // "oss:GetBucketInfo" // // ], // // "Resource": "*", // // "Effect": "Allow" // // } // // ] // // } // // ``` // // - **If the image files are imported from a cloud box**, you can complete the authorization on the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/role/authorize?request=%7B%22ReturnUrl%22%3A%22https%3A%2F%2Fecs.console.aliyun.com%2F%22%2C%22Services%22%3A%5B%7B%22Roles%22%3A%5B%7B%22RoleName%22%3A%22AliyunECSCloudBoxImageImportDefaultRole%22%2C%22TemplateId%22%3A%22AliyunECSCloudBoxImageImportDefaultRole%22%7D%5D%2C%22Service%22%3A%22ECS%22%7D%5D%7D) page of the RAM console. You can also complete the authorization by using a RAM role and RAM policies. The following example shows the policies and permissions required for specific steps in the authorization procedure. For more information, see [Control access to ECS resources by using RAM users](https://help.aliyun.com/document_detail/25481.html). // // 1. Create a RAM role named `AliyunECSCloudBoxImageImportDefaultRole`. You must use this exact role name. Otherwise, the image cannot be imported. Configure the following trust policy for the role: // // { // // "Statement": [ // // { // // "Action": "sts:AssumeRole", // // "Effect": "Allow", // // "Principal": { // // "Service": [ // // "ecs.aliyuncs.com" // // ] // // } // // } // // ], // // "Version": "1" // // } // // 2. Attach the `AliyunECSCloudBoxImageImportRolePolicy` system policy to the RAM role. You can also create a custom policy that contains the following content and attach the policy to the role: // // ``` // // { // // "Version": "1", // // "Statement": [ // // { // // "Action": [ // // "oss-cloudbox:GetObject", // // "oss-cloudbox:GetBucketLocation", // // "oss-cloudbox:GetBucketInfo" // // ], // // "Resource": "*", // // "Effect": "Allow" // // } // // ] // // } // // ``` // // - You cannot delete an image that is being imported. However, you can call the [CancelTask](https://help.aliyun.com/document_detail/25624.html) operation to cancel the image import task. // // - You can import an image only to the same region as the OSS bucket to which the image file is uploaded. // // - The valid values of N in `DiskDeviceMapping.N` range from 1 to 17. When N is set to 1, the disk is a system disk. When N is set to a value from 2 to 17, the disk is a data disk. When N is set to a value greater than 17, parameters prefixed with DiskDeviceMapping.N are ignored. // // - When you set `Architecture` to `arm64` or when you set `Platform` to `CentOS Stream`, `Anolis`, `AlmaLinux`, `UOS`, `Kylin`, or `Rocky Linux`, take note of the following items: // // - To ensure that the password can be set or the key pair can be modified for an imported image, make sure that the image meets the following requirements before you import it: // // - The kernel of the operating system supports the `CONFIG_FW_CFG_SYSFS` feature. By default, Linux community kernel 4.6 and later and CentOS kernel 3.10.0-826.el7 and later support the CONFIG_FW_CFG_SYSFS feature. You can run the `grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r)` command on the source server of the image. If the command output contains `CONFIG_FW_CFG_SYSFS=y`, the kernel of the image supports the `CONFIG_FW_CFG_SYSFS` feature. // // - Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](https://help.aliyun.com/document_detail/57803.html). // // - The operating system supports the SHA-512 encryption algorithm. // // - If you want an imported image to support the resizing of disks and file systems, make sure that the image meets the following requirements before you import it: // // - The kernel version of the operating system is later than 3.6. // // - The image supports the growpart command. To support this command, you must install the `cloud-utils-growpart` package. The methods of installing the package vary based on operating systems. For more information, see [Extend the partitions and file systems of disks on a Linux instance](https://help.aliyun.com/document_detail/25451.html). // // - The image supports the resize2fs command. To support this command, you must install the `e2fsprogs` package. By default, the package is installed on the operating system. If the package is not installed, install it. // // - Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](https://help.aliyun.com/document_detail/57803.html). // // - If the image that you want to import uses the Arm64 architecture, configure the real-time clock (RTC) to use the Coordinated Universal Time (UTC) time standard. For more information, see [Linux time and time zones](https://help.aliyun.com/document_detail/405080.html). // // - When you import images, we recommend that you specify DetectionStrategy. This way, you can optimize the images based on the image check results. For more information, see [Overview of image check](https://help.aliyun.com/document_detail/439819.html). // // @param request - ImportImageRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ImportImageResponse func (client *Client) ImportImageWithOptions(request *ImportImageRequest, runtime *dara.RuntimeOptions) (_result *ImportImageResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Architecture) { query["Architecture"] = request.Architecture } if !dara.IsNil(request.BootMode) { query["BootMode"] = request.BootMode } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DetectionStrategy) { query["DetectionStrategy"] = request.DetectionStrategy } if !dara.IsNil(request.DiskDeviceMapping) { query["DiskDeviceMapping"] = request.DiskDeviceMapping } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Features) { query["Features"] = request.Features } if !dara.IsNil(request.ImageName) { query["ImageName"] = request.ImageName } if !dara.IsNil(request.LicenseType) { query["LicenseType"] = request.LicenseType } if !dara.IsNil(request.OSType) { query["OSType"] = request.OSType } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RoleName) { query["RoleName"] = request.RoleName } if !dara.IsNil(request.StorageLocationArn) { query["StorageLocationArn"] = request.StorageLocationArn } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ImportImage"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ImportImageResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Imports an on-premise image to Elastic Compute Service (ECS). The imported image exists as a custom image in the destination region. You can use the imported image to create ECS instances by calling the RunInstances operation or replace the system disk of an ECS instance by calling the ReplaceSystemDisk operation. // // Description: // // ### [](#)Usage notes // // Take note of the following items: // // - Before you import an image, you must upload the image to an Object Storage Service (OSS) bucket. For more information, see [Upload objects](https://help.aliyun.com/document_detail/31886.html). // // - In specific scenarios, you may want to create a custom image based on the operating system data of a source server, import the image to Alibaba Cloud, and then create an ECS instance from the image. The source server can be a physical server, a virtual machine, or a cloud host. If the virtio driver is not installed on the source server, the created ECS instance may be unable to start. To prevent this issue, verify that the virtio driver is installed on the source server before you import the image to Alibaba Cloud. For more information, see [Install the virtio driver](https://help.aliyun.com/document_detail/62423.html). // // - Before you import images for the first time, you must use Resource Access Management (RAM) to authorize ECS to access your OSS buckets. If ECS is not authorized to access your OSS buckets, the `NoSetRoletoECSServiceAccount` or `InvalidOperation.CloudBoxImageImportRoleRequired` error code is returned when you call the ImportImage operation. The authorization configuration varies based on whether the image files are imported from a cloud box. // // - **If the image files are not imported from a cloud box**, you can complete the authorization on the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101image.0.0.2ffa4df57kSoHX#/role/authorize?request=%7B%22Requests%22%3A%20%7B%22request1%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageImportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSImportRole%22%7D%2C%20%22request2%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageExportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSExportRole%22%7D%7D%2C%20%22ReturnUrl%22%3A%20%22https%3A//ecs.console.aliyun.com/%22%2C%20%22Service%22%3A%20%22ECS%22%7D) page of the RAM console. You can also complete the authorization by using a RAM role and RAM policies. The following example shows the policies and permissions required for specific steps in the authorization procedure. For more information, see [Control access to ECS resources by using RAM users](https://help.aliyun.com/document_detail/25481.html). // // 1. Create a RAM role named `AliyunECSImageImportDefaultRole`. You must use this exact role name. Otherwise, the image cannot be imported. Configure the following trust policy for the role: // // { // // "Statement": [ // // { // // "Action": "sts:AssumeRole", // // "Effect": "Allow", // // "Principal": { // // "Service": [ // // "ecs.aliyuncs.com" // // ] // // } // // } // // ], // // "Version": "1" // // } // // 2. Attach the `AliyunECSImageImportRolePolicy` system policy to the RAM role. You can also create a custom policy that contains the following content and attach the policy to the role: // // ``` // // { // // "Version": "1", // // "Statement": [ // // { // // "Action": [ // // "oss:GetObject", // // "oss:GetBucketLocation", // // "oss:GetBucketInfo" // // ], // // "Resource": "*", // // "Effect": "Allow" // // } // // ] // // } // // ``` // // - **If the image files are imported from a cloud box**, you can complete the authorization on the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/role/authorize?request=%7B%22ReturnUrl%22%3A%22https%3A%2F%2Fecs.console.aliyun.com%2F%22%2C%22Services%22%3A%5B%7B%22Roles%22%3A%5B%7B%22RoleName%22%3A%22AliyunECSCloudBoxImageImportDefaultRole%22%2C%22TemplateId%22%3A%22AliyunECSCloudBoxImageImportDefaultRole%22%7D%5D%2C%22Service%22%3A%22ECS%22%7D%5D%7D) page of the RAM console. You can also complete the authorization by using a RAM role and RAM policies. The following example shows the policies and permissions required for specific steps in the authorization procedure. For more information, see [Control access to ECS resources by using RAM users](https://help.aliyun.com/document_detail/25481.html). // // 1. Create a RAM role named `AliyunECSCloudBoxImageImportDefaultRole`. You must use this exact role name. Otherwise, the image cannot be imported. Configure the following trust policy for the role: // // { // // "Statement": [ // // { // // "Action": "sts:AssumeRole", // // "Effect": "Allow", // // "Principal": { // // "Service": [ // // "ecs.aliyuncs.com" // // ] // // } // // } // // ], // // "Version": "1" // // } // // 2. Attach the `AliyunECSCloudBoxImageImportRolePolicy` system policy to the RAM role. You can also create a custom policy that contains the following content and attach the policy to the role: // // ``` // // { // // "Version": "1", // // "Statement": [ // // { // // "Action": [ // // "oss-cloudbox:GetObject", // // "oss-cloudbox:GetBucketLocation", // // "oss-cloudbox:GetBucketInfo" // // ], // // "Resource": "*", // // "Effect": "Allow" // // } // // ] // // } // // ``` // // - You cannot delete an image that is being imported. However, you can call the [CancelTask](https://help.aliyun.com/document_detail/25624.html) operation to cancel the image import task. // // - You can import an image only to the same region as the OSS bucket to which the image file is uploaded. // // - The valid values of N in `DiskDeviceMapping.N` range from 1 to 17. When N is set to 1, the disk is a system disk. When N is set to a value from 2 to 17, the disk is a data disk. When N is set to a value greater than 17, parameters prefixed with DiskDeviceMapping.N are ignored. // // - When you set `Architecture` to `arm64` or when you set `Platform` to `CentOS Stream`, `Anolis`, `AlmaLinux`, `UOS`, `Kylin`, or `Rocky Linux`, take note of the following items: // // - To ensure that the password can be set or the key pair can be modified for an imported image, make sure that the image meets the following requirements before you import it: // // - The kernel of the operating system supports the `CONFIG_FW_CFG_SYSFS` feature. By default, Linux community kernel 4.6 and later and CentOS kernel 3.10.0-826.el7 and later support the CONFIG_FW_CFG_SYSFS feature. You can run the `grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r)` command on the source server of the image. If the command output contains `CONFIG_FW_CFG_SYSFS=y`, the kernel of the image supports the `CONFIG_FW_CFG_SYSFS` feature. // // - Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](https://help.aliyun.com/document_detail/57803.html). // // - The operating system supports the SHA-512 encryption algorithm. // // - If you want an imported image to support the resizing of disks and file systems, make sure that the image meets the following requirements before you import it: // // - The kernel version of the operating system is later than 3.6. // // - The image supports the growpart command. To support this command, you must install the `cloud-utils-growpart` package. The methods of installing the package vary based on operating systems. For more information, see [Extend the partitions and file systems of disks on a Linux instance](https://help.aliyun.com/document_detail/25451.html). // // - The image supports the resize2fs command. To support this command, you must install the `e2fsprogs` package. By default, the package is installed on the operating system. If the package is not installed, install it. // // - Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](https://help.aliyun.com/document_detail/57803.html). // // - If the image that you want to import uses the Arm64 architecture, configure the real-time clock (RTC) to use the Coordinated Universal Time (UTC) time standard. For more information, see [Linux time and time zones](https://help.aliyun.com/document_detail/405080.html). // // - When you import images, we recommend that you specify DetectionStrategy. This way, you can optimize the images based on the image check results. For more information, see [Overview of image check](https://help.aliyun.com/document_detail/439819.html). // // @param request - ImportImageRequest // // @return ImportImageResponse func (client *Client) ImportImage(request *ImportImageRequest) (_result *ImportImageResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ImportImageResponse{} _body, _err := client.ImportImageWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Imports the public key of a Rivest-Shamir-Adleman (RSA) key pair that is generated by a third-party tool. After the key pair is imported, Alibaba Cloud stores the public key. You must securely lock away the private key. // // Description: // // Take note of the following items: // // - A maximum of 500 key pairs can be created in each region. // // - The key pair to be imported must support one of the following encryption methods: // // - rsa // // - dsa // // - ssh-rsa // // - ssh-dss // // - ecdsa // // - // // - // // - // // - // // - // // - // // - // // @param request - ImportKeyPairRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ImportKeyPairResponse func (client *Client) ImportKeyPairWithOptions(request *ImportKeyPairRequest, runtime *dara.RuntimeOptions) (_result *ImportKeyPairResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PublicKeyBody) { query["PublicKeyBody"] = request.PublicKeyBody } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ImportKeyPair"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ImportKeyPairResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Imports the public key of a Rivest-Shamir-Adleman (RSA) key pair that is generated by a third-party tool. After the key pair is imported, Alibaba Cloud stores the public key. You must securely lock away the private key. // // Description: // // Take note of the following items: // // - A maximum of 500 key pairs can be created in each region. // // - The key pair to be imported must support one of the following encryption methods: // // - rsa // // - dsa // // - ssh-rsa // // - ssh-dss // // - ecdsa // // - // // - // // - // // - // // - // // - // // - // // @param request - ImportKeyPairRequest // // @return ImportKeyPairResponse func (client *Client) ImportKeyPair(request *ImportKeyPairRequest) (_result *ImportKeyPairResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ImportKeyPairResponse{} _body, _err := client.ImportKeyPairWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Installs Cloud Assistant Agent on Elastic Compute Service (ECS) instances. After you install Cloud Assistant Agent on ECS instances, restart the instances for the installation to take effect. // // Description: // // ## [](#)Usage notes // // After you call the InstallCloudAssistant operation to install Cloud Assistant Agent on an ECS instance, call the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation to restart the instance to make the installation take effect. // // @param request - InstallCloudAssistantRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return InstallCloudAssistantResponse func (client *Client) InstallCloudAssistantWithOptions(request *InstallCloudAssistantRequest, runtime *dara.RuntimeOptions) (_result *InstallCloudAssistantResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("InstallCloudAssistant"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &InstallCloudAssistantResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Installs Cloud Assistant Agent on Elastic Compute Service (ECS) instances. After you install Cloud Assistant Agent on ECS instances, restart the instances for the installation to take effect. // // Description: // // ## [](#)Usage notes // // After you call the InstallCloudAssistant operation to install Cloud Assistant Agent on an ECS instance, call the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation to restart the instance to make the installation take effect. // // @param request - InstallCloudAssistantRequest // // @return InstallCloudAssistantResponse func (client *Client) InstallCloudAssistant(request *InstallCloudAssistantRequest) (_result *InstallCloudAssistantResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &InstallCloudAssistantResponse{} _body, _err := client.InstallCloudAssistantWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Runs a Cloud Assistant command on one or more Elastic Compute Service (ECS) instances. When you call this operation, you can specify parameters, such as CommandId, InstanceId, and ResourceGroupId, in the request. // // Description: // // ## [](#)Usage notes // // - The ECS instances on which you want to run the Cloud Assistant command must meet the following requirements. If multiple ECS instances are specified and one of the instances does not meet the requirements for running the command, the call fails. You must specify instances that meet the requirements and call the InvokeCommand operation again. // // - The instances are in the Running (`Running`) state. You can call the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation to query the status of instances. // // - Cloud Assistant Agent is installed on the instances. For more information, see [Install Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html). // // - If the command is a PowerShell command, make sure that the instances have the PowerShell module configured. // // - You can configure the command to run only once on the instances. // // - You can configure the command to run on the instances based on a schedule. // // - The schedule is specified by Frequency. The results of each execution of the command do not affect the next execution of the command. // // - When you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instances. Make sure that the time or time zone of the instances meets your business requirements. For more information, see [Manage the time synchronization service](https://help.aliyun.com/document_detail/92704.html). // // To ensure that scheduled tasks can run as expected, make sure that the version of Cloud Assistant Agent is not earlier than the following versions. A scheduled task can run a command at a fixed interval, only once at a specific time, or at specific times based on a cron expression in a specified year or time zone. If the ClientNeedUpgrade error code is returned, you must upgrade Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades for Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). // // - Linux: 2.2.3.282 // // - Windows: 2.1.3.282 // // - Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](https://help.aliyun.com/document_detail/87029.html). // // - If you enable the custom parameter feature when you create the command, you must specify custom parameters (`Parameters`) to run the command. // // - Before you run the command on instances, especially new instances, we recommend that you call the [DescribeCloudAssistantStatus](https://help.aliyun.com/document_detail/87346.html) operation to query the status of Cloud Assistant Agent on the instances and run the command when the value of CloudAssistantStatus in the response is true for the instances. // // @param tmpReq - InvokeCommandRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return InvokeCommandResponse func (client *Client) InvokeCommandWithOptions(tmpReq *InvokeCommandRequest, runtime *dara.RuntimeOptions) (_result *InvokeCommandResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &InvokeCommandShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.Parameters) { request.ParametersShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.Parameters, dara.String("Parameters"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.CommandId) { query["CommandId"] = request.CommandId } if !dara.IsNil(request.ContainerId) { query["ContainerId"] = request.ContainerId } if !dara.IsNil(request.ContainerName) { query["ContainerName"] = request.ContainerName } if !dara.IsNil(request.Frequency) { query["Frequency"] = request.Frequency } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.Launcher) { query["Launcher"] = request.Launcher } if !dara.IsNil(request.OssOutputDelivery) { query["OssOutputDelivery"] = request.OssOutputDelivery } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ParametersShrink) { query["Parameters"] = request.ParametersShrink } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RepeatMode) { query["RepeatMode"] = request.RepeatMode } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceTag) { query["ResourceTag"] = request.ResourceTag } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TerminationMode) { query["TerminationMode"] = request.TerminationMode } if !dara.IsNil(request.Timed) { query["Timed"] = request.Timed } if !dara.IsNil(request.Timeout) { query["Timeout"] = request.Timeout } if !dara.IsNil(request.Username) { query["Username"] = request.Username } if !dara.IsNil(request.WindowsPasswordName) { query["WindowsPasswordName"] = request.WindowsPasswordName } if !dara.IsNil(request.WorkingDir) { query["WorkingDir"] = request.WorkingDir } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("InvokeCommand"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &InvokeCommandResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Runs a Cloud Assistant command on one or more Elastic Compute Service (ECS) instances. When you call this operation, you can specify parameters, such as CommandId, InstanceId, and ResourceGroupId, in the request. // // Description: // // ## [](#)Usage notes // // - The ECS instances on which you want to run the Cloud Assistant command must meet the following requirements. If multiple ECS instances are specified and one of the instances does not meet the requirements for running the command, the call fails. You must specify instances that meet the requirements and call the InvokeCommand operation again. // // - The instances are in the Running (`Running`) state. You can call the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation to query the status of instances. // // - Cloud Assistant Agent is installed on the instances. For more information, see [Install Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html). // // - If the command is a PowerShell command, make sure that the instances have the PowerShell module configured. // // - You can configure the command to run only once on the instances. // // - You can configure the command to run on the instances based on a schedule. // // - The schedule is specified by Frequency. The results of each execution of the command do not affect the next execution of the command. // // - When you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instances. Make sure that the time or time zone of the instances meets your business requirements. For more information, see [Manage the time synchronization service](https://help.aliyun.com/document_detail/92704.html). // // To ensure that scheduled tasks can run as expected, make sure that the version of Cloud Assistant Agent is not earlier than the following versions. A scheduled task can run a command at a fixed interval, only once at a specific time, or at specific times based on a cron expression in a specified year or time zone. If the ClientNeedUpgrade error code is returned, you must upgrade Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades for Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). // // - Linux: 2.2.3.282 // // - Windows: 2.1.3.282 // // - Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](https://help.aliyun.com/document_detail/87029.html). // // - If you enable the custom parameter feature when you create the command, you must specify custom parameters (`Parameters`) to run the command. // // - Before you run the command on instances, especially new instances, we recommend that you call the [DescribeCloudAssistantStatus](https://help.aliyun.com/document_detail/87346.html) operation to query the status of Cloud Assistant Agent on the instances and run the command when the value of CloudAssistantStatus in the response is true for the instances. // // @param request - InvokeCommandRequest // // @return InvokeCommandResponse func (client *Client) InvokeCommand(request *InvokeCommandRequest) (_result *InvokeCommandResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &InvokeCommandResponse{} _body, _err := client.InvokeCommandWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Adds an Elastic Compute Service (ECS) resource or service to a resource group. // // Description: // // ## [](#)Usage notes // // A resource is a cloud service entity that you create on Alibaba Cloud, such as an ECS instance, an elastic network interface (ENI), or an image. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources and monitor and run tasks in a centralized manner without the need to switch between Alibaba Cloud services. // // @param request - JoinResourceGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return JoinResourceGroupResponse func (client *Client) JoinResourceGroupWithOptions(request *JoinResourceGroupRequest, runtime *dara.RuntimeOptions) (_result *JoinResourceGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("JoinResourceGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &JoinResourceGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Adds an Elastic Compute Service (ECS) resource or service to a resource group. // // Description: // // ## [](#)Usage notes // // A resource is a cloud service entity that you create on Alibaba Cloud, such as an ECS instance, an elastic network interface (ENI), or an image. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources and monitor and run tasks in a centralized manner without the need to switch between Alibaba Cloud services. // // @param request - JoinResourceGroupRequest // // @return JoinResourceGroupResponse func (client *Client) JoinResourceGroup(request *JoinResourceGroupRequest) (_result *JoinResourceGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &JoinResourceGroupResponse{} _body, _err := client.JoinResourceGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Adds an Elastic Compute Service (ECS) instance or an elastic network interface (ENI) to a specified security group. // // Description: // // > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](https://help.aliyun.com/document_detail/25503.html) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](https://help.aliyun.com/document_detail/58513.html) operation to add an ENI to or remove an ENI from a security group. // // - An instance and an ENI cannot be added to a security group at the same time. You cannot specify `InstanceId` and `NetworkInterfaceId` at the same time in a request. // // - The security group and the ECS instance to be added to the security group must reside in the same region. // // - The security group and the instance must be of the same network type. If the network type is Virtual Private Cloud (VPC), the security group and the instance must reside in the same VPC. // // - Before you add an instance to a security group, the instance must be in the **Stopped* - or **Running* - state. // // - An instance can be added to up to five security groups by default. For more information, see [Security group limits](~~25412#SecurityGroupQuota1~~). // // @param request - JoinSecurityGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return JoinSecurityGroupResponse func (client *Client) JoinSecurityGroupWithOptions(request *JoinSecurityGroupRequest, runtime *dara.RuntimeOptions) (_result *JoinSecurityGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("JoinSecurityGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &JoinSecurityGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Adds an Elastic Compute Service (ECS) instance or an elastic network interface (ENI) to a specified security group. // // Description: // // > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](https://help.aliyun.com/document_detail/25503.html) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](https://help.aliyun.com/document_detail/58513.html) operation to add an ENI to or remove an ENI from a security group. // // - An instance and an ENI cannot be added to a security group at the same time. You cannot specify `InstanceId` and `NetworkInterfaceId` at the same time in a request. // // - The security group and the ECS instance to be added to the security group must reside in the same region. // // - The security group and the instance must be of the same network type. If the network type is Virtual Private Cloud (VPC), the security group and the instance must reside in the same VPC. // // - Before you add an instance to a security group, the instance must be in the **Stopped* - or **Running* - state. // // - An instance can be added to up to five security groups by default. For more information, see [Security group limits](~~25412#SecurityGroupQuota1~~). // // @param request - JoinSecurityGroupRequest // // @return JoinSecurityGroupResponse func (client *Client) JoinSecurityGroup(request *JoinSecurityGroupRequest) (_result *JoinSecurityGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &JoinSecurityGroupResponse{} _body, _err := client.JoinSecurityGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Removes an Elastic Compute Service (ECS) instance or an elastic network interface (ENI) from a security group. // // Description: // // > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](https://help.aliyun.com/document_detail/25503.html) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](https://help.aliyun.com/document_detail/58513.html) operation to add an ENI to or remove an ENI from a security group. // // > Alibaba Cloud modified verification rules for the LeaveSecurityGroup operation on July 8, 2024. When you remove an ECS instance or ENI that does not belong to a security group from the security group, the "InvalidSecurityGroupAssociation.NotFound" error code is returned instead of a success response. Update the LeaveSecurityGroup operation to use the new verification rules with the new error code based on your business requirements. // // - You cannot remove an instance and an ENI from a security group at the same time. This indicates that you cannot specify `InstanceId` and `NetworkInterfaceId` in one request. // // - Before you remove an instance from a security group, the instance must be in the **Stopped* - (Stopped) or **Running* - (Running) state. // // - An instance or ENI must be added to at least one security group. If you remove an instance or ENI from the only security group, the removal request fails and an error is returned. // // - When you remove an instance or ENI that is not in a security group from the security group, the removal request fails and an error is returned. // // @param request - LeaveSecurityGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return LeaveSecurityGroupResponse func (client *Client) LeaveSecurityGroupWithOptions(request *LeaveSecurityGroupRequest, runtime *dara.RuntimeOptions) (_result *LeaveSecurityGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("LeaveSecurityGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &LeaveSecurityGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Removes an Elastic Compute Service (ECS) instance or an elastic network interface (ENI) from a security group. // // Description: // // > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](https://help.aliyun.com/document_detail/25503.html) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](https://help.aliyun.com/document_detail/58513.html) operation to add an ENI to or remove an ENI from a security group. // // > Alibaba Cloud modified verification rules for the LeaveSecurityGroup operation on July 8, 2024. When you remove an ECS instance or ENI that does not belong to a security group from the security group, the "InvalidSecurityGroupAssociation.NotFound" error code is returned instead of a success response. Update the LeaveSecurityGroup operation to use the new verification rules with the new error code based on your business requirements. // // - You cannot remove an instance and an ENI from a security group at the same time. This indicates that you cannot specify `InstanceId` and `NetworkInterfaceId` in one request. // // - Before you remove an instance from a security group, the instance must be in the **Stopped* - (Stopped) or **Running* - (Running) state. // // - An instance or ENI must be added to at least one security group. If you remove an instance or ENI from the only security group, the removal request fails and an error is returned. // // - When you remove an instance or ENI that is not in a security group from the security group, the removal request fails and an error is returned. // // @param request - LeaveSecurityGroupRequest // // @return LeaveSecurityGroupResponse func (client *Client) LeaveSecurityGroup(request *LeaveSecurityGroupRequest) (_result *LeaveSecurityGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &LeaveSecurityGroupResponse{} _body, _err := client.LeaveSecurityGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the states of Cloud Assistant plug-ins on Elastic Compute Service (ECS) instances. // // Description: // // Before you call this operation to query the status of Cloud Assistant plug-ins on ECS instances, make sure that the versions of Cloud Assistant Agent on the instances are not earlier than the following ones: // // - 2.2.3.344 for Linux instances // // - 2.1.3.344 for Windows instances // // - During a paged query, when you call the ListPluginStatus operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the ListPluginStatus operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - ListPluginStatusRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ListPluginStatusResponse func (client *Client) ListPluginStatusWithOptions(request *ListPluginStatusRequest, runtime *dara.RuntimeOptions) (_result *ListPluginStatusResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.MaxResults) { query["MaxResults"] = request.MaxResults } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PageNumber) { query["PageNumber"] = request.PageNumber } if !dara.IsNil(request.PageSize) { query["PageSize"] = request.PageSize } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ListPluginStatus"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ListPluginStatusResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the states of Cloud Assistant plug-ins on Elastic Compute Service (ECS) instances. // // Description: // // Before you call this operation to query the status of Cloud Assistant plug-ins on ECS instances, make sure that the versions of Cloud Assistant Agent on the instances are not earlier than the following ones: // // - 2.2.3.344 for Linux instances // // - 2.1.3.344 for Windows instances // // - During a paged query, when you call the ListPluginStatus operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the ListPluginStatus operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. // // @param request - ListPluginStatusRequest // // @return ListPluginStatusResponse func (client *Client) ListPluginStatus(request *ListPluginStatusRequest) (_result *ListPluginStatusResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ListPluginStatusResponse{} _body, _err := client.ListPluginStatusWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Queries the tags that are added to one or more Elastic Compute Service (ECS) resources. // // Description: // // ## [](#)Usage notes // // Specify at least one of the following parameters or parameter pairs in a request to determine a query object: // // - `ResourceId.N` // // - `Tag.N` parameter pair (`Tag.N.Key` and `Tag.N.Value`) // // - `TagFilter.N` // // If one of the following sets of request parameters is specified as filter conditions, only ECS resources that meet all the specified filter conditions are returned: // // - Set 1: `Tag.N.Key, Tag.N.Value` and `ResourceId.N` // // - Set 2: `TagFilter.N.TagKey, TagFilter.N.TagValues.N` and `ResourceId.N` // // @param request - ListTagResourcesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ListTagResourcesResponse func (client *Client) ListTagResourcesWithOptions(request *ListTagResourcesRequest, runtime *dara.RuntimeOptions) (_result *ListTagResourcesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.NextToken) { query["NextToken"] = request.NextToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TagFilter) { query["TagFilter"] = request.TagFilter } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ListTagResources"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ListTagResourcesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Queries the tags that are added to one or more Elastic Compute Service (ECS) resources. // // Description: // // ## [](#)Usage notes // // Specify at least one of the following parameters or parameter pairs in a request to determine a query object: // // - `ResourceId.N` // // - `Tag.N` parameter pair (`Tag.N.Key` and `Tag.N.Value`) // // - `TagFilter.N` // // If one of the following sets of request parameters is specified as filter conditions, only ECS resources that meet all the specified filter conditions are returned: // // - Set 1: `Tag.N.Key, Tag.N.Value` and `ResourceId.N` // // - Set 2: `TagFilter.N.TagKey, TagFilter.N.TagValues.N` and `ResourceId.N` // // @param request - ListTagResourcesRequest // // @return ListTagResourcesResponse func (client *Client) ListTagResources(request *ListTagResourcesRequest) (_result *ListTagResourcesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ListTagResourcesResponse{} _body, _err := client.ListTagResourcesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Lock the snapshot in compliance mode to prevent it from being accidentally or maliciously deleted. During the snapshot lock period, no user can delete it. // // Description: // // You can also use this operation to reconfigure locked snapshots. The configurable items depend on the lock mode and lock status: // // - If a snapshot is locked in compliance mode and is in a cooling-off period, you can extend or shorten the cooling-off period and extend or shorten the lock duration. // // - If the snapshot is locked in compliance mode and the cooling-off period has expired, you can only extend the lock duration. // // > If you reconfigure a locked snapshot during the cooling-off period, the system will be regarded as a relock operation, and all lock parameters will be reset instead of individual adjustments. // // @param request - LockSnapshotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return LockSnapshotResponse func (client *Client) LockSnapshotWithOptions(request *LockSnapshotRequest, runtime *dara.RuntimeOptions) (_result *LockSnapshotResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.CoolOffPeriod) { query["CoolOffPeriod"] = request.CoolOffPeriod } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.LockDuration) { query["LockDuration"] = request.LockDuration } if !dara.IsNil(request.LockMode) { query["LockMode"] = request.LockMode } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("LockSnapshot"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &LockSnapshotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Lock the snapshot in compliance mode to prevent it from being accidentally or maliciously deleted. During the snapshot lock period, no user can delete it. // // Description: // // You can also use this operation to reconfigure locked snapshots. The configurable items depend on the lock mode and lock status: // // - If a snapshot is locked in compliance mode and is in a cooling-off period, you can extend or shorten the cooling-off period and extend or shorten the lock duration. // // - If the snapshot is locked in compliance mode and the cooling-off period has expired, you can only extend the lock duration. // // > If you reconfigure a locked snapshot during the cooling-off period, the system will be regarded as a relock operation, and all lock parameters will be reset instead of individual adjustments. // // @param request - LockSnapshotRequest // // @return LockSnapshotResponse func (client *Client) LockSnapshot(request *LockSnapshotRequest) (_result *LockSnapshotResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &LockSnapshotResponse{} _body, _err := client.LockSnapshotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the configurations of an auto provisioning group. // // Description: // // Before you call this operation, take note of the following items: // // - If you modify the capacity or capacity-related settings of an auto-provisioning group, the group executes a scheduling task after the group is modified. // // - You cannot modify an auto-provisioning group when the group is being deleted. // // @param request - ModifyAutoProvisioningGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyAutoProvisioningGroupResponse func (client *Client) ModifyAutoProvisioningGroupWithOptions(request *ModifyAutoProvisioningGroupRequest, runtime *dara.RuntimeOptions) (_result *ModifyAutoProvisioningGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoProvisioningGroupId) { query["AutoProvisioningGroupId"] = request.AutoProvisioningGroupId } if !dara.IsNil(request.AutoProvisioningGroupName) { query["AutoProvisioningGroupName"] = request.AutoProvisioningGroupName } if !dara.IsNil(request.DefaultTargetCapacityType) { query["DefaultTargetCapacityType"] = request.DefaultTargetCapacityType } if !dara.IsNil(request.ExcessCapacityTerminationPolicy) { query["ExcessCapacityTerminationPolicy"] = request.ExcessCapacityTerminationPolicy } if !dara.IsNil(request.LaunchTemplateConfig) { query["LaunchTemplateConfig"] = request.LaunchTemplateConfig } if !dara.IsNil(request.MaxSpotPrice) { query["MaxSpotPrice"] = request.MaxSpotPrice } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PayAsYouGoTargetCapacity) { query["PayAsYouGoTargetCapacity"] = request.PayAsYouGoTargetCapacity } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SpotTargetCapacity) { query["SpotTargetCapacity"] = request.SpotTargetCapacity } if !dara.IsNil(request.TerminateInstancesWithExpiration) { query["TerminateInstancesWithExpiration"] = request.TerminateInstancesWithExpiration } if !dara.IsNil(request.TotalTargetCapacity) { query["TotalTargetCapacity"] = request.TotalTargetCapacity } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyAutoProvisioningGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyAutoProvisioningGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the configurations of an auto provisioning group. // // Description: // // Before you call this operation, take note of the following items: // // - If you modify the capacity or capacity-related settings of an auto-provisioning group, the group executes a scheduling task after the group is modified. // // - You cannot modify an auto-provisioning group when the group is being deleted. // // @param request - ModifyAutoProvisioningGroupRequest // // @return ModifyAutoProvisioningGroupResponse func (client *Client) ModifyAutoProvisioningGroup(request *ModifyAutoProvisioningGroupRequest) (_result *ModifyAutoProvisioningGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyAutoProvisioningGroupResponse{} _body, _err := client.ModifyAutoProvisioningGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies an automatic snapshot policy. For example, you can change the points in time of the day at which to create automatic snapshots, days of the week on which to create automatic snapshots, and retention period of automatic snapshots for the automatic snapshot policy. // // Description: // // Before you call this operation, take note of the following items: // // - You cannot modify system policies. // // - After an automatic snapshot policy is modified, the modifications immediately take effect on the disks that are associated with the policy. // // - If cross-region replication for snapshots is enabled and no encryption parameters are configured, the generated encrypted snapshot copies are encrypted by using the Key Management Service (KMS) encryption keys in the region to which the snapshots are copied. // // @param request - ModifyAutoSnapshotPolicyExRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyAutoSnapshotPolicyExResponse func (client *Client) ModifyAutoSnapshotPolicyExWithOptions(request *ModifyAutoSnapshotPolicyExRequest, runtime *dara.RuntimeOptions) (_result *ModifyAutoSnapshotPolicyExResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CopiedSnapshotsRetentionDays) { query["CopiedSnapshotsRetentionDays"] = request.CopiedSnapshotsRetentionDays } if !dara.IsNil(request.CopyEncryptionConfiguration) { query["CopyEncryptionConfiguration"] = request.CopyEncryptionConfiguration } if !dara.IsNil(request.EnableCrossRegionCopy) { query["EnableCrossRegionCopy"] = request.EnableCrossRegionCopy } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TargetCopyRegions) { query["TargetCopyRegions"] = request.TargetCopyRegions } if !dara.IsNil(request.AutoSnapshotPolicyId) { query["autoSnapshotPolicyId"] = request.AutoSnapshotPolicyId } if !dara.IsNil(request.AutoSnapshotPolicyName) { query["autoSnapshotPolicyName"] = request.AutoSnapshotPolicyName } if !dara.IsNil(request.RegionId) { query["regionId"] = request.RegionId } if !dara.IsNil(request.RepeatWeekdays) { query["repeatWeekdays"] = request.RepeatWeekdays } if !dara.IsNil(request.RetentionDays) { query["retentionDays"] = request.RetentionDays } if !dara.IsNil(request.TimePoints) { query["timePoints"] = request.TimePoints } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyAutoSnapshotPolicyEx"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyAutoSnapshotPolicyExResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies an automatic snapshot policy. For example, you can change the points in time of the day at which to create automatic snapshots, days of the week on which to create automatic snapshots, and retention period of automatic snapshots for the automatic snapshot policy. // // Description: // // Before you call this operation, take note of the following items: // // - You cannot modify system policies. // // - After an automatic snapshot policy is modified, the modifications immediately take effect on the disks that are associated with the policy. // // - If cross-region replication for snapshots is enabled and no encryption parameters are configured, the generated encrypted snapshot copies are encrypted by using the Key Management Service (KMS) encryption keys in the region to which the snapshots are copied. // // @param request - ModifyAutoSnapshotPolicyExRequest // // @return ModifyAutoSnapshotPolicyExResponse func (client *Client) ModifyAutoSnapshotPolicyEx(request *ModifyAutoSnapshotPolicyExRequest) (_result *ModifyAutoSnapshotPolicyExResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyAutoSnapshotPolicyExResponse{} _body, _err := client.ModifyAutoSnapshotPolicyExWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyBandwidthPackageSpec is deprecated // // Summary: // // # ModifyBandwidthPackageSpec // // @param request - ModifyBandwidthPackageSpecRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyBandwidthPackageSpecResponse func (client *Client) ModifyBandwidthPackageSpecWithOptions(request *ModifyBandwidthPackageSpecRequest, runtime *dara.RuntimeOptions) (_result *ModifyBandwidthPackageSpecResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Bandwidth) { query["Bandwidth"] = request.Bandwidth } if !dara.IsNil(request.BandwidthPackageId) { query["BandwidthPackageId"] = request.BandwidthPackageId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyBandwidthPackageSpec"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyBandwidthPackageSpecResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyBandwidthPackageSpec is deprecated // // Summary: // // # ModifyBandwidthPackageSpec // // @param request - ModifyBandwidthPackageSpecRequest // // @return ModifyBandwidthPackageSpecResponse // Deprecated func (client *Client) ModifyBandwidthPackageSpec(request *ModifyBandwidthPackageSpecRequest) (_result *ModifyBandwidthPackageSpecResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyBandwidthPackageSpecResponse{} _body, _err := client.ModifyBandwidthPackageSpecWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the information of a capacity reservation, including the name, description, release mode, and the total number of Elastic Compute Service (ECS) instances for which capacity is reserved. // // @param request - ModifyCapacityReservationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyCapacityReservationResponse func (client *Client) ModifyCapacityReservationWithOptions(request *ModifyCapacityReservationRequest, runtime *dara.RuntimeOptions) (_result *ModifyCapacityReservationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.EndTimeType) { query["EndTimeType"] = request.EndTimeType } if !dara.IsNil(request.InstanceAmount) { query["InstanceAmount"] = request.InstanceAmount } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyCapacityReservation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyCapacityReservationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the information of a capacity reservation, including the name, description, release mode, and the total number of Elastic Compute Service (ECS) instances for which capacity is reserved. // // @param request - ModifyCapacityReservationRequest // // @return ModifyCapacityReservationResponse func (client *Client) ModifyCapacityReservation(request *ModifyCapacityReservationRequest) (_result *ModifyCapacityReservationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyCapacityReservationResponse{} _body, _err := client.ModifyCapacityReservationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the configurations of a Cloud Assistant feature. // // @param tmpReq - ModifyCloudAssistantSettingsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyCloudAssistantSettingsResponse func (client *Client) ModifyCloudAssistantSettingsWithOptions(tmpReq *ModifyCloudAssistantSettingsRequest, runtime *dara.RuntimeOptions) (_result *ModifyCloudAssistantSettingsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &ModifyCloudAssistantSettingsShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.AgentUpgradeConfig) { request.AgentUpgradeConfigShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.AgentUpgradeConfig, dara.String("AgentUpgradeConfig"), dara.String("json")) } if !dara.IsNil(tmpReq.OssDeliveryConfig) { request.OssDeliveryConfigShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.OssDeliveryConfig, dara.String("OssDeliveryConfig"), dara.String("json")) } if !dara.IsNil(tmpReq.SessionManagerConfig) { request.SessionManagerConfigShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.SessionManagerConfig, dara.String("SessionManagerConfig"), dara.String("json")) } if !dara.IsNil(tmpReq.SlsDeliveryConfig) { request.SlsDeliveryConfigShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.SlsDeliveryConfig, dara.String("SlsDeliveryConfig"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.AgentUpgradeConfigShrink) { query["AgentUpgradeConfig"] = request.AgentUpgradeConfigShrink } if !dara.IsNil(request.OssDeliveryConfigShrink) { query["OssDeliveryConfig"] = request.OssDeliveryConfigShrink } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SessionManagerConfigShrink) { query["SessionManagerConfig"] = request.SessionManagerConfigShrink } if !dara.IsNil(request.SettingType) { query["SettingType"] = request.SettingType } if !dara.IsNil(request.SlsDeliveryConfigShrink) { query["SlsDeliveryConfig"] = request.SlsDeliveryConfigShrink } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyCloudAssistantSettings"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyCloudAssistantSettingsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the configurations of a Cloud Assistant feature. // // @param request - ModifyCloudAssistantSettingsRequest // // @return ModifyCloudAssistantSettingsResponse func (client *Client) ModifyCloudAssistantSettings(request *ModifyCloudAssistantSettingsRequest) (_result *ModifyCloudAssistantSettingsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyCloudAssistantSettingsResponse{} _body, _err := client.ModifyCloudAssistantSettingsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the parameters of a Cloud Assistant command. // // Description: // // You can modify a command when it is run. After the command is modified, the new command content applies to subsequent executions. // // You cannot modify the command type. For example, you cannot change a shell command (RunShellScript) to a batch command (RunBatScript). // // @param request - ModifyCommandRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyCommandResponse func (client *Client) ModifyCommandWithOptions(request *ModifyCommandRequest, runtime *dara.RuntimeOptions) (_result *ModifyCommandResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CommandContent) { query["CommandContent"] = request.CommandContent } if !dara.IsNil(request.CommandId) { query["CommandId"] = request.CommandId } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Launcher) { query["Launcher"] = request.Launcher } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Timeout) { query["Timeout"] = request.Timeout } if !dara.IsNil(request.WorkingDir) { query["WorkingDir"] = request.WorkingDir } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyCommand"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyCommandResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the parameters of a Cloud Assistant command. // // Description: // // You can modify a command when it is run. After the command is modified, the new command content applies to subsequent executions. // // You cannot modify the command type. For example, you cannot change a shell command (RunShellScript) to a batch command (RunBatScript). // // @param request - ModifyCommandRequest // // @return ModifyCommandResponse func (client *Client) ModifyCommand(request *ModifyCommandRequest) (_result *ModifyCommandResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyCommandResponse{} _body, _err := client.ModifyCommandWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the information about a dedicated host, such as the name, description, and instance migration policy that is applied when the dedicated host fails. // // Description: // // ## [](#)Usage notes // // - All Elastic Compute Service (ECS) instances that are hosted on a dedicated host must be in the Stopped (`Stopped`) state before you can modify the CPU overcommit ratio of the dedicated host. // // - Changes to the CPU overcommit ratio of a dedicated host do not affect the running status of the dedicated host. After the CPU overcommit ratio is changed, the number of allocated vCPUs on the dedicated host cannot exceed the new total number of vCPUs. Otherwise, ECS instances that use the excess vCPUs cannot start. // // @param request - ModifyDedicatedHostAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDedicatedHostAttributeResponse func (client *Client) ModifyDedicatedHostAttributeWithOptions(request *ModifyDedicatedHostAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDedicatedHostAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActionOnMaintenance) { query["ActionOnMaintenance"] = request.ActionOnMaintenance } if !dara.IsNil(request.AutoPlacement) { query["AutoPlacement"] = request.AutoPlacement } if !dara.IsNil(request.CpuOverCommitRatio) { query["CpuOverCommitRatio"] = request.CpuOverCommitRatio } if !dara.IsNil(request.DedicatedHostClusterId) { query["DedicatedHostClusterId"] = request.DedicatedHostClusterId } if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.DedicatedHostName) { query["DedicatedHostName"] = request.DedicatedHostName } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.NetworkAttributes) { query["NetworkAttributes"] = request.NetworkAttributes } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDedicatedHostAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDedicatedHostAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the information about a dedicated host, such as the name, description, and instance migration policy that is applied when the dedicated host fails. // // Description: // // ## [](#)Usage notes // // - All Elastic Compute Service (ECS) instances that are hosted on a dedicated host must be in the Stopped (`Stopped`) state before you can modify the CPU overcommit ratio of the dedicated host. // // - Changes to the CPU overcommit ratio of a dedicated host do not affect the running status of the dedicated host. After the CPU overcommit ratio is changed, the number of allocated vCPUs on the dedicated host cannot exceed the new total number of vCPUs. Otherwise, ECS instances that use the excess vCPUs cannot start. // // @param request - ModifyDedicatedHostAttributeRequest // // @return ModifyDedicatedHostAttributeResponse func (client *Client) ModifyDedicatedHostAttribute(request *ModifyDedicatedHostAttributeRequest) (_result *ModifyDedicatedHostAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDedicatedHostAttributeResponse{} _body, _err := client.ModifyDedicatedHostAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Sets the automatic release time for a pay-as-you-go dedicated host or cancels its automatic release. // // Description: // // ## Usage notes // // A pay-as-you-go dedicated host can be automatically released at the specified time. Before you release a pay-as-you-go dedicated host, make sure that the host is no longer required and all necessary application data is backed up. // // @param request - ModifyDedicatedHostAutoReleaseTimeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDedicatedHostAutoReleaseTimeResponse func (client *Client) ModifyDedicatedHostAutoReleaseTimeWithOptions(request *ModifyDedicatedHostAutoReleaseTimeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDedicatedHostAutoReleaseTimeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoReleaseTime) { query["AutoReleaseTime"] = request.AutoReleaseTime } if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDedicatedHostAutoReleaseTime"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDedicatedHostAutoReleaseTimeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Sets the automatic release time for a pay-as-you-go dedicated host or cancels its automatic release. // // Description: // // ## Usage notes // // A pay-as-you-go dedicated host can be automatically released at the specified time. Before you release a pay-as-you-go dedicated host, make sure that the host is no longer required and all necessary application data is backed up. // // @param request - ModifyDedicatedHostAutoReleaseTimeRequest // // @return ModifyDedicatedHostAutoReleaseTimeResponse func (client *Client) ModifyDedicatedHostAutoReleaseTime(request *ModifyDedicatedHostAutoReleaseTimeRequest) (_result *ModifyDedicatedHostAutoReleaseTimeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDedicatedHostAutoReleaseTimeResponse{} _body, _err := client.ModifyDedicatedHostAutoReleaseTimeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Enables or disables auto-renewal for one or more subscription dedicated hosts. // // Description: // // If you enable auto-renewal for your subscription dedicated host, the system attempts to deduct the renewal payment at 08:00:00 (UTC+8) nine days before the dedicated host expires to renew the dedicated host. If this deduction attempt fails, the system attempt to deduct the payment at the same point in time the next day. The system attempts to deduct the payment once every day until the dedicated host expires or until the payment is deducted. Make sure that your account balance is sufficient. // // - Subscription dedicated hosts can be automatically renewed along with the subscription Elastic Compute Service (ECS) instances hosted on the dedicated hosts. For more information, see the description of the AutoRenewWithEcs parameter. // // @param request - ModifyDedicatedHostAutoRenewAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDedicatedHostAutoRenewAttributeResponse func (client *Client) ModifyDedicatedHostAutoRenewAttributeWithOptions(request *ModifyDedicatedHostAutoRenewAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDedicatedHostAutoRenewAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewWithEcs) { query["AutoRenewWithEcs"] = request.AutoRenewWithEcs } if !dara.IsNil(request.DedicatedHostIds) { query["DedicatedHostIds"] = request.DedicatedHostIds } if !dara.IsNil(request.Duration) { query["Duration"] = request.Duration } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RenewalStatus) { query["RenewalStatus"] = request.RenewalStatus } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDedicatedHostAutoRenewAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDedicatedHostAutoRenewAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Enables or disables auto-renewal for one or more subscription dedicated hosts. // // Description: // // If you enable auto-renewal for your subscription dedicated host, the system attempts to deduct the renewal payment at 08:00:00 (UTC+8) nine days before the dedicated host expires to renew the dedicated host. If this deduction attempt fails, the system attempt to deduct the payment at the same point in time the next day. The system attempts to deduct the payment once every day until the dedicated host expires or until the payment is deducted. Make sure that your account balance is sufficient. // // - Subscription dedicated hosts can be automatically renewed along with the subscription Elastic Compute Service (ECS) instances hosted on the dedicated hosts. For more information, see the description of the AutoRenewWithEcs parameter. // // @param request - ModifyDedicatedHostAutoRenewAttributeRequest // // @return ModifyDedicatedHostAutoRenewAttributeResponse func (client *Client) ModifyDedicatedHostAutoRenewAttribute(request *ModifyDedicatedHostAutoRenewAttributeRequest) (_result *ModifyDedicatedHostAutoRenewAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDedicatedHostAutoRenewAttributeResponse{} _body, _err := client.ModifyDedicatedHostAutoRenewAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the information of a dedicated host group, including the name, description, and properties. // // @param request - ModifyDedicatedHostClusterAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDedicatedHostClusterAttributeResponse func (client *Client) ModifyDedicatedHostClusterAttributeWithOptions(request *ModifyDedicatedHostClusterAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDedicatedHostClusterAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostClusterId) { query["DedicatedHostClusterId"] = request.DedicatedHostClusterId } if !dara.IsNil(request.DedicatedHostClusterName) { query["DedicatedHostClusterName"] = request.DedicatedHostClusterName } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDedicatedHostClusterAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDedicatedHostClusterAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the information of a dedicated host group, including the name, description, and properties. // // @param request - ModifyDedicatedHostClusterAttributeRequest // // @return ModifyDedicatedHostClusterAttributeResponse func (client *Client) ModifyDedicatedHostClusterAttribute(request *ModifyDedicatedHostClusterAttributeRequest) (_result *ModifyDedicatedHostClusterAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDedicatedHostClusterAttributeResponse{} _body, _err := client.ModifyDedicatedHostClusterAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the billing method of dedicated hosts. // // @param request - ModifyDedicatedHostsChargeTypeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDedicatedHostsChargeTypeResponse func (client *Client) ModifyDedicatedHostsChargeTypeWithOptions(request *ModifyDedicatedHostsChargeTypeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDedicatedHostsChargeTypeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DedicatedHostChargeType) { query["DedicatedHostChargeType"] = request.DedicatedHostChargeType } if !dara.IsNil(request.DedicatedHostIds) { query["DedicatedHostIds"] = request.DedicatedHostIds } if !dara.IsNil(request.DetailFee) { query["DetailFee"] = request.DetailFee } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDedicatedHostsChargeType"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDedicatedHostsChargeTypeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the billing method of dedicated hosts. // // @param request - ModifyDedicatedHostsChargeTypeRequest // // @return ModifyDedicatedHostsChargeTypeResponse func (client *Client) ModifyDedicatedHostsChargeType(request *ModifyDedicatedHostsChargeTypeRequest) (_result *ModifyDedicatedHostsChargeTypeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDedicatedHostsChargeTypeResponse{} _body, _err := client.ModifyDedicatedHostsChargeTypeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name and description of a deployment set. // // @param request - ModifyDeploymentSetAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDeploymentSetAttributeResponse func (client *Client) ModifyDeploymentSetAttributeWithOptions(request *ModifyDeploymentSetAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDeploymentSetAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DeploymentSetId) { query["DeploymentSetId"] = request.DeploymentSetId } if !dara.IsNil(request.DeploymentSetName) { query["DeploymentSetName"] = request.DeploymentSetName } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDeploymentSetAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDeploymentSetAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name and description of a deployment set. // // @param request - ModifyDeploymentSetAttributeRequest // // @return ModifyDeploymentSetAttributeResponse func (client *Client) ModifyDeploymentSetAttribute(request *ModifyDeploymentSetAttributeRequest) (_result *ModifyDeploymentSetAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDeploymentSetAttributeResponse{} _body, _err := client.ModifyDeploymentSetAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies a diagnostic metric set. // // @param request - ModifyDiagnosticMetricSetRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDiagnosticMetricSetResponse func (client *Client) ModifyDiagnosticMetricSetWithOptions(request *ModifyDiagnosticMetricSetRequest, runtime *dara.RuntimeOptions) (_result *ModifyDiagnosticMetricSetResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.MetricIds) { query["MetricIds"] = request.MetricIds } if !dara.IsNil(request.MetricSetId) { query["MetricSetId"] = request.MetricSetId } if !dara.IsNil(request.MetricSetName) { query["MetricSetName"] = request.MetricSetName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDiagnosticMetricSet"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDiagnosticMetricSetResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies a diagnostic metric set. // // @param request - ModifyDiagnosticMetricSetRequest // // @return ModifyDiagnosticMetricSetResponse func (client *Client) ModifyDiagnosticMetricSet(request *ModifyDiagnosticMetricSetRequest) (_result *ModifyDiagnosticMetricSetResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDiagnosticMetricSetResponse{} _body, _err := client.ModifyDiagnosticMetricSetWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name, description, release behavior with ECS instance, snapshot deletion on disk removal, automatic snapshot policy feature, and performance burst feature for one or more block storage devices. // // Description: // // You can use `DiskId` to specify a block storage device and modify the attributes of the device, such as the name and description of the device and whether to release the device together with the associated instance. You can use `DiskIds.N` to specify multiple block storage devices and batch modify the attributes of the devices. // // @param request - ModifyDiskAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDiskAttributeResponse func (client *Client) ModifyDiskAttributeWithOptions(request *ModifyDiskAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDiskAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BurstingEnabled) { query["BurstingEnabled"] = request.BurstingEnabled } if !dara.IsNil(request.DeleteAutoSnapshot) { query["DeleteAutoSnapshot"] = request.DeleteAutoSnapshot } if !dara.IsNil(request.DeleteWithInstance) { query["DeleteWithInstance"] = request.DeleteWithInstance } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.DiskIds) { query["DiskIds"] = request.DiskIds } if !dara.IsNil(request.DiskName) { query["DiskName"] = request.DiskName } if !dara.IsNil(request.EnableAutoSnapshot) { query["EnableAutoSnapshot"] = request.EnableAutoSnapshot } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDiskAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDiskAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name, description, release behavior with ECS instance, snapshot deletion on disk removal, automatic snapshot policy feature, and performance burst feature for one or more block storage devices. // // Description: // // You can use `DiskId` to specify a block storage device and modify the attributes of the device, such as the name and description of the device and whether to release the device together with the associated instance. You can use `DiskIds.N` to specify multiple block storage devices and batch modify the attributes of the devices. // // @param request - ModifyDiskAttributeRequest // // @return ModifyDiskAttributeResponse func (client *Client) ModifyDiskAttribute(request *ModifyDiskAttributeRequest) (_result *ModifyDiskAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDiskAttributeResponse{} _body, _err := client.ModifyDiskAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Converts the billing method of a data disk attached to a subscription ECS instance between pay-as-you-go and subscription. // // Description: // // For information about how to change the billing method of cloud disks, see [Change the billing methods of a disk](https://help.aliyun.com/document_detail/145018.html). // // Take note of the following items: // // - Only pay-as-you-go disks can be attached to pay-as-you-go instances, and the billing methods of the disks cannot be changed. // // - The instance to which data disks are attached cannot be in the Stopped state due to expiration. // // - The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are nonrefundable. // // - You cannot change the billing method again within 5 minutes of a successful change. // // After you change the billing method, the payment (if any) is automatically completed. Maintain sufficient balance in your account. Otherwise, your order becomes invalid and must be canceled. If your account balance is insufficient, you can set AutoPay to false to generate an unpaid order. Then, log on to the **Expenses and Costs console**, go to the [Orders page](https://usercenter2-intl.aliyun.com/order/list), and pay for the order. // // @param request - ModifyDiskChargeTypeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDiskChargeTypeResponse func (client *Client) ModifyDiskChargeTypeWithOptions(request *ModifyDiskChargeTypeRequest, runtime *dara.RuntimeOptions) (_result *ModifyDiskChargeTypeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DiskChargeType) { query["DiskChargeType"] = request.DiskChargeType } if !dara.IsNil(request.DiskIds) { query["DiskIds"] = request.DiskIds } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDiskChargeType"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDiskChargeTypeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Converts the billing method of a data disk attached to a subscription ECS instance between pay-as-you-go and subscription. // // Description: // // For information about how to change the billing method of cloud disks, see [Change the billing methods of a disk](https://help.aliyun.com/document_detail/145018.html). // // Take note of the following items: // // - Only pay-as-you-go disks can be attached to pay-as-you-go instances, and the billing methods of the disks cannot be changed. // // - The instance to which data disks are attached cannot be in the Stopped state due to expiration. // // - The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are nonrefundable. // // - You cannot change the billing method again within 5 minutes of a successful change. // // After you change the billing method, the payment (if any) is automatically completed. Maintain sufficient balance in your account. Otherwise, your order becomes invalid and must be canceled. If your account balance is insufficient, you can set AutoPay to false to generate an unpaid order. Then, log on to the **Expenses and Costs console**, go to the [Orders page](https://usercenter2-intl.aliyun.com/order/list), and pay for the order. // // @param request - ModifyDiskChargeTypeRequest // // @return ModifyDiskChargeTypeResponse func (client *Client) ModifyDiskChargeType(request *ModifyDiskChargeTypeRequest) (_result *ModifyDiskChargeTypeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDiskChargeTypeResponse{} _body, _err := client.ModifyDiskChargeTypeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the Key Management Service (KMS) key used by the Account-level Elastic Block Storage (EBS) Default Encryption feature in a region. // // Description: // // To call this operation as a Resource Access Management (RAM) user, grant the `AliyunECSFullAccess` permission to the RAM user. For more information, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - Before you can call this operation in a region, make sure that the Account-level EBS Default Encryption feature is enabled in the region. // // - The first time you use a customer master key (CMK), you must use the `AliyunECSDiskEncryptDefaultRole` role to grant Elastic Compute Service (ECS) access to KMS resources. For more information, see [Grant access to KMS keys through RAM roles](https://help.aliyun.com/document_detail/2838993.html). // // @param request - ModifyDiskDefaultKMSKeyIdRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDiskDefaultKMSKeyIdResponse func (client *Client) ModifyDiskDefaultKMSKeyIdWithOptions(request *ModifyDiskDefaultKMSKeyIdRequest, runtime *dara.RuntimeOptions) (_result *ModifyDiskDefaultKMSKeyIdResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.KMSKeyId) { query["KMSKeyId"] = request.KMSKeyId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDiskDefaultKMSKeyId"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDiskDefaultKMSKeyIdResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the Key Management Service (KMS) key used by the Account-level Elastic Block Storage (EBS) Default Encryption feature in a region. // // Description: // // To call this operation as a Resource Access Management (RAM) user, grant the `AliyunECSFullAccess` permission to the RAM user. For more information, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - Before you can call this operation in a region, make sure that the Account-level EBS Default Encryption feature is enabled in the region. // // - The first time you use a customer master key (CMK), you must use the `AliyunECSDiskEncryptDefaultRole` role to grant Elastic Compute Service (ECS) access to KMS resources. For more information, see [Grant access to KMS keys through RAM roles](https://help.aliyun.com/document_detail/2838993.html). // // @param request - ModifyDiskDefaultKMSKeyIdRequest // // @return ModifyDiskDefaultKMSKeyIdResponse func (client *Client) ModifyDiskDefaultKMSKeyId(request *ModifyDiskDefaultKMSKeyIdRequest) (_result *ModifyDiskDefaultKMSKeyIdResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDiskDefaultKMSKeyIdResponse{} _body, _err := client.ModifyDiskDefaultKMSKeyIdWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Migrates disks to or from a dedicated block storage cluster, or migrates disks between different dedicated block storage clusters. // // Description: // // > The Dedicated Block Storage Cluster feature is available in the following regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Heyuan), Indonesia (Jakarta), Germany (Frankfurt), and China South 1 Finance. // // Before you call the ModifyDiskDeployment operation, make sure that you fully understand the billing methods and prices of disks and dedicated block storage clusters. In addition, make sure that the dedicated block storage clusters are unexpired and your account has no overdue payments. For more information, see [Dedicated block storage cluster](https://help.aliyun.com/document_detail/208883.html) and [Block storage devices](https://help.aliyun.com/document_detail/179022.html). // // Take note of the following items: // // - The disks and a dedicated block storage cluster to which you want to migrate the disk must be in the same zone. // // - You can migrate only pay-as-you-go disks. If you want to migrate subscription disks, change the disks to pay-as-you-go disks first. For more information, see [Change the billing method of a disk](https://help.aliyun.com/document_detail/145018.html). // // - The specifications of disks that you want to migrate to a destination block storage cluster must the same as the disk specifications that the destination dedicated block storage cluster supports. During migration, you can change the specifications of the disks to ensure specification consistency. // // - The disk must be in the **In Use* - (In_Use) or **Available* - (Available) state. // // - If the disk is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running* - (Running) or **Stopped* - (Stopped) state. The ECS instance cannot be in the Expired state. // // - The performance level of an Enterprise SSD (ESSD) is limited by the ESSD disk size. If you cannot upgrade the performance level of an ESSD, extend the ESSD and try again. For more information, see [ResizeDisk](https://help.aliyun.com/document_detail/25522.html) and [ESSDs](https://help.aliyun.com/document_detail/122389.html). // // - An account can perform up to five disk migration tasks in the same region at the same time. // // - When a disk is being migrated, you cannot cancel the migration task, create snapshots for the disk, change the disk configurations, resize the disk, mount the disk, unmount the disk, or re-initialize the disk. // // > After you migrate a disk to a destination cluster by calling the ModifyDiskDeployment operation, the billing method, disk specifications, and capabilities of the destination cluster take effect immediately on the disk. Alibaba Cloud charges the disk based on the disk category and performance level. For more information, see [Dedicated block storage cluster](https://help.aliyun.com/document_detail/208883.html) and [Block storage devices](https://help.aliyun.com/document_detail/179022.html). // // @param request - ModifyDiskDeploymentRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDiskDeploymentResponse func (client *Client) ModifyDiskDeploymentWithOptions(request *ModifyDiskDeploymentRequest, runtime *dara.RuntimeOptions) (_result *ModifyDiskDeploymentResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DiskCategory) { query["DiskCategory"] = request.DiskCategory } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PerformanceLevel) { query["PerformanceLevel"] = request.PerformanceLevel } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageClusterId) { query["StorageClusterId"] = request.StorageClusterId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDiskDeployment"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDiskDeploymentResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Migrates disks to or from a dedicated block storage cluster, or migrates disks between different dedicated block storage clusters. // // Description: // // > The Dedicated Block Storage Cluster feature is available in the following regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Heyuan), Indonesia (Jakarta), Germany (Frankfurt), and China South 1 Finance. // // Before you call the ModifyDiskDeployment operation, make sure that you fully understand the billing methods and prices of disks and dedicated block storage clusters. In addition, make sure that the dedicated block storage clusters are unexpired and your account has no overdue payments. For more information, see [Dedicated block storage cluster](https://help.aliyun.com/document_detail/208883.html) and [Block storage devices](https://help.aliyun.com/document_detail/179022.html). // // Take note of the following items: // // - The disks and a dedicated block storage cluster to which you want to migrate the disk must be in the same zone. // // - You can migrate only pay-as-you-go disks. If you want to migrate subscription disks, change the disks to pay-as-you-go disks first. For more information, see [Change the billing method of a disk](https://help.aliyun.com/document_detail/145018.html). // // - The specifications of disks that you want to migrate to a destination block storage cluster must the same as the disk specifications that the destination dedicated block storage cluster supports. During migration, you can change the specifications of the disks to ensure specification consistency. // // - The disk must be in the **In Use* - (In_Use) or **Available* - (Available) state. // // - If the disk is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running* - (Running) or **Stopped* - (Stopped) state. The ECS instance cannot be in the Expired state. // // - The performance level of an Enterprise SSD (ESSD) is limited by the ESSD disk size. If you cannot upgrade the performance level of an ESSD, extend the ESSD and try again. For more information, see [ResizeDisk](https://help.aliyun.com/document_detail/25522.html) and [ESSDs](https://help.aliyun.com/document_detail/122389.html). // // - An account can perform up to five disk migration tasks in the same region at the same time. // // - When a disk is being migrated, you cannot cancel the migration task, create snapshots for the disk, change the disk configurations, resize the disk, mount the disk, unmount the disk, or re-initialize the disk. // // > After you migrate a disk to a destination cluster by calling the ModifyDiskDeployment operation, the billing method, disk specifications, and capabilities of the destination cluster take effect immediately on the disk. Alibaba Cloud charges the disk based on the disk category and performance level. For more information, see [Dedicated block storage cluster](https://help.aliyun.com/document_detail/208883.html) and [Block storage devices](https://help.aliyun.com/document_detail/179022.html). // // @param request - ModifyDiskDeploymentRequest // // @return ModifyDiskDeploymentResponse func (client *Client) ModifyDiskDeployment(request *ModifyDiskDeploymentRequest) (_result *ModifyDiskDeploymentResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDiskDeploymentResponse{} _body, _err := client.ModifyDiskDeploymentWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the disk category of a cloud disk or the performance level of an Enterprise SSD (ESSD). You cannot change the disk categories of Regional ESSDs, basic disks, elastic ephemeral disks, and local disks. // // Description: // // To minimize impacts on your business, change the disk categories or performance levels of cloud disks during off-peak hours. // // Take note of the following items: // // - To change the performance level of an ESSD, take note of the following items: // // - If the ESSD is a subscription ESSD, you can only upgrade its performance level. // // - If the ESSD is a pay-as-you-go ESSD, you can upgrade or downgrade its performance level. However, you cannot downgrade the performance level to PL0. // // - The ESSD must be in the **In Use* - (In_Use) or **Unattached* - (Available) state. // // - If the ESSD is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running* - (Running) or **Stopped* - (Stopped) state. The instance cannot be in the Expired state or stopped due to an overdue payment. // // - If you cannot upgrade the performance level of an ESSD due to the capacity limit, extend the ESSD by calling the [ResizeDisk](https://help.aliyun.com/document_detail/25522.html) operation and then try again. For more information, see [ESSDs](https://help.aliyun.com/document_detail/122389.html). // // - For information about the limits on changing the disk category of a cloud disk, see [Change the category of a disk](~~161980#section_s4a_to0_1jx~~). // // - For the disk categories to which cloud disks of each disk category can be changed, see [Change the category of a disk](~~161980#eb8bb54032nho~~). // // After the disk category of a cloud disk is changed, the billing of the cloud disk has the following changes: // // - If the cloud disk is a pay-as-you-go disk, you are charged for the disk based on the new disk category. // // - If the cloud disk is a subscription disk, you may be charged additionally based on the price difference between the old and new disk categories and the remaining days of the billing cycle, starting from 00:00 the next day until the end of the subscription period. // // For information about the billing of cloud disks, see [Block storage devices](https://help.aliyun.com/document_detail/179022.html). // // @param request - ModifyDiskSpecRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyDiskSpecResponse func (client *Client) ModifyDiskSpecWithOptions(request *ModifyDiskSpecRequest, runtime *dara.RuntimeOptions) (_result *ModifyDiskSpecResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DestinationZoneId) { query["DestinationZoneId"] = request.DestinationZoneId } if !dara.IsNil(request.DiskCategory) { query["DiskCategory"] = request.DiskCategory } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PerformanceControlOptions) { query["PerformanceControlOptions"] = request.PerformanceControlOptions } if !dara.IsNil(request.PerformanceLevel) { query["PerformanceLevel"] = request.PerformanceLevel } if !dara.IsNil(request.ProvisionedIops) { query["ProvisionedIops"] = request.ProvisionedIops } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyDiskSpec"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyDiskSpecResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the disk category of a cloud disk or the performance level of an Enterprise SSD (ESSD). You cannot change the disk categories of Regional ESSDs, basic disks, elastic ephemeral disks, and local disks. // // Description: // // To minimize impacts on your business, change the disk categories or performance levels of cloud disks during off-peak hours. // // Take note of the following items: // // - To change the performance level of an ESSD, take note of the following items: // // - If the ESSD is a subscription ESSD, you can only upgrade its performance level. // // - If the ESSD is a pay-as-you-go ESSD, you can upgrade or downgrade its performance level. However, you cannot downgrade the performance level to PL0. // // - The ESSD must be in the **In Use* - (In_Use) or **Unattached* - (Available) state. // // - If the ESSD is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running* - (Running) or **Stopped* - (Stopped) state. The instance cannot be in the Expired state or stopped due to an overdue payment. // // - If you cannot upgrade the performance level of an ESSD due to the capacity limit, extend the ESSD by calling the [ResizeDisk](https://help.aliyun.com/document_detail/25522.html) operation and then try again. For more information, see [ESSDs](https://help.aliyun.com/document_detail/122389.html). // // - For information about the limits on changing the disk category of a cloud disk, see [Change the category of a disk](~~161980#section_s4a_to0_1jx~~). // // - For the disk categories to which cloud disks of each disk category can be changed, see [Change the category of a disk](~~161980#eb8bb54032nho~~). // // After the disk category of a cloud disk is changed, the billing of the cloud disk has the following changes: // // - If the cloud disk is a pay-as-you-go disk, you are charged for the disk based on the new disk category. // // - If the cloud disk is a subscription disk, you may be charged additionally based on the price difference between the old and new disk categories and the remaining days of the billing cycle, starting from 00:00 the next day until the end of the subscription period. // // For information about the billing of cloud disks, see [Block storage devices](https://help.aliyun.com/document_detail/179022.html). // // @param request - ModifyDiskSpecRequest // // @return ModifyDiskSpecResponse func (client *Client) ModifyDiskSpec(request *ModifyDiskSpecRequest) (_result *ModifyDiskSpecResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyDiskSpecResponse{} _body, _err := client.ModifyDiskSpecWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyEipAddressAttribute is deprecated, please use Vpc::2016-04-28::ModifyEipAddressAttribute instead. // // Summary: // // # ModifyEipAddressAttribute // // @param request - ModifyEipAddressAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyEipAddressAttributeResponse func (client *Client) ModifyEipAddressAttributeWithOptions(request *ModifyEipAddressAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyEipAddressAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationId) { query["AllocationId"] = request.AllocationId } if !dara.IsNil(request.Bandwidth) { query["Bandwidth"] = request.Bandwidth } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyEipAddressAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyEipAddressAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyEipAddressAttribute is deprecated, please use Vpc::2016-04-28::ModifyEipAddressAttribute instead. // // Summary: // // # ModifyEipAddressAttribute // // @param request - ModifyEipAddressAttributeRequest // // @return ModifyEipAddressAttributeResponse // Deprecated func (client *Client) ModifyEipAddressAttribute(request *ModifyEipAddressAttributeRequest) (_result *ModifyEipAddressAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyEipAddressAttributeResponse{} _body, _err := client.ModifyEipAddressAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies information about an elasticity assurance, including the name, description, and capacity. Only capacity scale-in is supported . // // @param request - ModifyElasticityAssuranceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyElasticityAssuranceResponse func (client *Client) ModifyElasticityAssuranceWithOptions(request *ModifyElasticityAssuranceRequest, runtime *dara.RuntimeOptions) (_result *ModifyElasticityAssuranceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.InstanceAmount) { query["InstanceAmount"] = request.InstanceAmount } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RecurrenceRules) { query["RecurrenceRules"] = request.RecurrenceRules } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyElasticityAssurance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyElasticityAssuranceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies information about an elasticity assurance, including the name, description, and capacity. Only capacity scale-in is supported . // // @param request - ModifyElasticityAssuranceRequest // // @return ModifyElasticityAssuranceResponse func (client *Client) ModifyElasticityAssurance(request *ModifyElasticityAssuranceRequest) (_result *ModifyElasticityAssuranceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyElasticityAssuranceResponse{} _body, _err := client.ModifyElasticityAssuranceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the auto-renewal attribute of elasticity assurances. // // @param request - ModifyElasticityAssuranceAutoRenewAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyElasticityAssuranceAutoRenewAttributeResponse func (client *Client) ModifyElasticityAssuranceAutoRenewAttributeWithOptions(request *ModifyElasticityAssuranceAutoRenewAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyElasticityAssuranceAutoRenewAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RenewalStatus) { query["RenewalStatus"] = request.RenewalStatus } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyElasticityAssuranceAutoRenewAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyElasticityAssuranceAutoRenewAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the auto-renewal attribute of elasticity assurances. // // @param request - ModifyElasticityAssuranceAutoRenewAttributeRequest // // @return ModifyElasticityAssuranceAutoRenewAttributeResponse func (client *Client) ModifyElasticityAssuranceAutoRenewAttribute(request *ModifyElasticityAssuranceAutoRenewAttributeRequest) (_result *ModifyElasticityAssuranceAutoRenewAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyElasticityAssuranceAutoRenewAttributeResponse{} _body, _err := client.ModifyElasticityAssuranceAutoRenewAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyForwardEntry is deprecated, please use Vpc::2016-04-28::ModifyForwardEntry instead. // // Summary: // // # ModifyForwardEntry // // @param request - ModifyForwardEntryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyForwardEntryResponse func (client *Client) ModifyForwardEntryWithOptions(request *ModifyForwardEntryRequest, runtime *dara.RuntimeOptions) (_result *ModifyForwardEntryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ExternalIp) { query["ExternalIp"] = request.ExternalIp } if !dara.IsNil(request.ExternalPort) { query["ExternalPort"] = request.ExternalPort } if !dara.IsNil(request.ForwardEntryId) { query["ForwardEntryId"] = request.ForwardEntryId } if !dara.IsNil(request.ForwardTableId) { query["ForwardTableId"] = request.ForwardTableId } if !dara.IsNil(request.InternalIp) { query["InternalIp"] = request.InternalIp } if !dara.IsNil(request.InternalPort) { query["InternalPort"] = request.InternalPort } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyForwardEntry"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyForwardEntryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyForwardEntry is deprecated, please use Vpc::2016-04-28::ModifyForwardEntry instead. // // Summary: // // # ModifyForwardEntry // // @param request - ModifyForwardEntryRequest // // @return ModifyForwardEntryResponse // Deprecated func (client *Client) ModifyForwardEntry(request *ModifyForwardEntryRequest) (_result *ModifyForwardEntryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyForwardEntryResponse{} _body, _err := client.ModifyForwardEntryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyHaVipAttribute is deprecated, please use Vpc::2016-04-28::ModifyHaVipAttribute instead. // // Summary: // // # ModifyHaVipAttribute // // @param request - ModifyHaVipAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyHaVipAttributeResponse func (client *Client) ModifyHaVipAttributeWithOptions(request *ModifyHaVipAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyHaVipAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.HaVipId) { query["HaVipId"] = request.HaVipId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyHaVipAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyHaVipAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyHaVipAttribute is deprecated, please use Vpc::2016-04-28::ModifyHaVipAttribute instead. // // Summary: // // # ModifyHaVipAttribute // // @param request - ModifyHaVipAttributeRequest // // @return ModifyHaVipAttributeResponse // Deprecated func (client *Client) ModifyHaVipAttribute(request *ModifyHaVipAttributeRequest) (_result *ModifyHaVipAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyHaVipAttributeResponse{} _body, _err := client.ModifyHaVipAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the description of a high performance computing (HPC) cluster. // // @param request - ModifyHpcClusterAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyHpcClusterAttributeResponse func (client *Client) ModifyHpcClusterAttributeWithOptions(request *ModifyHpcClusterAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyHpcClusterAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.HpcClusterId) { query["HpcClusterId"] = request.HpcClusterId } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyHpcClusterAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyHpcClusterAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the description of a high performance computing (HPC) cluster. // // @param request - ModifyHpcClusterAttributeRequest // // @return ModifyHpcClusterAttributeResponse func (client *Client) ModifyHpcClusterAttribute(request *ModifyHpcClusterAttributeRequest) (_result *ModifyHpcClusterAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyHpcClusterAttributeResponse{} _body, _err := client.ModifyHpcClusterAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the attributes of a custom image, such as the image family, name, boot mode, and status and whether the image supports the Non-Volatile Memory Express (NVMe) protocol. When you call this operation, you can specify parameters, such as ImageId and ImageFamily, in the request. // // @param request - ModifyImageAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyImageAttributeResponse func (client *Client) ModifyImageAttributeWithOptions(request *ModifyImageAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyImageAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BootMode) { query["BootMode"] = request.BootMode } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.Features) { query["Features"] = request.Features } if !dara.IsNil(request.ImageFamily) { query["ImageFamily"] = request.ImageFamily } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.ImageName) { query["ImageName"] = request.ImageName } if !dara.IsNil(request.LicenseType) { query["LicenseType"] = request.LicenseType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Status) { query["Status"] = request.Status } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyImageAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyImageAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the attributes of a custom image, such as the image family, name, boot mode, and status and whether the image supports the Non-Volatile Memory Express (NVMe) protocol. When you call this operation, you can specify parameters, such as ImageId and ImageFamily, in the request. // // @param request - ModifyImageAttributeRequest // // @return ModifyImageAttributeResponse func (client *Client) ModifyImageAttribute(request *ModifyImageAttributeRequest) (_result *ModifyImageAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyImageAttributeResponse{} _body, _err := client.ModifyImageAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyImageShareGroupPermission is deprecated, please use Ecs::2014-05-26::ModifyImageSharePermission instead. // // Summary: // // 修改镜像共享组权限 // // @param request - ModifyImageShareGroupPermissionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyImageShareGroupPermissionResponse func (client *Client) ModifyImageShareGroupPermissionWithOptions(request *ModifyImageShareGroupPermissionRequest, runtime *dara.RuntimeOptions) (_result *ModifyImageShareGroupPermissionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.AddGroup) { query["AddGroup"] = request.AddGroup } if !dara.IsNil(request.RemoveGroup) { query["RemoveGroup"] = request.RemoveGroup } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyImageShareGroupPermission"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyImageShareGroupPermissionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyImageShareGroupPermission is deprecated, please use Ecs::2014-05-26::ModifyImageSharePermission instead. // // Summary: // // 修改镜像共享组权限 // // @param request - ModifyImageShareGroupPermissionRequest // // @return ModifyImageShareGroupPermissionResponse // Deprecated func (client *Client) ModifyImageShareGroupPermission(request *ModifyImageShareGroupPermissionRequest) (_result *ModifyImageShareGroupPermissionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyImageShareGroupPermissionResponse{} _body, _err := client.ModifyImageShareGroupPermissionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the share permissions on an image. You can share your custom images with other Alibaba Cloud accounts or publish the images as community images. // // Description: // // Before you call this operation, read [Share a custom image](https://help.aliyun.com/document_detail/25463.html). // // When you call this operation, take note of the following sharing rules: // // - **Sharing limits**: You can share only the custom images created in your Alibaba Cloud account to other Alibaba Cloud accounts. A custom image can be shared to up to 50 Alibaba Cloud accounts. You can share a custom image to up to 10 Alibaba Cloud accounts at a time. // // - **Impacts on an instance**: If an instance was created ([RunInstances](https://help.aliyun.com/document_detail/63440.html)) from a shared image, you cannot re-initialize the system disk of the instance ([ReInitDisk](https://help.aliyun.com/document_detail/25519.html)) after the image owner unshares or deletes the image ([DeleteImage](https://help.aliyun.com/document_detail/25537.html)). // // > You can share images encrypted by using customer master keys (CMKs) but cannot share images encrypted by using service keys. When you share an image encrypted by using a service key, an error is reported. If you want to share an image encrypted by using a service key, call the CopyImage operation to copy the image and change the encryption key of the image copy to a CMK. // // When you publish or unpublish a community image, take note of the following items: // // - **Responsibilities and agreement**: Alibaba Cloud provides only the platform on which community images can be published and managed. The owner of a community image is responsible for the quality and updates of the image. Make sure that you acknowledge and agree to the Community Image Agreement. Otherwise, you cannot publish community images. For more information, see [Publish a community image](https://help.aliyun.com/document_detail/208370.html). // // - **Encryption limits**: You cannot publish encrypted images as community images. // // - **Openness**: Community images are publicly available. A community image is available to all Alibaba Cloud accounts in the region where the image resides. // // - **Feature limits**: You cannot share, export, or copy community images. // // - **Unpublication impacts**: After you unpublish a community image, the image is no longer available to other Alibaba Cloud accounts. If an image is shared to other Alibaba Cloud accounts before it is unpublished, the image remains available to the accounts. // // @param request - ModifyImageSharePermissionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyImageSharePermissionResponse func (client *Client) ModifyImageSharePermissionWithOptions(request *ModifyImageSharePermissionRequest, runtime *dara.RuntimeOptions) (_result *ModifyImageSharePermissionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AddAccount) { query["AddAccount"] = request.AddAccount } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.IsPublic) { query["IsPublic"] = request.IsPublic } if !dara.IsNil(request.LaunchPermission) { query["LaunchPermission"] = request.LaunchPermission } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RemoveAccount) { query["RemoveAccount"] = request.RemoveAccount } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyImageSharePermission"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyImageSharePermissionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the share permissions on an image. You can share your custom images with other Alibaba Cloud accounts or publish the images as community images. // // Description: // // Before you call this operation, read [Share a custom image](https://help.aliyun.com/document_detail/25463.html). // // When you call this operation, take note of the following sharing rules: // // - **Sharing limits**: You can share only the custom images created in your Alibaba Cloud account to other Alibaba Cloud accounts. A custom image can be shared to up to 50 Alibaba Cloud accounts. You can share a custom image to up to 10 Alibaba Cloud accounts at a time. // // - **Impacts on an instance**: If an instance was created ([RunInstances](https://help.aliyun.com/document_detail/63440.html)) from a shared image, you cannot re-initialize the system disk of the instance ([ReInitDisk](https://help.aliyun.com/document_detail/25519.html)) after the image owner unshares or deletes the image ([DeleteImage](https://help.aliyun.com/document_detail/25537.html)). // // > You can share images encrypted by using customer master keys (CMKs) but cannot share images encrypted by using service keys. When you share an image encrypted by using a service key, an error is reported. If you want to share an image encrypted by using a service key, call the CopyImage operation to copy the image and change the encryption key of the image copy to a CMK. // // When you publish or unpublish a community image, take note of the following items: // // - **Responsibilities and agreement**: Alibaba Cloud provides only the platform on which community images can be published and managed. The owner of a community image is responsible for the quality and updates of the image. Make sure that you acknowledge and agree to the Community Image Agreement. Otherwise, you cannot publish community images. For more information, see [Publish a community image](https://help.aliyun.com/document_detail/208370.html). // // - **Encryption limits**: You cannot publish encrypted images as community images. // // - **Openness**: Community images are publicly available. A community image is available to all Alibaba Cloud accounts in the region where the image resides. // // - **Feature limits**: You cannot share, export, or copy community images. // // - **Unpublication impacts**: After you unpublish a community image, the image is no longer available to other Alibaba Cloud accounts. If an image is shared to other Alibaba Cloud accounts before it is unpublished, the image remains available to the accounts. // // @param request - ModifyImageSharePermissionRequest // // @return ModifyImageSharePermissionResponse func (client *Client) ModifyImageSharePermission(request *ModifyImageSharePermissionRequest) (_result *ModifyImageSharePermissionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyImageSharePermissionResponse{} _body, _err := client.ModifyImageSharePermissionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the type of the private pool for an Elastic Compute Service (ECS) instance. // // Description: // // A private pool is generated after an elasticity assurance or a capacity reservation is created. The private pool is associated with information about the instances that use the private pool. You can specify whether to use a private pool when you create an ECS instance to match the instance with the associated elasticity assurance or capacity reservation. // // - After you call this operation to modify the private pool attributes of an ECS instance, you do not need to restart the instance for the changes to take effect. // // - When you call the following operations on an ECS instance, the system attempts to match the instance with active private pools. If the instance is already matched to a specified private pool, the call to an operation may fail when the private pool capacity is used up or the private pool expires. If the call fails, call the ModifyInstanceAttachmentAttributes operation to change the type of the private pool to `Open`. // // - [StartInstance](https://help.aliyun.com/document_detail/2679679.html): start an ECS instance that is stopped in economical mode. // // - [ReActivateInstances](https://help.aliyun.com/document_detail/2679707.html): reactivates an ECS instance that has expired or is reclaimed due to an overdue payment. // // - [ModifyInstanceChargeType](https://help.aliyun.com/document_detail/2679704.html): changes the billing method of an ECS instance. // // - [ModifyPrepayInstanceSpec](https://help.aliyun.com/document_detail/2679706.html): changes the instance type of an ECS instance. // // - [ReplaceSystemDisk](https://help.aliyun.com/document_detail/2679771.html): replaces the operating system of an ECS instance. // // @param request - ModifyInstanceAttachmentAttributesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceAttachmentAttributesResponse func (client *Client) ModifyInstanceAttachmentAttributesWithOptions(request *ModifyInstanceAttachmentAttributesRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceAttachmentAttributesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceAttachmentAttributes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceAttachmentAttributesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the type of the private pool for an Elastic Compute Service (ECS) instance. // // Description: // // A private pool is generated after an elasticity assurance or a capacity reservation is created. The private pool is associated with information about the instances that use the private pool. You can specify whether to use a private pool when you create an ECS instance to match the instance with the associated elasticity assurance or capacity reservation. // // - After you call this operation to modify the private pool attributes of an ECS instance, you do not need to restart the instance for the changes to take effect. // // - When you call the following operations on an ECS instance, the system attempts to match the instance with active private pools. If the instance is already matched to a specified private pool, the call to an operation may fail when the private pool capacity is used up or the private pool expires. If the call fails, call the ModifyInstanceAttachmentAttributes operation to change the type of the private pool to `Open`. // // - [StartInstance](https://help.aliyun.com/document_detail/2679679.html): start an ECS instance that is stopped in economical mode. // // - [ReActivateInstances](https://help.aliyun.com/document_detail/2679707.html): reactivates an ECS instance that has expired or is reclaimed due to an overdue payment. // // - [ModifyInstanceChargeType](https://help.aliyun.com/document_detail/2679704.html): changes the billing method of an ECS instance. // // - [ModifyPrepayInstanceSpec](https://help.aliyun.com/document_detail/2679706.html): changes the instance type of an ECS instance. // // - [ReplaceSystemDisk](https://help.aliyun.com/document_detail/2679771.html): replaces the operating system of an ECS instance. // // @param request - ModifyInstanceAttachmentAttributesRequest // // @return ModifyInstanceAttachmentAttributesResponse func (client *Client) ModifyInstanceAttachmentAttributes(request *ModifyInstanceAttachmentAttributesRequest) (_result *ModifyInstanceAttachmentAttributesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceAttachmentAttributesResponse{} _body, _err := client.ModifyInstanceAttachmentAttributesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the attributes of an Elastic Compute Service (ECS) instance, such as the password, name, description, hostname, security groups, maximum transmission unit (MTU), and user data of the instance. // // Description: // // You cannot call this operation to modify the attributes of the ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // @param request - ModifyInstanceAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceAttributeResponse func (client *Client) ModifyInstanceAttributeWithOptions(request *ModifyInstanceAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CreditSpecification) { query["CreditSpecification"] = request.CreditSpecification } if !dara.IsNil(request.DeletionProtection) { query["DeletionProtection"] = request.DeletionProtection } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EnableJumboFrame) { query["EnableJumboFrame"] = request.EnableJumboFrame } if !dara.IsNil(request.EnableNetworkEncryption) { query["EnableNetworkEncryption"] = request.EnableNetworkEncryption } if !dara.IsNil(request.HostName) { query["HostName"] = request.HostName } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.NetworkInterfaceQueueNumber) { query["NetworkInterfaceQueueNumber"] = request.NetworkInterfaceQueueNumber } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Password) { query["Password"] = request.Password } if !dara.IsNil(request.PrivateDnsNameOptions) { query["PrivateDnsNameOptions"] = request.PrivateDnsNameOptions } if !dara.IsNil(request.Recyclable) { query["Recyclable"] = request.Recyclable } if !dara.IsNil(request.RemoteConnectionOptions) { query["RemoteConnectionOptions"] = request.RemoteConnectionOptions } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupIds) { query["SecurityGroupIds"] = request.SecurityGroupIds } if !dara.IsNil(request.UserData) { query["UserData"] = request.UserData } if !dara.IsNil(request.CpuOptions) { query["CpuOptions"] = request.CpuOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the attributes of an Elastic Compute Service (ECS) instance, such as the password, name, description, hostname, security groups, maximum transmission unit (MTU), and user data of the instance. // // Description: // // You cannot call this operation to modify the attributes of the ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // @param request - ModifyInstanceAttributeRequest // // @return ModifyInstanceAttributeResponse func (client *Client) ModifyInstanceAttribute(request *ModifyInstanceAttributeRequest) (_result *ModifyInstanceAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceAttributeResponse{} _body, _err := client.ModifyInstanceAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the automatic release time of a pay-as-you-go or spot instance or cancels the automatic release of the instance. // // @param request - ModifyInstanceAutoReleaseTimeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceAutoReleaseTimeResponse func (client *Client) ModifyInstanceAutoReleaseTimeWithOptions(request *ModifyInstanceAutoReleaseTimeRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceAutoReleaseTimeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoReleaseTime) { query["AutoReleaseTime"] = request.AutoReleaseTime } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceAutoReleaseTime"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceAutoReleaseTimeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the automatic release time of a pay-as-you-go or spot instance or cancels the automatic release of the instance. // // @param request - ModifyInstanceAutoReleaseTimeRequest // // @return ModifyInstanceAutoReleaseTimeResponse func (client *Client) ModifyInstanceAutoReleaseTime(request *ModifyInstanceAutoReleaseTimeRequest) (_result *ModifyInstanceAutoReleaseTimeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceAutoReleaseTimeResponse{} _body, _err := client.ModifyInstanceAutoReleaseTimeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Configures auto-renewal for subscription instances to help reduce the maintenance workloads on instance expiration. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods and [pricing](https://www.alibabacloud.com/product/ecs#pricing) of Elastic Compute Service (ECS)**. // // - Make sure that your account balance or credit balance is sufficient. // // - Only subscription instances are supported. If you call this operation for a pay-as-you-go instance, an error is returned. // // - The payment for auto-renewal of an instance is automatically deducted at 08:00:00 (UTC+8) nine days before the instance expires. // // - If the deduction fails, Alibaba Cloud attempts to deduct the payment every day until the payment is deducted or until the instance is locked on expiration. // // @param request - ModifyInstanceAutoRenewAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceAutoRenewAttributeResponse func (client *Client) ModifyInstanceAutoRenewAttributeWithOptions(request *ModifyInstanceAutoRenewAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceAutoRenewAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.Duration) { query["Duration"] = request.Duration } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RenewalStatus) { query["RenewalStatus"] = request.RenewalStatus } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceAutoRenewAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceAutoRenewAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Configures auto-renewal for subscription instances to help reduce the maintenance workloads on instance expiration. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods and [pricing](https://www.alibabacloud.com/product/ecs#pricing) of Elastic Compute Service (ECS)**. // // - Make sure that your account balance or credit balance is sufficient. // // - Only subscription instances are supported. If you call this operation for a pay-as-you-go instance, an error is returned. // // - The payment for auto-renewal of an instance is automatically deducted at 08:00:00 (UTC+8) nine days before the instance expires. // // - If the deduction fails, Alibaba Cloud attempts to deduct the payment every day until the payment is deducted or until the instance is locked on expiration. // // @param request - ModifyInstanceAutoRenewAttributeRequest // // @return ModifyInstanceAutoRenewAttributeResponse func (client *Client) ModifyInstanceAutoRenewAttribute(request *ModifyInstanceAutoRenewAttributeRequest) (_result *ModifyInstanceAutoRenewAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceAutoRenewAttributeResponse{} _body, _err := client.ModifyInstanceAutoRenewAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the billing method of Elastic Compute Service (ECS) instances in batches. // // Description: // // ### [](#)Precautions // // - Before you call this operation, make sure that you are familiar with the [subscription](https://help.aliyun.com/document_detail/56220.html) and [pay-as-you-go](https://help.aliyun.com/document_detail/40653.html) billing methods and [pricing](https://www.alibabacloud.com/product/ecs#pricing) of ECS. // // - The instances must be in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state, and you have no overdue payments for the instances. // // - After you change the billing method, the payment is automatically completed. Make sure that the balance in your account is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set `AutoPay` to `false` to generate an unpaid order. Then, you can log on to the [ECS console](https://ecs.console.aliyun.com/) to pay for the order. // // ### [](#)Considerations // // - **Change the billing method from subscription to pay-as-you-go**: // // - After you change the billing method of an instance from subscription to pay-as-you-go, the new billing method remains in effect for the remaining lifecycle of the instance. The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are not refundable. // // - **Refund rule**: You have a quota for the total refund amount each month, and unused balance of this quota is not carried forward into the next month. After you use up the refund quota of the current month, you can change the billing method only in the next month. The refund amount incurred when you change the billing method is calculated based on the following formula: **Number of vCPUs × (Number of remaining days × 24 ± Number of remaining or elapsed hours)**. For more information, see [Change the billing method of an instance from subscription to pay-as-you-go](https://help.aliyun.com/document_detail/85517.html). // // - **Change the billing method from pay-as-you-go to subscription**: // // - You can change the billing method of all data disks attached to an instance from pay-as-you-go to subscription. // // - This operation cannot be called for a pay-as-you-go instance that has an automatic release time set. For more information, see [Change the billing method of an instance from subscription to pay-as-you-go](https://help.aliyun.com/document_detail/49884.html). // // @param request - ModifyInstanceChargeTypeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceChargeTypeResponse func (client *Client) ModifyInstanceChargeTypeWithOptions(request *ModifyInstanceChargeTypeRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceChargeTypeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.IncludeDataDisks) { query["IncludeDataDisks"] = request.IncludeDataDisks } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceIds) { query["InstanceIds"] = request.InstanceIds } if !dara.IsNil(request.IsDetailFee) { query["IsDetailFee"] = request.IsDetailFee } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceChargeType"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceChargeTypeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the billing method of Elastic Compute Service (ECS) instances in batches. // // Description: // // ### [](#)Precautions // // - Before you call this operation, make sure that you are familiar with the [subscription](https://help.aliyun.com/document_detail/56220.html) and [pay-as-you-go](https://help.aliyun.com/document_detail/40653.html) billing methods and [pricing](https://www.alibabacloud.com/product/ecs#pricing) of ECS. // // - The instances must be in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state, and you have no overdue payments for the instances. // // - After you change the billing method, the payment is automatically completed. Make sure that the balance in your account is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set `AutoPay` to `false` to generate an unpaid order. Then, you can log on to the [ECS console](https://ecs.console.aliyun.com/) to pay for the order. // // ### [](#)Considerations // // - **Change the billing method from subscription to pay-as-you-go**: // // - After you change the billing method of an instance from subscription to pay-as-you-go, the new billing method remains in effect for the remaining lifecycle of the instance. The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are not refundable. // // - **Refund rule**: You have a quota for the total refund amount each month, and unused balance of this quota is not carried forward into the next month. After you use up the refund quota of the current month, you can change the billing method only in the next month. The refund amount incurred when you change the billing method is calculated based on the following formula: **Number of vCPUs × (Number of remaining days × 24 ± Number of remaining or elapsed hours)**. For more information, see [Change the billing method of an instance from subscription to pay-as-you-go](https://help.aliyun.com/document_detail/85517.html). // // - **Change the billing method from pay-as-you-go to subscription**: // // - You can change the billing method of all data disks attached to an instance from pay-as-you-go to subscription. // // - This operation cannot be called for a pay-as-you-go instance that has an automatic release time set. For more information, see [Change the billing method of an instance from subscription to pay-as-you-go](https://help.aliyun.com/document_detail/49884.html). // // @param request - ModifyInstanceChargeTypeRequest // // @return ModifyInstanceChargeTypeResponse func (client *Client) ModifyInstanceChargeType(request *ModifyInstanceChargeTypeRequest) (_result *ModifyInstanceChargeTypeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceChargeTypeResponse{} _body, _err := client.ModifyInstanceChargeTypeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the instance clock options. // // Description: // // When you call this operation, note that: // // - This is an asynchronous operation. The ID of the asynchronous task is returned after the call. Query the asynchronous task result to determine whether the execution is complete. // // - To modify the PtpStatus parameter, you must specify the parameter. The instance types that are supported. You can query the instance type list ([DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) ). // // @param request - ModifyInstanceClockOptionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceClockOptionsResponse func (client *Client) ModifyInstanceClockOptionsWithOptions(request *ModifyInstanceClockOptionsRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceClockOptionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PtpStatus) { query["PtpStatus"] = request.PtpStatus } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceClockOptions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceClockOptionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the instance clock options. // // Description: // // When you call this operation, note that: // // - This is an asynchronous operation. The ID of the asynchronous task is returned after the call. Query the asynchronous task result to determine whether the execution is complete. // // - To modify the PtpStatus parameter, you must specify the parameter. The instance types that are supported. You can query the instance type list ([DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) ). // // @param request - ModifyInstanceClockOptionsRequest // // @return ModifyInstanceClockOptionsResponse func (client *Client) ModifyInstanceClockOptions(request *ModifyInstanceClockOptionsRequest) (_result *ModifyInstanceClockOptionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceClockOptionsResponse{} _body, _err := client.ModifyInstanceClockOptionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the deployment set of an Elastic Compute Service (ECS) instance or migrates an ECS instance to a dedicated host. You can change the instance type of an ECS instance when you migrate the instance. // // Description: // // Take note of the following items: // // - The instance must be in the **Stopped* - (Stopped) state. The instance is automatically restarted after it is migrated. // // - The network type of the instance must be Virtual Private Cloud (VPC). // // - The instance and the destination dedicated host to which to migrate the instance must belong to the same account and reside in the same region and zone. // // - A pay-as-you-go instance can be migrated to a subscription dedicated host. A subscription instance can be migrated only between subscription dedicated hosts. The expiration date of the subscription instance cannot be later than that of the destination dedicated host. // // - You can migrate only pay-as-you-go instances from a shared host to a dedicated host. You cannot migrate subscription instances or spot instances from a shared host to a dedicated host. // // - You can redeploy an instance to a specific dedicated host cluster. // // @param request - ModifyInstanceDeploymentRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceDeploymentResponse func (client *Client) ModifyInstanceDeploymentWithOptions(request *ModifyInstanceDeploymentRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceDeploymentResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Affinity) { query["Affinity"] = request.Affinity } if !dara.IsNil(request.DedicatedHostClusterId) { query["DedicatedHostClusterId"] = request.DedicatedHostClusterId } if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.DeploymentSetGroupNo) { query["DeploymentSetGroupNo"] = request.DeploymentSetGroupNo } if !dara.IsNil(request.DeploymentSetId) { query["DeploymentSetId"] = request.DeploymentSetId } if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.MigrationType) { query["MigrationType"] = request.MigrationType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RemoveFromDeploymentSet) { query["RemoveFromDeploymentSet"] = request.RemoveFromDeploymentSet } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tenancy) { query["Tenancy"] = request.Tenancy } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceDeployment"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceDeploymentResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the deployment set of an Elastic Compute Service (ECS) instance or migrates an ECS instance to a dedicated host. You can change the instance type of an ECS instance when you migrate the instance. // // Description: // // Take note of the following items: // // - The instance must be in the **Stopped* - (Stopped) state. The instance is automatically restarted after it is migrated. // // - The network type of the instance must be Virtual Private Cloud (VPC). // // - The instance and the destination dedicated host to which to migrate the instance must belong to the same account and reside in the same region and zone. // // - A pay-as-you-go instance can be migrated to a subscription dedicated host. A subscription instance can be migrated only between subscription dedicated hosts. The expiration date of the subscription instance cannot be later than that of the destination dedicated host. // // - You can migrate only pay-as-you-go instances from a shared host to a dedicated host. You cannot migrate subscription instances or spot instances from a shared host to a dedicated host. // // - You can redeploy an instance to a specific dedicated host cluster. // // @param request - ModifyInstanceDeploymentRequest // // @return ModifyInstanceDeploymentResponse func (client *Client) ModifyInstanceDeployment(request *ModifyInstanceDeploymentRequest) (_result *ModifyInstanceDeploymentResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceDeploymentResponse{} _body, _err := client.ModifyInstanceDeploymentWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the maintenance attributes of an instance. // // Description: // // This operation is used to modify the maintenance policy of an instance. The maintenance policy consists of the following maintenance attributes: // // - Maintenance window: the time period that you specify for maintenance. // // - Maintenance action: the action that you specify in response to instance shutdown. // // @param request - ModifyInstanceMaintenanceAttributesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceMaintenanceAttributesResponse func (client *Client) ModifyInstanceMaintenanceAttributesWithOptions(request *ModifyInstanceMaintenanceAttributesRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceMaintenanceAttributesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ActionOnMaintenance) { query["ActionOnMaintenance"] = request.ActionOnMaintenance } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.MaintenanceWindow) { query["MaintenanceWindow"] = request.MaintenanceWindow } if !dara.IsNil(request.NotifyOnMaintenance) { query["NotifyOnMaintenance"] = request.NotifyOnMaintenance } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceMaintenanceAttributes"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceMaintenanceAttributesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the maintenance attributes of an instance. // // Description: // // This operation is used to modify the maintenance policy of an instance. The maintenance policy consists of the following maintenance attributes: // // - Maintenance window: the time period that you specify for maintenance. // // - Maintenance action: the action that you specify in response to instance shutdown. // // @param request - ModifyInstanceMaintenanceAttributesRequest // // @return ModifyInstanceMaintenanceAttributesResponse func (client *Client) ModifyInstanceMaintenanceAttributes(request *ModifyInstanceMaintenanceAttributesRequest) (_result *ModifyInstanceMaintenanceAttributesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceMaintenanceAttributesResponse{} _body, _err := client.ModifyInstanceMaintenanceAttributesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the metadata access configurations of instances in a specific region, including whether to enable the metadata access channel and whether to forcefully use the security hardening mode to access instance metadata. // // @param request - ModifyInstanceMetadataOptionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceMetadataOptionsResponse func (client *Client) ModifyInstanceMetadataOptionsWithOptions(request *ModifyInstanceMetadataOptionsRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceMetadataOptionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.HttpEndpoint) { query["HttpEndpoint"] = request.HttpEndpoint } if !dara.IsNil(request.HttpPutResponseHopLimit) { query["HttpPutResponseHopLimit"] = request.HttpPutResponseHopLimit } if !dara.IsNil(request.HttpTokens) { query["HttpTokens"] = request.HttpTokens } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceMetadataTags) { query["InstanceMetadataTags"] = request.InstanceMetadataTags } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceMetadataOptions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceMetadataOptionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the metadata access configurations of instances in a specific region, including whether to enable the metadata access channel and whether to forcefully use the security hardening mode to access instance metadata. // // @param request - ModifyInstanceMetadataOptionsRequest // // @return ModifyInstanceMetadataOptionsResponse func (client *Client) ModifyInstanceMetadataOptions(request *ModifyInstanceMetadataOptionsRequest) (_result *ModifyInstanceMetadataOptionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceMetadataOptionsResponse{} _body, _err := client.ModifyInstanceMetadataOptionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies instance network configurations. // // Description: // // When you call this operation, note that: // // - This is an asynchronous operation. The ID of the asynchronous task is returned after the call. Query the asynchronous task result to determine whether the execution is complete. // // - You can modify only one attribute at a time. If you modify multiple attributes, call this operation multiple times. // // - To modify the BandwidthWeighting, you must specify the specifications of the instance. You can use the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/2679699.html) to query whether the current instance type supports bandwidth weights and the supported bandwidth weights. // // @param request - ModifyInstanceNetworkOptionsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceNetworkOptionsResponse func (client *Client) ModifyInstanceNetworkOptionsWithOptions(request *ModifyInstanceNetworkOptionsRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceNetworkOptionsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BandwidthWeighting) { query["BandwidthWeighting"] = request.BandwidthWeighting } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceNetworkOptions"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceNetworkOptionsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies instance network configurations. // // Description: // // When you call this operation, note that: // // - This is an asynchronous operation. The ID of the asynchronous task is returned after the call. Query the asynchronous task result to determine whether the execution is complete. // // - You can modify only one attribute at a time. If you modify multiple attributes, call this operation multiple times. // // - To modify the BandwidthWeighting, you must specify the specifications of the instance. You can use the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/2679699.html) to query whether the current instance type supports bandwidth weights and the supported bandwidth weights. // // @param request - ModifyInstanceNetworkOptionsRequest // // @return ModifyInstanceNetworkOptionsResponse func (client *Client) ModifyInstanceNetworkOptions(request *ModifyInstanceNetworkOptionsRequest) (_result *ModifyInstanceNetworkOptionsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceNetworkOptionsResponse{} _body, _err := client.ModifyInstanceNetworkOptionsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the network configurations of an Elastic Compute Service (ECS) instance, such as the public bandwidth, assignment or unassignment of a static public IP address (also known as system-assigned or auto-assigned public IP address), and billing method for network usage. You can call this operation to upgrade or downgrade the network configurations of ECS instances. // // Description: // // Take note of the following items: // // - If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a subscription (PrePaid) instance from 0 Mbit/s when you modify the network configurations of the instance, a static public IP address is automatically assigned to the instance. // // - If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a pay-as-you-go (PostPaid) instance from 0 Mbit/s when you modify the network configurations of the instance, no static public IP address is automatically assigned to the instance. In this case, to assign a static public IP address to the instance, you must set `AllocatePublicIp` to `true`. // // - You can upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of an instance in the classic network from 0 Mbit/s only if the instance is in the Stopped state. // // > For the limits on the sum of maximum public bandwidths of ECS instances that use the pay-by-bandwidth billing method for network usage per region per Alibaba Cloud account, see the [Public bandwidth limits](~~25412#BandwidthQuota~~) section of the "Limits" topic. // // - Billing: // // - After the public bandwidth is upgraded, AutoPay is automatically set to true and the payment is automatically made. Make sure that your account balance is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set AutoPay to false. In this case, when you call the ModifyInstanceNetworkSpec operation, an unpaid order is generated. Then, you can log on to the ECS console to pay for the order. // // - After the public bandwidth is downgraded, the price difference is refunded to the payment account that you used. Vouchers or coupons that have been redeemed are not refundable. // // @param request - ModifyInstanceNetworkSpecRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceNetworkSpecResponse func (client *Client) ModifyInstanceNetworkSpecWithOptions(request *ModifyInstanceNetworkSpecRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceNetworkSpecResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocatePublicIp) { query["AllocatePublicIp"] = request.AllocatePublicIp } if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.ISP) { query["ISP"] = request.ISP } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InternetMaxBandwidthIn) { query["InternetMaxBandwidthIn"] = request.InternetMaxBandwidthIn } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.NetworkChargeType) { query["NetworkChargeType"] = request.NetworkChargeType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceNetworkSpec"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceNetworkSpecResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the network configurations of an Elastic Compute Service (ECS) instance, such as the public bandwidth, assignment or unassignment of a static public IP address (also known as system-assigned or auto-assigned public IP address), and billing method for network usage. You can call this operation to upgrade or downgrade the network configurations of ECS instances. // // Description: // // Take note of the following items: // // - If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a subscription (PrePaid) instance from 0 Mbit/s when you modify the network configurations of the instance, a static public IP address is automatically assigned to the instance. // // - If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a pay-as-you-go (PostPaid) instance from 0 Mbit/s when you modify the network configurations of the instance, no static public IP address is automatically assigned to the instance. In this case, to assign a static public IP address to the instance, you must set `AllocatePublicIp` to `true`. // // - You can upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of an instance in the classic network from 0 Mbit/s only if the instance is in the Stopped state. // // > For the limits on the sum of maximum public bandwidths of ECS instances that use the pay-by-bandwidth billing method for network usage per region per Alibaba Cloud account, see the [Public bandwidth limits](~~25412#BandwidthQuota~~) section of the "Limits" topic. // // - Billing: // // - After the public bandwidth is upgraded, AutoPay is automatically set to true and the payment is automatically made. Make sure that your account balance is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set AutoPay to false. In this case, when you call the ModifyInstanceNetworkSpec operation, an unpaid order is generated. Then, you can log on to the ECS console to pay for the order. // // - After the public bandwidth is downgraded, the price difference is refunded to the payment account that you used. Vouchers or coupons that have been redeemed are not refundable. // // @param request - ModifyInstanceNetworkSpecRequest // // @return ModifyInstanceNetworkSpecResponse func (client *Client) ModifyInstanceNetworkSpec(request *ModifyInstanceNetworkSpecRequest) (_result *ModifyInstanceNetworkSpecResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceNetworkSpecResponse{} _body, _err := client.ModifyInstanceNetworkSpecWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the instance type or public bandwidth of a pay-as-you-go Elastic Compute Service (ECS) instance. // // Description: // // *Before you call this operation, familiarize yourself with the billing and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of ECS resources.** // // Before you [change the instance type of a pay-as-you-go instance](https://help.aliyun.com/document_detail/60051.html), call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query compatible instance types. // // **Considerations** // // - Make sure that you have no overdue payments in your account. // // - You can change only the instance type or only the public bandwidth of an ECS instance at a time. The instance type and the public bandwidth of an ECS instance cannot be changed together. // // - You can change the public bandwidth of an ECS instance only when the instance is in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. The change immediately takes effect. // // - You can change the instance type of an ECS instance only when the instance is in the **Stopped* - (`Stopped`) state. You must [start the instance](https://help.aliyun.com/document_detail/25441.html) for the change to take effect. // // > A limit is imposed on the sum of public bandwidths of all ECS instances that use the pay-by-bandwidth billing method for network usage per region in an Alibaba Cloud account. For more information, see the [Public bandwidth limits](~~25412#BandwidthQuota~~) section of the "Limits and quotas" topic. // // @param request - ModifyInstanceSpecRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceSpecResponse func (client *Client) ModifyInstanceSpecWithOptions(request *ModifyInstanceSpecRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceSpecResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllowMigrateAcrossZone) { query["AllowMigrateAcrossZone"] = request.AllowMigrateAcrossZone } if !dara.IsNil(request.Async) { query["Async"] = request.Async } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Disk) { query["Disk"] = request.Disk } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InternetMaxBandwidthIn) { query["InternetMaxBandwidthIn"] = request.InternetMaxBandwidthIn } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.ModifyMode) { query["ModifyMode"] = request.ModifyMode } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } if !dara.IsNil(request.Temporary) { query["Temporary"] = request.Temporary } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceSpec"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceSpecResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the instance type or public bandwidth of a pay-as-you-go Elastic Compute Service (ECS) instance. // // Description: // // *Before you call this operation, familiarize yourself with the billing and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of ECS resources.** // // Before you [change the instance type of a pay-as-you-go instance](https://help.aliyun.com/document_detail/60051.html), call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query compatible instance types. // // **Considerations** // // - Make sure that you have no overdue payments in your account. // // - You can change only the instance type or only the public bandwidth of an ECS instance at a time. The instance type and the public bandwidth of an ECS instance cannot be changed together. // // - You can change the public bandwidth of an ECS instance only when the instance is in the **Running* - (`Running`) or **Stopped* - (`Stopped`) state. The change immediately takes effect. // // - You can change the instance type of an ECS instance only when the instance is in the **Stopped* - (`Stopped`) state. You must [start the instance](https://help.aliyun.com/document_detail/25441.html) for the change to take effect. // // > A limit is imposed on the sum of public bandwidths of all ECS instances that use the pay-by-bandwidth billing method for network usage per region in an Alibaba Cloud account. For more information, see the [Public bandwidth limits](~~25412#BandwidthQuota~~) section of the "Limits and quotas" topic. // // @param request - ModifyInstanceSpecRequest // // @return ModifyInstanceSpecResponse func (client *Client) ModifyInstanceSpec(request *ModifyInstanceSpecRequest) (_result *ModifyInstanceSpecResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceSpecResponse{} _body, _err := client.ModifyInstanceSpecWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the Virtual Network Computing (VNC) password of an Elastic Compute Service (ECS) instance. // // Description: // // The VNC password must be six characters in length and can contain uppercase letters, lowercase letters, and digits. // // - After you modify the VNC password of an ECS instance, take note of the following items: // // - If the instance is I/O optimized, the new password takes effect immediately without the need to restart the instance. // // - If the instance is not I/O optimized, you must [restart the instance](https://help.aliyun.com/document_detail/25440.html) in the ECS console or by calling the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation for the new password to take effect. // // @param request - ModifyInstanceVncPasswdRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceVncPasswdResponse func (client *Client) ModifyInstanceVncPasswdWithOptions(request *ModifyInstanceVncPasswdRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceVncPasswdResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VncPassword) { query["VncPassword"] = request.VncPassword } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceVncPasswd"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceVncPasswdResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the Virtual Network Computing (VNC) password of an Elastic Compute Service (ECS) instance. // // Description: // // The VNC password must be six characters in length and can contain uppercase letters, lowercase letters, and digits. // // - After you modify the VNC password of an ECS instance, take note of the following items: // // - If the instance is I/O optimized, the new password takes effect immediately without the need to restart the instance. // // - If the instance is not I/O optimized, you must [restart the instance](https://help.aliyun.com/document_detail/25440.html) in the ECS console or by calling the [RebootInstance](https://help.aliyun.com/document_detail/25502.html) operation for the new password to take effect. // // @param request - ModifyInstanceVncPasswdRequest // // @return ModifyInstanceVncPasswdResponse func (client *Client) ModifyInstanceVncPasswd(request *ModifyInstanceVncPasswdRequest) (_result *ModifyInstanceVncPasswdResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceVncPasswdResponse{} _body, _err := client.ModifyInstanceVncPasswdWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the virtual private cloud (VPC), private IP address, security groups, or vSwitch of an Elastic Compute Service (ECS) instance located in a VPC. // // Description: // // The ECS instance that you want to manage must be in the **Stopped* - (`Stopped`) state. // // - When you call this operation to change the private IP address or vSwitch of an ECS instance, take note of the following items: // // - If the instance is a new instance, you must restart the instance before you call this operation. // // - After the private IP address or vSwitch of the instance is changed, you must restart the instance before you can recall this operation. // // - When you call this operation to change the VPC of an ECS instance, take note of the following items: // // - **ECS instance:** // // - The instance cannot be in the Locked, To Be Released, Expired, To Be Recycled, Expired and Being Recycled, or Overdue and Being Recycled state. For more information, see [Overview of instances](https://help.aliyun.com/document_detail/25380.html). // // - The instance cannot be associated with Server Load Balancer (SLB) instances. // // - The instance cannot be used in other Alibaba Cloud services. For example, the instance cannot be in the process of being migrated or having its VPC changed, or the databases deployed on the instance cannot be managed by Data Transmission Service (DTS). // // - **Network:** // // - The cut-through mode or the multi-elastic IP address (EIP)-to-elastic network interface (ENI) mode cannot be enabled for the ECS instance. // // - The ECS instance cannot be associated with a high-availability virtual IP address (HAVIP). // // - The vSwitch of the ECS instance cannot be associated with a custom route table. // // - Global Accelerator (GA) cannot be activated for the ECS instance. // // - Secondary ENIs cannot be attached to the ECS instance. // // - The ECS instance cannot be assigned an IPv6 address. // // - The primary ENI of the ECS instance cannot be associated with multiple IP addresses. // // - The vSwitch must belong to the new VPC. // // - The original and new vSwitches must reside in the same zone. // // - If you assign a private IP address to the primary ENI of the ECS instance, the private IP address must be an idle IP address within the CIDR block of the new vSwitch. If you do not assign a private IP address to the primary ENI of the ECS instance, a private IP address is randomly assigned to the ENI. Make sure that sufficient IP addresses are available in the CIDR block of the new vSwitch. // // - If you use a VPC that is shared by another Alibaba Cloud account with your account and want to change the security groups of the ECS instance, specify the security groups that you created in the VPC, instead of the security group created by the VPC owner, as the new security groups. // // @param request - ModifyInstanceVpcAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInstanceVpcAttributeResponse func (client *Client) ModifyInstanceVpcAttributeWithOptions(request *ModifyInstanceVpcAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyInstanceVpcAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInstanceVpcAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInstanceVpcAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the virtual private cloud (VPC), private IP address, security groups, or vSwitch of an Elastic Compute Service (ECS) instance located in a VPC. // // Description: // // The ECS instance that you want to manage must be in the **Stopped* - (`Stopped`) state. // // - When you call this operation to change the private IP address or vSwitch of an ECS instance, take note of the following items: // // - If the instance is a new instance, you must restart the instance before you call this operation. // // - After the private IP address or vSwitch of the instance is changed, you must restart the instance before you can recall this operation. // // - When you call this operation to change the VPC of an ECS instance, take note of the following items: // // - **ECS instance:** // // - The instance cannot be in the Locked, To Be Released, Expired, To Be Recycled, Expired and Being Recycled, or Overdue and Being Recycled state. For more information, see [Overview of instances](https://help.aliyun.com/document_detail/25380.html). // // - The instance cannot be associated with Server Load Balancer (SLB) instances. // // - The instance cannot be used in other Alibaba Cloud services. For example, the instance cannot be in the process of being migrated or having its VPC changed, or the databases deployed on the instance cannot be managed by Data Transmission Service (DTS). // // - **Network:** // // - The cut-through mode or the multi-elastic IP address (EIP)-to-elastic network interface (ENI) mode cannot be enabled for the ECS instance. // // - The ECS instance cannot be associated with a high-availability virtual IP address (HAVIP). // // - The vSwitch of the ECS instance cannot be associated with a custom route table. // // - Global Accelerator (GA) cannot be activated for the ECS instance. // // - Secondary ENIs cannot be attached to the ECS instance. // // - The ECS instance cannot be assigned an IPv6 address. // // - The primary ENI of the ECS instance cannot be associated with multiple IP addresses. // // - The vSwitch must belong to the new VPC. // // - The original and new vSwitches must reside in the same zone. // // - If you assign a private IP address to the primary ENI of the ECS instance, the private IP address must be an idle IP address within the CIDR block of the new vSwitch. If you do not assign a private IP address to the primary ENI of the ECS instance, a private IP address is randomly assigned to the ENI. Make sure that sufficient IP addresses are available in the CIDR block of the new vSwitch. // // - If you use a VPC that is shared by another Alibaba Cloud account with your account and want to change the security groups of the ECS instance, specify the security groups that you created in the VPC, instead of the security group created by the VPC owner, as the new security groups. // // @param request - ModifyInstanceVpcAttributeRequest // // @return ModifyInstanceVpcAttributeResponse func (client *Client) ModifyInstanceVpcAttribute(request *ModifyInstanceVpcAttributeRequest) (_result *ModifyInstanceVpcAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInstanceVpcAttributeResponse{} _body, _err := client.ModifyInstanceVpcAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the execution information of a Cloud Assistant scheduled command task, including modifying the content and execution frequency of the command and adding Elastic Compute Service (ECS) instances or Alibaba Cloud managed instances to the command task. // // Description: // // You can modify the execution information of a task that runs a command in one of the following modes. To query the execution mode of a command, you can call the [DescribeInvocations](https://help.aliyun.com/document_detail/2679916.html) operation and check the `RepeatMode` value in the response. // // - Period: The task runs the command on a schedule. // // - NextRebootOnly: The task runs the command the next time the associated instances start. // // - EveryReboot: The task runs the command every time the associated instances start. // // - You can modify the execution information of a command task in one of the following execution states. To query the execution status of a command, you can call the [DescribeInvocations](https://help.aliyun.com/document_detail/2679916.html) operation and check the `InvocationStatus` value. // // - Pending: The command is being verified or sent. When the execution state on at least one instance is Pending, the overall execution state is Pending. // // - Running: The command is being run on instances. When the execution state on at least one instance is Running, the overall execution state is Running. // // - Scheduled: The command that is set to run on a schedule is sent and waiting to be run. When the execution state on at least one instance is Scheduled, the overall execution state is Scheduled. // // - Stopping: The command task is being stopped. When the execution state on at least one instance is Stopping, the overall execution state is Stopping. // // - Before you modify the execution information of a scheduled task, such as the command content, custom parameters, and execution frequency, make sure that the version of Cloud Assistant Agent on the ECS instances or managed instances associated with the task is later than the following versions: // // - Linux: 2.2.3.541 // // - Windows: 2.1.3.541 // // - If the `InvalidOperation.CloudAssistantVersionUnsupported` error code is returned in the response, update Cloud Assistant Agent to the latest version. // // - You cannot modify `CommandContent` for a common Cloud Assistant command. // // - If you modify the `CommandContent` value of a command and set `KeepCommand` to `true` when you call the [InvokeCommand](https://help.aliyun.com/document_detail/64841.html) or [RunCommand](https://help.aliyun.com/document_detail/141751.html) operation to run the command, a new command is added and retained. The new command consumes the quota for Cloud Assistant commands. You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](https://help.aliyun.com/document_detail/184116.html). // // @param tmpReq - ModifyInvocationAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyInvocationAttributeResponse func (client *Client) ModifyInvocationAttributeWithOptions(tmpReq *ModifyInvocationAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyInvocationAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &ModifyInvocationAttributeShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.Parameters) { request.ParametersShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.Parameters, dara.String("Parameters"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.CommandContent) { query["CommandContent"] = request.CommandContent } if !dara.IsNil(request.ContentEncoding) { query["ContentEncoding"] = request.ContentEncoding } if !dara.IsNil(request.EnableParameter) { query["EnableParameter"] = request.EnableParameter } if !dara.IsNil(request.Frequency) { query["Frequency"] = request.Frequency } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InvokeId) { query["InvokeId"] = request.InvokeId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ParametersShrink) { query["Parameters"] = request.ParametersShrink } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyInvocationAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyInvocationAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the execution information of a Cloud Assistant scheduled command task, including modifying the content and execution frequency of the command and adding Elastic Compute Service (ECS) instances or Alibaba Cloud managed instances to the command task. // // Description: // // You can modify the execution information of a task that runs a command in one of the following modes. To query the execution mode of a command, you can call the [DescribeInvocations](https://help.aliyun.com/document_detail/2679916.html) operation and check the `RepeatMode` value in the response. // // - Period: The task runs the command on a schedule. // // - NextRebootOnly: The task runs the command the next time the associated instances start. // // - EveryReboot: The task runs the command every time the associated instances start. // // - You can modify the execution information of a command task in one of the following execution states. To query the execution status of a command, you can call the [DescribeInvocations](https://help.aliyun.com/document_detail/2679916.html) operation and check the `InvocationStatus` value. // // - Pending: The command is being verified or sent. When the execution state on at least one instance is Pending, the overall execution state is Pending. // // - Running: The command is being run on instances. When the execution state on at least one instance is Running, the overall execution state is Running. // // - Scheduled: The command that is set to run on a schedule is sent and waiting to be run. When the execution state on at least one instance is Scheduled, the overall execution state is Scheduled. // // - Stopping: The command task is being stopped. When the execution state on at least one instance is Stopping, the overall execution state is Stopping. // // - Before you modify the execution information of a scheduled task, such as the command content, custom parameters, and execution frequency, make sure that the version of Cloud Assistant Agent on the ECS instances or managed instances associated with the task is later than the following versions: // // - Linux: 2.2.3.541 // // - Windows: 2.1.3.541 // // - If the `InvalidOperation.CloudAssistantVersionUnsupported` error code is returned in the response, update Cloud Assistant Agent to the latest version. // // - You cannot modify `CommandContent` for a common Cloud Assistant command. // // - If you modify the `CommandContent` value of a command and set `KeepCommand` to `true` when you call the [InvokeCommand](https://help.aliyun.com/document_detail/64841.html) or [RunCommand](https://help.aliyun.com/document_detail/141751.html) operation to run the command, a new command is added and retained. The new command consumes the quota for Cloud Assistant commands. You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](https://help.aliyun.com/document_detail/184116.html). // // @param request - ModifyInvocationAttributeRequest // // @return ModifyInvocationAttributeResponse func (client *Client) ModifyInvocationAttribute(request *ModifyInvocationAttributeRequest) (_result *ModifyInvocationAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyInvocationAttributeResponse{} _body, _err := client.ModifyInvocationAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the default version of a launch template. When you call this operation, you can specify DefaultVersionNumber in the request. If you do not specify a version when you create Elastic Compute Service (ECS) instances based on a launch template, the default version of the launch template is used. // // Description: // // ## Debugging // // [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=ModifyLaunchTemplateDefaultVersion\\&type=RPC\\&version=2014-05-26) // // @param request - ModifyLaunchTemplateDefaultVersionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyLaunchTemplateDefaultVersionResponse func (client *Client) ModifyLaunchTemplateDefaultVersionWithOptions(request *ModifyLaunchTemplateDefaultVersionRequest, runtime *dara.RuntimeOptions) (_result *ModifyLaunchTemplateDefaultVersionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DefaultVersionNumber) { query["DefaultVersionNumber"] = request.DefaultVersionNumber } if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyLaunchTemplateDefaultVersion"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyLaunchTemplateDefaultVersionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the default version of a launch template. When you call this operation, you can specify DefaultVersionNumber in the request. If you do not specify a version when you create Elastic Compute Service (ECS) instances based on a launch template, the default version of the launch template is used. // // Description: // // ## Debugging // // [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=ModifyLaunchTemplateDefaultVersion\\&type=RPC\\&version=2014-05-26) // // @param request - ModifyLaunchTemplateDefaultVersionRequest // // @return ModifyLaunchTemplateDefaultVersionResponse func (client *Client) ModifyLaunchTemplateDefaultVersion(request *ModifyLaunchTemplateDefaultVersionRequest) (_result *ModifyLaunchTemplateDefaultVersionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyLaunchTemplateDefaultVersionResponse{} _body, _err := client.ModifyLaunchTemplateDefaultVersionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the information of a managed instance. // // Description: // // ## [](#)Usage notes // // The ModifyManagedInstance operation can be called to change only the name of a single managed instance. // // @param request - ModifyManagedInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyManagedInstanceResponse func (client *Client) ModifyManagedInstanceWithOptions(request *ModifyManagedInstanceRequest, runtime *dara.RuntimeOptions) (_result *ModifyManagedInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyManagedInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyManagedInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the information of a managed instance. // // Description: // // ## [](#)Usage notes // // The ModifyManagedInstance operation can be called to change only the name of a single managed instance. // // @param request - ModifyManagedInstanceRequest // // @return ModifyManagedInstanceResponse func (client *Client) ModifyManagedInstance(request *ModifyManagedInstanceRequest) (_result *ModifyManagedInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyManagedInstanceResponse{} _body, _err := client.ModifyManagedInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the attributes of an elastic network interface (ENI), such as the number of queues supported by the ENI, the security groups to which the ENI belongs, the queue depth, the communication mode, and whether to retain the ENI when the Elastic Compute Service (ECS) instance to which the ENI is attached is released. // // @param request - ModifyNetworkInterfaceAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyNetworkInterfaceAttributeResponse func (client *Client) ModifyNetworkInterfaceAttributeWithOptions(request *ModifyNetworkInterfaceAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyNetworkInterfaceAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ConnectionTrackingConfiguration) { query["ConnectionTrackingConfiguration"] = request.ConnectionTrackingConfiguration } if !dara.IsNil(request.DeleteOnRelease) { query["DeleteOnRelease"] = request.DeleteOnRelease } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EnhancedNetwork) { query["EnhancedNetwork"] = request.EnhancedNetwork } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.NetworkInterfaceName) { query["NetworkInterfaceName"] = request.NetworkInterfaceName } if !dara.IsNil(request.NetworkInterfaceTrafficConfig) { query["NetworkInterfaceTrafficConfig"] = request.NetworkInterfaceTrafficConfig } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.QueueNumber) { query["QueueNumber"] = request.QueueNumber } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RxQueueSize) { query["RxQueueSize"] = request.RxQueueSize } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SourceDestCheck) { query["SourceDestCheck"] = request.SourceDestCheck } if !dara.IsNil(request.TxQueueSize) { query["TxQueueSize"] = request.TxQueueSize } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyNetworkInterfaceAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyNetworkInterfaceAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the attributes of an elastic network interface (ENI), such as the number of queues supported by the ENI, the security groups to which the ENI belongs, the queue depth, the communication mode, and whether to retain the ENI when the Elastic Compute Service (ECS) instance to which the ENI is attached is released. // // @param request - ModifyNetworkInterfaceAttributeRequest // // @return ModifyNetworkInterfaceAttributeResponse func (client *Client) ModifyNetworkInterfaceAttribute(request *ModifyNetworkInterfaceAttributeRequest) (_result *ModifyNetworkInterfaceAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyNetworkInterfaceAttributeResponse{} _body, _err := client.ModifyNetworkInterfaceAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyPhysicalConnectionAttribute is deprecated, please use Vpc::2016-04-28::ModifyPhysicalConnectionAttribute instead. // // Summary: // // # ModifyPhysicalConnectionAttribute // // @param request - ModifyPhysicalConnectionAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyPhysicalConnectionAttributeResponse func (client *Client) ModifyPhysicalConnectionAttributeWithOptions(request *ModifyPhysicalConnectionAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyPhysicalConnectionAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CircuitCode) { query["CircuitCode"] = request.CircuitCode } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.LineOperator) { query["LineOperator"] = request.LineOperator } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PeerLocation) { query["PeerLocation"] = request.PeerLocation } if !dara.IsNil(request.PhysicalConnectionId) { query["PhysicalConnectionId"] = request.PhysicalConnectionId } if !dara.IsNil(request.PortType) { query["PortType"] = request.PortType } if !dara.IsNil(request.RedundantPhysicalConnectionId) { query["RedundantPhysicalConnectionId"] = request.RedundantPhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.Bandwidth) { query["bandwidth"] = request.Bandwidth } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyPhysicalConnectionAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyPhysicalConnectionAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyPhysicalConnectionAttribute is deprecated, please use Vpc::2016-04-28::ModifyPhysicalConnectionAttribute instead. // // Summary: // // # ModifyPhysicalConnectionAttribute // // @param request - ModifyPhysicalConnectionAttributeRequest // // @return ModifyPhysicalConnectionAttributeResponse // Deprecated func (client *Client) ModifyPhysicalConnectionAttribute(request *ModifyPhysicalConnectionAttributeRequest) (_result *ModifyPhysicalConnectionAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyPhysicalConnectionAttributeResponse{} _body, _err := client.ModifyPhysicalConnectionAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 更新运维窗口 // // @param tmpReq - ModifyPlanMaintenanceWindowRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyPlanMaintenanceWindowResponse func (client *Client) ModifyPlanMaintenanceWindowWithOptions(tmpReq *ModifyPlanMaintenanceWindowRequest, runtime *dara.RuntimeOptions) (_result *ModifyPlanMaintenanceWindowResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &ModifyPlanMaintenanceWindowShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.TargetResource) { request.TargetResourceShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.TargetResource, dara.String("TargetResource"), dara.String("json")) } if !dara.IsNil(tmpReq.TimePeriod) { request.TimePeriodShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.TimePeriod, dara.String("TimePeriod"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.Enable) { query["Enable"] = request.Enable } if !dara.IsNil(request.PlanWindowId) { query["PlanWindowId"] = request.PlanWindowId } if !dara.IsNil(request.PlanWindowName) { query["PlanWindowName"] = request.PlanWindowName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.SupportMaintenanceAction) { query["SupportMaintenanceAction"] = request.SupportMaintenanceAction } if !dara.IsNil(request.TargetResourceShrink) { query["TargetResource"] = request.TargetResourceShrink } if !dara.IsNil(request.TimePeriodShrink) { query["TimePeriod"] = request.TimePeriodShrink } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyPlanMaintenanceWindow"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyPlanMaintenanceWindowResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // 更新运维窗口 // // @param request - ModifyPlanMaintenanceWindowRequest // // @return ModifyPlanMaintenanceWindowResponse func (client *Client) ModifyPlanMaintenanceWindow(request *ModifyPlanMaintenanceWindowRequest) (_result *ModifyPlanMaintenanceWindowResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyPlanMaintenanceWindowResponse{} _body, _err := client.ModifyPlanMaintenanceWindowWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name and entries of a port list. You can call this operation to add, modify, and remove entries for a port list. // // @param request - ModifyPortRangeListRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyPortRangeListResponse func (client *Client) ModifyPortRangeListWithOptions(request *ModifyPortRangeListRequest, runtime *dara.RuntimeOptions) (_result *ModifyPortRangeListResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AddEntry) { query["AddEntry"] = request.AddEntry } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PortRangeListId) { query["PortRangeListId"] = request.PortRangeListId } if !dara.IsNil(request.PortRangeListName) { query["PortRangeListName"] = request.PortRangeListName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RemoveEntry) { query["RemoveEntry"] = request.RemoveEntry } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyPortRangeList"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyPortRangeListResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name and entries of a port list. You can call this operation to add, modify, and remove entries for a port list. // // @param request - ModifyPortRangeListRequest // // @return ModifyPortRangeListResponse func (client *Client) ModifyPortRangeList(request *ModifyPortRangeListRequest) (_result *ModifyPortRangeListResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyPortRangeListResponse{} _body, _err := client.ModifyPortRangeListWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name, description, or entries of a prefix list. You can add, modify, and delete entries in the prefix list. // // Description: // // ## [](#)Usage notes // // - The specified CIDR block must be valid. For example, 10.0.0.0/8 is a valid CIDR block while 10.0.0.1/8 is not. For more information, see the [What is CIDR?](~~40637#section-jua-0tj-q5m~~) section in the "Network FAQ" topic. // // - When you add or delete an entry, you cannot specify duplicate CIDR blocks. Examples: // // - For IPv4 CIDR blocks, you cannot specify the 10.0.0.0/8 CIDR block in two entries. You cannot specify the 10.0.0.1/32 CIDR block in one entry and the 10.0.0.1 CIDR block in another entry. The two CIDR blocks are the same. // // - For IPv6 CIDR blocks, you cannot specify the 2001:fd01:0:0:0:0:0:0/32 CIDR block in one entry and the 2001:fd01::/32 CIDR block in another entry. The two CIDR blocks are the same. // // - The CIDR block in an entry to be added cannot the same as that in an entry to be deleted. For example, when you add an entry in which the 10.0.0.0/8 CIDR block is specified, make sure that the 10.0.0.0/8 CIDR block is not specified in an entry to be deleted. // // - If you want to modify the description of an entry, you must specify the CIDR block (`AddEntry.N.Cidr`) and new description (`AddEntry.N.Description`) for the entry. // // @param request - ModifyPrefixListRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyPrefixListResponse func (client *Client) ModifyPrefixListWithOptions(request *ModifyPrefixListRequest, runtime *dara.RuntimeOptions) (_result *ModifyPrefixListResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AddEntry) { query["AddEntry"] = request.AddEntry } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrefixListId) { query["PrefixListId"] = request.PrefixListId } if !dara.IsNil(request.PrefixListName) { query["PrefixListName"] = request.PrefixListName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RemoveEntry) { query["RemoveEntry"] = request.RemoveEntry } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyPrefixList"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyPrefixListResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name, description, or entries of a prefix list. You can add, modify, and delete entries in the prefix list. // // Description: // // ## [](#)Usage notes // // - The specified CIDR block must be valid. For example, 10.0.0.0/8 is a valid CIDR block while 10.0.0.1/8 is not. For more information, see the [What is CIDR?](~~40637#section-jua-0tj-q5m~~) section in the "Network FAQ" topic. // // - When you add or delete an entry, you cannot specify duplicate CIDR blocks. Examples: // // - For IPv4 CIDR blocks, you cannot specify the 10.0.0.0/8 CIDR block in two entries. You cannot specify the 10.0.0.1/32 CIDR block in one entry and the 10.0.0.1 CIDR block in another entry. The two CIDR blocks are the same. // // - For IPv6 CIDR blocks, you cannot specify the 2001:fd01:0:0:0:0:0:0/32 CIDR block in one entry and the 2001:fd01::/32 CIDR block in another entry. The two CIDR blocks are the same. // // - The CIDR block in an entry to be added cannot the same as that in an entry to be deleted. For example, when you add an entry in which the 10.0.0.0/8 CIDR block is specified, make sure that the 10.0.0.0/8 CIDR block is not specified in an entry to be deleted. // // - If you want to modify the description of an entry, you must specify the CIDR block (`AddEntry.N.Cidr`) and new description (`AddEntry.N.Description`) for the entry. // // @param request - ModifyPrefixListRequest // // @return ModifyPrefixListResponse func (client *Client) ModifyPrefixList(request *ModifyPrefixListRequest) (_result *ModifyPrefixListResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyPrefixListResponse{} _body, _err := client.ModifyPrefixListWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the instance type of a subscription Elastic Compute Service (ECS) instance. You can upgrade or downgrade the instance type. The new instance type takes effect for the entire lifecycle of the subscription ECS instance. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods, [prices](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl), and [rules for unsubscribing from resources](https://help.aliyun.com/document_detail/476339.html) of ECS.** // // ModifyPrepayInstanceSpec is an asynchronous operation. After a request is sent, wait for 5 to 10 seconds for the instance type change to complete. Before you change the instance type of a subscription ECS instance, call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query the instance types to which you can change the instance. // // **Considerations** // // - Before you change the instance type of an expired instance, you must renew the instance. // // - When you downgrade the instance type of a subscription ECS instance, take note of the following items: // // - The instance must be in the **Stopped* - (`Stopped`) state. // // - The price difference is refunded to the payment account that you used. Redeemed vouchers are not refundable. // // - The new instance type takes effect only after you [start the instance](https://help.aliyun.com/document_detail/25441.html). // // - When you upgrade the instance type of a subscription ECS instance, take note of the following items: // // - The instance must be in the **Stopped* - (`Stopped`) or **Running* - (`Running`) state. // // - The new instance type takes effect only after you [start the instance](https://help.aliyun.com/document_detail/25441.html) or [restart the instance](https://help.aliyun.com/document_detail/25440.html). // // @param request - ModifyPrepayInstanceSpecRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyPrepayInstanceSpecResponse func (client *Client) ModifyPrepayInstanceSpecWithOptions(request *ModifyPrepayInstanceSpecRequest, runtime *dara.RuntimeOptions) (_result *ModifyPrepayInstanceSpecResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Disk) { query["Disk"] = request.Disk } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.MigrateAcrossZone) { query["MigrateAcrossZone"] = request.MigrateAcrossZone } if !dara.IsNil(request.ModifyMode) { query["ModifyMode"] = request.ModifyMode } if !dara.IsNil(request.OperatorType) { query["OperatorType"] = request.OperatorType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RebootTime) { query["RebootTime"] = request.RebootTime } if !dara.IsNil(request.RebootWhenFinished) { query["RebootWhenFinished"] = request.RebootWhenFinished } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyPrepayInstanceSpec"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyPrepayInstanceSpecResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the instance type of a subscription Elastic Compute Service (ECS) instance. You can upgrade or downgrade the instance type. The new instance type takes effect for the entire lifecycle of the subscription ECS instance. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods, [prices](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl), and [rules for unsubscribing from resources](https://help.aliyun.com/document_detail/476339.html) of ECS.** // // ModifyPrepayInstanceSpec is an asynchronous operation. After a request is sent, wait for 5 to 10 seconds for the instance type change to complete. Before you change the instance type of a subscription ECS instance, call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query the instance types to which you can change the instance. // // **Considerations** // // - Before you change the instance type of an expired instance, you must renew the instance. // // - When you downgrade the instance type of a subscription ECS instance, take note of the following items: // // - The instance must be in the **Stopped* - (`Stopped`) state. // // - The price difference is refunded to the payment account that you used. Redeemed vouchers are not refundable. // // - The new instance type takes effect only after you [start the instance](https://help.aliyun.com/document_detail/25441.html). // // - When you upgrade the instance type of a subscription ECS instance, take note of the following items: // // - The instance must be in the **Stopped* - (`Stopped`) or **Running* - (`Running`) state. // // - The new instance type takes effect only after you [start the instance](https://help.aliyun.com/document_detail/25441.html) or [restart the instance](https://help.aliyun.com/document_detail/25440.html). // // @param request - ModifyPrepayInstanceSpecRequest // // @return ModifyPrepayInstanceSpecResponse func (client *Client) ModifyPrepayInstanceSpec(request *ModifyPrepayInstanceSpecRequest) (_result *ModifyPrepayInstanceSpecResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyPrepayInstanceSpecResponse{} _body, _err := client.ModifyPrepayInstanceSpecWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the attributes of a reserved instance, such as the name and description of the instance. // // @param request - ModifyReservedInstanceAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyReservedInstanceAttributeResponse func (client *Client) ModifyReservedInstanceAttributeWithOptions(request *ModifyReservedInstanceAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyReservedInstanceAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReservedInstanceId) { query["ReservedInstanceId"] = request.ReservedInstanceId } if !dara.IsNil(request.ReservedInstanceName) { query["ReservedInstanceName"] = request.ReservedInstanceName } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyReservedInstanceAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyReservedInstanceAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the attributes of a reserved instance, such as the name and description of the instance. // // @param request - ModifyReservedInstanceAttributeRequest // // @return ModifyReservedInstanceAttributeResponse func (client *Client) ModifyReservedInstanceAttribute(request *ModifyReservedInstanceAttributeRequest) (_result *ModifyReservedInstanceAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyReservedInstanceAttributeResponse{} _body, _err := client.ModifyReservedInstanceAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the auto-renewal attributes of reserved instances. You can cancel or disable the auto-renewal feature for reserved instances. // // @param request - ModifyReservedInstanceAutoRenewAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyReservedInstanceAutoRenewAttributeResponse func (client *Client) ModifyReservedInstanceAutoRenewAttributeWithOptions(request *ModifyReservedInstanceAutoRenewAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyReservedInstanceAutoRenewAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RenewalStatus) { query["RenewalStatus"] = request.RenewalStatus } if !dara.IsNil(request.ReservedInstanceId) { query["ReservedInstanceId"] = request.ReservedInstanceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyReservedInstanceAutoRenewAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyReservedInstanceAutoRenewAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the auto-renewal attributes of reserved instances. You can cancel or disable the auto-renewal feature for reserved instances. // // @param request - ModifyReservedInstanceAutoRenewAttributeRequest // // @return ModifyReservedInstanceAutoRenewAttributeResponse func (client *Client) ModifyReservedInstanceAutoRenewAttribute(request *ModifyReservedInstanceAutoRenewAttributeRequest) (_result *ModifyReservedInstanceAutoRenewAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyReservedInstanceAutoRenewAttributeResponse{} _body, _err := client.ModifyReservedInstanceAutoRenewAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the configurations of a reserved instance, such as the instance type, quantity, and zone, to split, merge, or change the scope of the reserved instance. // // Description: // // This operation is an asynchronous operation. After you call this operation to modify a reserved instance, the operation starts the modification process and returns the ID of the resulting new reserved instance. The original reserved instance enters the `Updating` state and then the `Inactive` state. At the same time, the resulting new reserved instance is generated and enters the Creating state and then the Active state. You can call the [DescribeReservedInstances](https://help.aliyun.com/document_detail/2679781.html) operation to query the states of the reserved instance. // // - You can modify the configurations of a reserved instance only if the reserved instance is in the **Active* - state. // // - Make sure that the [computing power](~~140660#2742f3844abzz~~) of the reserved instance remains unchanged before and after the modification. Otherwise, the modification fails. // // - You cannot split, merge, or change the scope of a reserved instance at the same time. // // For more information, see [Split, merge, or modify reserved instances](https://help.aliyun.com/document_detail/100375.html). // // ## [](#)Sample requests // // - **Sample request to split a reserved instance**: Split a regional reserved instance that is scoped to the China (Hangzhou) region and can match two pay-as-you-go instances of the ecs.g5.xlarge instance type into two regional reserved instances that are scoped to the China (Hangzhou) region and each can match one pay-as-you-go instance of the ecs.g5.large instance type: // // // // "RegionId":"cn-hangzhou", //The ID of the region. // // "ReservedInstanceId":["ecsri-bp1hd03e9uv19e75****"], //The ID of the reserved instance that you want to split. // // "Configuration":[ // // { // // "ReservedInstanceName":"testReservedInstanceName1", //The name of the new reserved instance. // // "InstanceType":"ecs.g5.large", //The instance type that the new reserved instance can match. // // "Scope":"Region", //The scope level of the new reserved instance, which must be the same as the scope level of the original reserved instance. // // "InstanceAmount":1 //The number of pay-as-you-go instances of the specified instance type that each new reserved instance can match. // // }, // // { // // "ReservedInstanceName":"testReservedInstanceName2", // // "InstanceType":"ecs.g5.large", // // "Scope":"Region", // // "InstanceAmount":1 // // } // // ] // // - **Sample request to merge reserved instance:**: Merge two zonal reserved instances that are scoped to Hangzhou Zone H and can match four pay-as-you-go instances of the ecs.g5.xlarge instance type into one zonal reserved instance that is scoped to Hangzhou Zone H and can match two pay-as-you-go instances of the ecs.g5.4xlarge instance type: // // // // "RegionId":"cn-hangzhou", //The ID of the region. // // "ReservedInstanceId":["ecsri-bp1hd03e9uv16b75****",""ecsri-bp1hd03e9uv16b76****""], //The IDs of the reserved instances that you want to merge. // // "Configuration":[ // // { // // "ReservedInstanceName":"testReservedInstanceName", //The name of the new reserved instance. // // "InstanceType":"ecs.g5.4xlarge", //The instance type that the new reserved instance can match. // // "Scope":"Zone", //The scope level of the new reserved instance, which must be the same as the scope level of the original reserved instances. // // "ZoneId":"cn-hangzhou-h", // // // "InstanceAmount":2 //The number of pay-as-you-go instances of the specified instance type that the new reserved instance can match. // // } // // ] // // - **Sample request to change the scope of a reserved instance**: Change a regional reserved instance that is scoped to Hangzhou Zone H and can match six pay-as-you-go instances of the ecs.g5.xlarge instance type to a regional reserved instance that is scoped to the China (Hangzhou) region and can match three pay-as-you-go instances of the ecs.g5.2xlarge instance type. // // // // "RegionId":"cn-hangzhou", //The ID of the region. // // "ReservedInstanceId":["ecsri-bp1hd03e9uv16b77****"], //The ID of the reserved instance whose scope you want to change. // // "Configuration":[ // // { // // "ReservedInstanceName":"testReservedInstanceName", //The name of the new reserved instance. // // "InstanceType":"ecs.g5.2xlarge", //The instance type that the new reserved instance can match. // // "Scope":"Region", //The scope level of the new reserved instance. // // "InstanceAmount":3 //The number of pay-as-you-go instances of the specified instance type that the new reserved instance can match. // // } // // ] // // @param request - ModifyReservedInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyReservedInstancesResponse func (client *Client) ModifyReservedInstancesWithOptions(request *ModifyReservedInstancesRequest, runtime *dara.RuntimeOptions) (_result *ModifyReservedInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Configuration) { query["Configuration"] = request.Configuration } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReservedInstanceId) { query["ReservedInstanceId"] = request.ReservedInstanceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyReservedInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyReservedInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the configurations of a reserved instance, such as the instance type, quantity, and zone, to split, merge, or change the scope of the reserved instance. // // Description: // // This operation is an asynchronous operation. After you call this operation to modify a reserved instance, the operation starts the modification process and returns the ID of the resulting new reserved instance. The original reserved instance enters the `Updating` state and then the `Inactive` state. At the same time, the resulting new reserved instance is generated and enters the Creating state and then the Active state. You can call the [DescribeReservedInstances](https://help.aliyun.com/document_detail/2679781.html) operation to query the states of the reserved instance. // // - You can modify the configurations of a reserved instance only if the reserved instance is in the **Active* - state. // // - Make sure that the [computing power](~~140660#2742f3844abzz~~) of the reserved instance remains unchanged before and after the modification. Otherwise, the modification fails. // // - You cannot split, merge, or change the scope of a reserved instance at the same time. // // For more information, see [Split, merge, or modify reserved instances](https://help.aliyun.com/document_detail/100375.html). // // ## [](#)Sample requests // // - **Sample request to split a reserved instance**: Split a regional reserved instance that is scoped to the China (Hangzhou) region and can match two pay-as-you-go instances of the ecs.g5.xlarge instance type into two regional reserved instances that are scoped to the China (Hangzhou) region and each can match one pay-as-you-go instance of the ecs.g5.large instance type: // // // // "RegionId":"cn-hangzhou", //The ID of the region. // // "ReservedInstanceId":["ecsri-bp1hd03e9uv19e75****"], //The ID of the reserved instance that you want to split. // // "Configuration":[ // // { // // "ReservedInstanceName":"testReservedInstanceName1", //The name of the new reserved instance. // // "InstanceType":"ecs.g5.large", //The instance type that the new reserved instance can match. // // "Scope":"Region", //The scope level of the new reserved instance, which must be the same as the scope level of the original reserved instance. // // "InstanceAmount":1 //The number of pay-as-you-go instances of the specified instance type that each new reserved instance can match. // // }, // // { // // "ReservedInstanceName":"testReservedInstanceName2", // // "InstanceType":"ecs.g5.large", // // "Scope":"Region", // // "InstanceAmount":1 // // } // // ] // // - **Sample request to merge reserved instance:**: Merge two zonal reserved instances that are scoped to Hangzhou Zone H and can match four pay-as-you-go instances of the ecs.g5.xlarge instance type into one zonal reserved instance that is scoped to Hangzhou Zone H and can match two pay-as-you-go instances of the ecs.g5.4xlarge instance type: // // // // "RegionId":"cn-hangzhou", //The ID of the region. // // "ReservedInstanceId":["ecsri-bp1hd03e9uv16b75****",""ecsri-bp1hd03e9uv16b76****""], //The IDs of the reserved instances that you want to merge. // // "Configuration":[ // // { // // "ReservedInstanceName":"testReservedInstanceName", //The name of the new reserved instance. // // "InstanceType":"ecs.g5.4xlarge", //The instance type that the new reserved instance can match. // // "Scope":"Zone", //The scope level of the new reserved instance, which must be the same as the scope level of the original reserved instances. // // "ZoneId":"cn-hangzhou-h", // // // "InstanceAmount":2 //The number of pay-as-you-go instances of the specified instance type that the new reserved instance can match. // // } // // ] // // - **Sample request to change the scope of a reserved instance**: Change a regional reserved instance that is scoped to Hangzhou Zone H and can match six pay-as-you-go instances of the ecs.g5.xlarge instance type to a regional reserved instance that is scoped to the China (Hangzhou) region and can match three pay-as-you-go instances of the ecs.g5.2xlarge instance type. // // // // "RegionId":"cn-hangzhou", //The ID of the region. // // "ReservedInstanceId":["ecsri-bp1hd03e9uv16b77****"], //The ID of the reserved instance whose scope you want to change. // // "Configuration":[ // // { // // "ReservedInstanceName":"testReservedInstanceName", //The name of the new reserved instance. // // "InstanceType":"ecs.g5.2xlarge", //The instance type that the new reserved instance can match. // // "Scope":"Region", //The scope level of the new reserved instance. // // "InstanceAmount":3 //The number of pay-as-you-go instances of the specified instance type that the new reserved instance can match. // // } // // ] // // @param request - ModifyReservedInstancesRequest // // @return ModifyReservedInstancesResponse func (client *Client) ModifyReservedInstances(request *ModifyReservedInstancesRequest) (_result *ModifyReservedInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyReservedInstancesResponse{} _body, _err := client.ModifyReservedInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyRouterInterfaceAttribute is deprecated, please use Vpc::2016-04-28::ModifyRouterInterfaceAttribute instead. // // Summary: // // # ModifyRouterInterfaceAttribute // // @param request - ModifyRouterInterfaceAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyRouterInterfaceAttributeResponse func (client *Client) ModifyRouterInterfaceAttributeWithOptions(request *ModifyRouterInterfaceAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyRouterInterfaceAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.HealthCheckSourceIp) { query["HealthCheckSourceIp"] = request.HealthCheckSourceIp } if !dara.IsNil(request.HealthCheckTargetIp) { query["HealthCheckTargetIp"] = request.HealthCheckTargetIp } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OppositeInterfaceId) { query["OppositeInterfaceId"] = request.OppositeInterfaceId } if !dara.IsNil(request.OppositeInterfaceOwnerId) { query["OppositeInterfaceOwnerId"] = request.OppositeInterfaceOwnerId } if !dara.IsNil(request.OppositeRouterId) { query["OppositeRouterId"] = request.OppositeRouterId } if !dara.IsNil(request.OppositeRouterType) { query["OppositeRouterType"] = request.OppositeRouterType } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouterInterfaceId) { query["RouterInterfaceId"] = request.RouterInterfaceId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyRouterInterfaceAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyRouterInterfaceAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyRouterInterfaceAttribute is deprecated, please use Vpc::2016-04-28::ModifyRouterInterfaceAttribute instead. // // Summary: // // # ModifyRouterInterfaceAttribute // // @param request - ModifyRouterInterfaceAttributeRequest // // @return ModifyRouterInterfaceAttributeResponse // Deprecated func (client *Client) ModifyRouterInterfaceAttribute(request *ModifyRouterInterfaceAttributeRequest) (_result *ModifyRouterInterfaceAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyRouterInterfaceAttributeResponse{} _body, _err := client.ModifyRouterInterfaceAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyRouterInterfaceSpec is deprecated, please use Vpc::2016-04-28::ModifyRouterInterfaceSpec instead. // // Summary: // // # ModifyRouterInterfaceSpec // // @param request - ModifyRouterInterfaceSpecRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyRouterInterfaceSpecResponse func (client *Client) ModifyRouterInterfaceSpecWithOptions(request *ModifyRouterInterfaceSpecRequest, runtime *dara.RuntimeOptions) (_result *ModifyRouterInterfaceSpecResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RouterInterfaceId) { query["RouterInterfaceId"] = request.RouterInterfaceId } if !dara.IsNil(request.Spec) { query["Spec"] = request.Spec } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyRouterInterfaceSpec"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyRouterInterfaceSpecResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyRouterInterfaceSpec is deprecated, please use Vpc::2016-04-28::ModifyRouterInterfaceSpec instead. // // Summary: // // # ModifyRouterInterfaceSpec // // @param request - ModifyRouterInterfaceSpecRequest // // @return ModifyRouterInterfaceSpecResponse // Deprecated func (client *Client) ModifyRouterInterfaceSpec(request *ModifyRouterInterfaceSpecRequest) (_result *ModifyRouterInterfaceSpecResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyRouterInterfaceSpecResponse{} _body, _err := client.ModifyRouterInterfaceSpecWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name or description of a specific security group. // // @param request - ModifySecurityGroupAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifySecurityGroupAttributeResponse func (client *Client) ModifySecurityGroupAttributeWithOptions(request *ModifySecurityGroupAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifySecurityGroupAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupName) { query["SecurityGroupName"] = request.SecurityGroupName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifySecurityGroupAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifySecurityGroupAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name or description of a specific security group. // // @param request - ModifySecurityGroupAttributeRequest // // @return ModifySecurityGroupAttributeResponse func (client *Client) ModifySecurityGroupAttribute(request *ModifySecurityGroupAttributeRequest) (_result *ModifySecurityGroupAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifySecurityGroupAttributeResponse{} _body, _err := client.ModifySecurityGroupAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies an outbound security group rule in a security group. // // Description: // // Take note of the following items: // // - An authorization object in a security group rule can be of one of the following types: IPv4 CIDR block or address, IPv6 CIDR block or address, security group, or prefix list. You cannot call this operation to change the type of an existing authorization object. For example, if an authorization object is an IPv4 CIDR block, you can change the authorization object to a different IPv4 CIDR block or an IPv4 address, but you cannot change the authorization object to an IPv6 CIDR block or address, a security group, or a prefix list. // // - You cannot delete the value of a non-empty parameter. If you want to delete the values of non-empty parameters, we recommend that you create another rule and delete the original rule. // // @param request - ModifySecurityGroupEgressRuleRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifySecurityGroupEgressRuleResponse func (client *Client) ModifySecurityGroupEgressRuleWithOptions(request *ModifySecurityGroupEgressRuleRequest, runtime *dara.RuntimeOptions) (_result *ModifySecurityGroupEgressRuleResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DestCidrIp) { query["DestCidrIp"] = request.DestCidrIp } if !dara.IsNil(request.DestGroupId) { query["DestGroupId"] = request.DestGroupId } if !dara.IsNil(request.DestGroupOwnerAccount) { query["DestGroupOwnerAccount"] = request.DestGroupOwnerAccount } if !dara.IsNil(request.DestGroupOwnerId) { query["DestGroupOwnerId"] = request.DestGroupOwnerId } if !dara.IsNil(request.DestPrefixListId) { query["DestPrefixListId"] = request.DestPrefixListId } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.Ipv6DestCidrIp) { query["Ipv6DestCidrIp"] = request.Ipv6DestCidrIp } if !dara.IsNil(request.Ipv6SourceCidrIp) { query["Ipv6SourceCidrIp"] = request.Ipv6SourceCidrIp } if !dara.IsNil(request.NicType) { query["NicType"] = request.NicType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Policy) { query["Policy"] = request.Policy } if !dara.IsNil(request.PortRange) { query["PortRange"] = request.PortRange } if !dara.IsNil(request.PortRangeListId) { query["PortRangeListId"] = request.PortRangeListId } if !dara.IsNil(request.Priority) { query["Priority"] = request.Priority } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupRuleId) { query["SecurityGroupRuleId"] = request.SecurityGroupRuleId } if !dara.IsNil(request.SourceCidrIp) { query["SourceCidrIp"] = request.SourceCidrIp } if !dara.IsNil(request.SourcePortRange) { query["SourcePortRange"] = request.SourcePortRange } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifySecurityGroupEgressRule"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifySecurityGroupEgressRuleResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies an outbound security group rule in a security group. // // Description: // // Take note of the following items: // // - An authorization object in a security group rule can be of one of the following types: IPv4 CIDR block or address, IPv6 CIDR block or address, security group, or prefix list. You cannot call this operation to change the type of an existing authorization object. For example, if an authorization object is an IPv4 CIDR block, you can change the authorization object to a different IPv4 CIDR block or an IPv4 address, but you cannot change the authorization object to an IPv6 CIDR block or address, a security group, or a prefix list. // // - You cannot delete the value of a non-empty parameter. If you want to delete the values of non-empty parameters, we recommend that you create another rule and delete the original rule. // // @param request - ModifySecurityGroupEgressRuleRequest // // @return ModifySecurityGroupEgressRuleResponse func (client *Client) ModifySecurityGroupEgressRule(request *ModifySecurityGroupEgressRuleRequest) (_result *ModifySecurityGroupEgressRuleResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifySecurityGroupEgressRuleResponse{} _body, _err := client.ModifySecurityGroupEgressRuleWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the internal access control policy of a basic security group. // // Description: // // By default, advanced security groups use the **internal isolation policy**, and Elastic Compute Service (ECS) instances in each advanced security group cannot communicate with each other. The internal access control policy of advanced security groups cannot be modified. // // - You can call the [DescribeSecurityGroupAttribute](https://help.aliyun.com/document_detail/25555.html) operation to query the internal access control policy of a security group. // // - If the internal access control policy of a security group is set to **Accept**, the security group uses the internal interconnectivity policy and all ECS instances in the security group can communicate with each other over the internal network, regardless of whether custom rules exist in the security group. // // - If the internal access control policy of a security group is set to **Drop* - and the security group contains no custom rules, the security group uses the internal isolation policy and all ECS instances in the security group cannot communicate with each other over the internal network. In this case, you can use custom rules to allow ECS instances in the security group to communicate with each other. For example, you can call the [AuthorizeSecurityGroup](https://help.aliyun.com/document_detail/25554.html) operation to configure custom rules. // // @param request - ModifySecurityGroupPolicyRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifySecurityGroupPolicyResponse func (client *Client) ModifySecurityGroupPolicyWithOptions(request *ModifySecurityGroupPolicyRequest, runtime *dara.RuntimeOptions) (_result *ModifySecurityGroupPolicyResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.InnerAccessPolicy) { query["InnerAccessPolicy"] = request.InnerAccessPolicy } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifySecurityGroupPolicy"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifySecurityGroupPolicyResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the internal access control policy of a basic security group. // // Description: // // By default, advanced security groups use the **internal isolation policy**, and Elastic Compute Service (ECS) instances in each advanced security group cannot communicate with each other. The internal access control policy of advanced security groups cannot be modified. // // - You can call the [DescribeSecurityGroupAttribute](https://help.aliyun.com/document_detail/25555.html) operation to query the internal access control policy of a security group. // // - If the internal access control policy of a security group is set to **Accept**, the security group uses the internal interconnectivity policy and all ECS instances in the security group can communicate with each other over the internal network, regardless of whether custom rules exist in the security group. // // - If the internal access control policy of a security group is set to **Drop* - and the security group contains no custom rules, the security group uses the internal isolation policy and all ECS instances in the security group cannot communicate with each other over the internal network. In this case, you can use custom rules to allow ECS instances in the security group to communicate with each other. For example, you can call the [AuthorizeSecurityGroup](https://help.aliyun.com/document_detail/25554.html) operation to configure custom rules. // // @param request - ModifySecurityGroupPolicyRequest // // @return ModifySecurityGroupPolicyResponse func (client *Client) ModifySecurityGroupPolicy(request *ModifySecurityGroupPolicyRequest) (_result *ModifySecurityGroupPolicyResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifySecurityGroupPolicyResponse{} _body, _err := client.ModifySecurityGroupPolicyWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies an inbound security group rule in a security group. // // Description: // // Take note of the following items: // // - An authorization object in a security group rule can be of one of the following types: IPv4 CIDR block or address, IPv6 CIDR block or address, security group, or prefix list. You cannot call this operation to change the type of an existing authorization object. For example, if an authorization object is an IPv4 CIDR block, you can change the authorization object to a different IPv4 CIDR block or an IPv4 address, but you cannot change the authorization object to an IPv6 CIDR block or address, a security group, or a prefix list. // // - You cannot delete the value of a non-empty parameter. If you want to delete the values of non-empty parameters, we recommend that you create a security group rule and delete the original security group rule. // // @param request - ModifySecurityGroupRuleRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifySecurityGroupRuleResponse func (client *Client) ModifySecurityGroupRuleWithOptions(request *ModifySecurityGroupRuleRequest, runtime *dara.RuntimeOptions) (_result *ModifySecurityGroupRuleResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DestCidrIp) { query["DestCidrIp"] = request.DestCidrIp } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.Ipv6DestCidrIp) { query["Ipv6DestCidrIp"] = request.Ipv6DestCidrIp } if !dara.IsNil(request.Ipv6SourceCidrIp) { query["Ipv6SourceCidrIp"] = request.Ipv6SourceCidrIp } if !dara.IsNil(request.NicType) { query["NicType"] = request.NicType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Policy) { query["Policy"] = request.Policy } if !dara.IsNil(request.PortRange) { query["PortRange"] = request.PortRange } if !dara.IsNil(request.PortRangeListId) { query["PortRangeListId"] = request.PortRangeListId } if !dara.IsNil(request.Priority) { query["Priority"] = request.Priority } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupRuleId) { query["SecurityGroupRuleId"] = request.SecurityGroupRuleId } if !dara.IsNil(request.SourceCidrIp) { query["SourceCidrIp"] = request.SourceCidrIp } if !dara.IsNil(request.SourceGroupId) { query["SourceGroupId"] = request.SourceGroupId } if !dara.IsNil(request.SourceGroupOwnerAccount) { query["SourceGroupOwnerAccount"] = request.SourceGroupOwnerAccount } if !dara.IsNil(request.SourceGroupOwnerId) { query["SourceGroupOwnerId"] = request.SourceGroupOwnerId } if !dara.IsNil(request.SourcePortRange) { query["SourcePortRange"] = request.SourcePortRange } if !dara.IsNil(request.SourcePrefixListId) { query["SourcePrefixListId"] = request.SourcePrefixListId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifySecurityGroupRule"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifySecurityGroupRuleResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies an inbound security group rule in a security group. // // Description: // // Take note of the following items: // // - An authorization object in a security group rule can be of one of the following types: IPv4 CIDR block or address, IPv6 CIDR block or address, security group, or prefix list. You cannot call this operation to change the type of an existing authorization object. For example, if an authorization object is an IPv4 CIDR block, you can change the authorization object to a different IPv4 CIDR block or an IPv4 address, but you cannot change the authorization object to an IPv6 CIDR block or address, a security group, or a prefix list. // // - You cannot delete the value of a non-empty parameter. If you want to delete the values of non-empty parameters, we recommend that you create a security group rule and delete the original security group rule. // // @param request - ModifySecurityGroupRuleRequest // // @return ModifySecurityGroupRuleResponse func (client *Client) ModifySecurityGroupRule(request *ModifySecurityGroupRuleRequest) (_result *ModifySecurityGroupRuleResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifySecurityGroupRuleResponse{} _body, _err := client.ModifySecurityGroupRuleWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name, description, or retention period of a snapshot. // // @param request - ModifySnapshotAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifySnapshotAttributeResponse func (client *Client) ModifySnapshotAttributeWithOptions(request *ModifySnapshotAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifySnapshotAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DisableInstantAccess) { query["DisableInstantAccess"] = request.DisableInstantAccess } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RetentionDays) { query["RetentionDays"] = request.RetentionDays } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } if !dara.IsNil(request.SnapshotName) { query["SnapshotName"] = request.SnapshotName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifySnapshotAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifySnapshotAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name, description, or retention period of a snapshot. // // @param request - ModifySnapshotAttributeRequest // // @return ModifySnapshotAttributeResponse func (client *Client) ModifySnapshotAttribute(request *ModifySnapshotAttributeRequest) (_result *ModifySnapshotAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifySnapshotAttributeResponse{} _body, _err := client.ModifySnapshotAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Changes the type of a snapshot. You can call this operation to convert a standard snapshot into an archive snapshot. // // Description: // // Archived snapshots cannot be restored to standard snapshots. // // - You can archive only standard snapshots that have been retained for at least 14 days. // // - You cannot archive snapshots that are shared to you, snapshots managed by Cloud Backup, or snapshots in cloud boxes. // // @param request - ModifySnapshotCategoryRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifySnapshotCategoryResponse func (client *Client) ModifySnapshotCategoryWithOptions(request *ModifySnapshotCategoryRequest, runtime *dara.RuntimeOptions) (_result *ModifySnapshotCategoryResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Category) { query["Category"] = request.Category } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.RetentionDays) { query["RetentionDays"] = request.RetentionDays } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifySnapshotCategory"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifySnapshotCategoryResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Changes the type of a snapshot. You can call this operation to convert a standard snapshot into an archive snapshot. // // Description: // // Archived snapshots cannot be restored to standard snapshots. // // - You can archive only standard snapshots that have been retained for at least 14 days. // // - You cannot archive snapshots that are shared to you, snapshots managed by Cloud Backup, or snapshots in cloud boxes. // // @param request - ModifySnapshotCategoryRequest // // @return ModifySnapshotCategoryResponse func (client *Client) ModifySnapshotCategory(request *ModifySnapshotCategoryRequest) (_result *ModifySnapshotCategoryResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifySnapshotCategoryResponse{} _body, _err := client.ModifySnapshotCategoryWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name and description of a snapshot-consistent group. // // @param request - ModifySnapshotGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifySnapshotGroupResponse func (client *Client) ModifySnapshotGroupWithOptions(request *ModifySnapshotGroupRequest, runtime *dara.RuntimeOptions) (_result *ModifySnapshotGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotGroupId) { query["SnapshotGroupId"] = request.SnapshotGroupId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifySnapshotGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifySnapshotGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name and description of a snapshot-consistent group. // // @param request - ModifySnapshotGroupRequest // // @return ModifySnapshotGroupResponse func (client *Client) ModifySnapshotGroup(request *ModifySnapshotGroupRequest) (_result *ModifySnapshotGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifySnapshotGroupResponse{} _body, _err := client.ModifySnapshotGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name or description of a storage capacity unit (SCU). // // @param request - ModifyStorageCapacityUnitAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyStorageCapacityUnitAttributeResponse func (client *Client) ModifyStorageCapacityUnitAttributeWithOptions(request *ModifyStorageCapacityUnitAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyStorageCapacityUnitAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageCapacityUnitId) { query["StorageCapacityUnitId"] = request.StorageCapacityUnitId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyStorageCapacityUnitAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyStorageCapacityUnitAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name or description of a storage capacity unit (SCU). // // @param request - ModifyStorageCapacityUnitAttributeRequest // // @return ModifyStorageCapacityUnitAttributeResponse func (client *Client) ModifyStorageCapacityUnitAttribute(request *ModifyStorageCapacityUnitAttributeRequest) (_result *ModifyStorageCapacityUnitAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyStorageCapacityUnitAttributeResponse{} _body, _err := client.ModifyStorageCapacityUnitAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Modifies the name or description of a storage set. // // @param request - ModifyStorageSetAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyStorageSetAttributeResponse func (client *Client) ModifyStorageSetAttributeWithOptions(request *ModifyStorageSetAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyStorageSetAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StorageSetId) { query["StorageSetId"] = request.StorageSetId } if !dara.IsNil(request.StorageSetName) { query["StorageSetName"] = request.StorageSetName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyStorageSetAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyStorageSetAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Modifies the name or description of a storage set. // // @param request - ModifyStorageSetAttributeRequest // // @return ModifyStorageSetAttributeResponse func (client *Client) ModifyStorageSetAttribute(request *ModifyStorageSetAttributeRequest) (_result *ModifyStorageSetAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyStorageSetAttributeResponse{} _body, _err := client.ModifyStorageSetAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyUserBusinessBehavior is deprecated // // Summary: // // 设置用户级别默认属性 // // @param request - ModifyUserBusinessBehaviorRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyUserBusinessBehaviorResponse func (client *Client) ModifyUserBusinessBehaviorWithOptions(request *ModifyUserBusinessBehaviorRequest, runtime *dara.RuntimeOptions) (_result *ModifyUserBusinessBehaviorResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StatusKey) { query["statusKey"] = request.StatusKey } if !dara.IsNil(request.StatusValue) { query["statusValue"] = request.StatusValue } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyUserBusinessBehavior"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyUserBusinessBehaviorResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyUserBusinessBehavior is deprecated // // Summary: // // 设置用户级别默认属性 // // @param request - ModifyUserBusinessBehaviorRequest // // @return ModifyUserBusinessBehaviorResponse // Deprecated func (client *Client) ModifyUserBusinessBehavior(request *ModifyUserBusinessBehaviorRequest) (_result *ModifyUserBusinessBehaviorResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyUserBusinessBehaviorResponse{} _body, _err := client.ModifyUserBusinessBehaviorWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyVRouterAttribute is deprecated, please use Vpc::2016-04-28::ModifyVRouterAttribute instead. // // Summary: // // # ModifyVRouterAttribute // // @param request - ModifyVRouterAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyVRouterAttributeResponse func (client *Client) ModifyVRouterAttributeWithOptions(request *ModifyVRouterAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyVRouterAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VRouterId) { query["VRouterId"] = request.VRouterId } if !dara.IsNil(request.VRouterName) { query["VRouterName"] = request.VRouterName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyVRouterAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyVRouterAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyVRouterAttribute is deprecated, please use Vpc::2016-04-28::ModifyVRouterAttribute instead. // // Summary: // // # ModifyVRouterAttribute // // @param request - ModifyVRouterAttributeRequest // // @return ModifyVRouterAttributeResponse // Deprecated func (client *Client) ModifyVRouterAttribute(request *ModifyVRouterAttributeRequest) (_result *ModifyVRouterAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyVRouterAttributeResponse{} _body, _err := client.ModifyVRouterAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyVSwitchAttribute is deprecated, please use Vpc::2016-04-28::ModifyVSwitchAttribute instead. // // Summary: // // # ModifyVSwitchAttribute // // @param request - ModifyVSwitchAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyVSwitchAttributeResponse func (client *Client) ModifyVSwitchAttributeWithOptions(request *ModifyVSwitchAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyVSwitchAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.VSwitchName) { query["VSwitchName"] = request.VSwitchName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyVSwitchAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyVSwitchAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyVSwitchAttribute is deprecated, please use Vpc::2016-04-28::ModifyVSwitchAttribute instead. // // Summary: // // # ModifyVSwitchAttribute // // @param request - ModifyVSwitchAttributeRequest // // @return ModifyVSwitchAttributeResponse // Deprecated func (client *Client) ModifyVSwitchAttribute(request *ModifyVSwitchAttributeRequest) (_result *ModifyVSwitchAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyVSwitchAttributeResponse{} _body, _err := client.ModifyVSwitchAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyVirtualBorderRouterAttribute is deprecated, please use Vpc::2016-04-28::ModifyVirtualBorderRouterAttribute instead. // // Summary: // // # ModifyVirtualBorderRouterAttribute // // @param request - ModifyVirtualBorderRouterAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyVirtualBorderRouterAttributeResponse func (client *Client) ModifyVirtualBorderRouterAttributeWithOptions(request *ModifyVirtualBorderRouterAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyVirtualBorderRouterAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CircuitCode) { query["CircuitCode"] = request.CircuitCode } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.LocalGatewayIp) { query["LocalGatewayIp"] = request.LocalGatewayIp } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PeerGatewayIp) { query["PeerGatewayIp"] = request.PeerGatewayIp } if !dara.IsNil(request.PeeringSubnetMask) { query["PeeringSubnetMask"] = request.PeeringSubnetMask } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.VbrId) { query["VbrId"] = request.VbrId } if !dara.IsNil(request.VlanId) { query["VlanId"] = request.VlanId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyVirtualBorderRouterAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyVirtualBorderRouterAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyVirtualBorderRouterAttribute is deprecated, please use Vpc::2016-04-28::ModifyVirtualBorderRouterAttribute instead. // // Summary: // // # ModifyVirtualBorderRouterAttribute // // @param request - ModifyVirtualBorderRouterAttributeRequest // // @return ModifyVirtualBorderRouterAttributeResponse // Deprecated func (client *Client) ModifyVirtualBorderRouterAttribute(request *ModifyVirtualBorderRouterAttributeRequest) (_result *ModifyVirtualBorderRouterAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyVirtualBorderRouterAttributeResponse{} _body, _err := client.ModifyVirtualBorderRouterAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ModifyVpcAttribute is deprecated, please use Vpc::2016-04-28::ModifyVpcAttribute instead. // // Summary: // // # ModifyVpcAttribute // // @param request - ModifyVpcAttributeRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ModifyVpcAttributeResponse func (client *Client) ModifyVpcAttributeWithOptions(request *ModifyVpcAttributeRequest, runtime *dara.RuntimeOptions) (_result *ModifyVpcAttributeResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.CidrBlock) { query["CidrBlock"] = request.CidrBlock } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.VpcId) { query["VpcId"] = request.VpcId } if !dara.IsNil(request.VpcName) { query["VpcName"] = request.VpcName } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ModifyVpcAttribute"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ModifyVpcAttributeResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ModifyVpcAttribute is deprecated, please use Vpc::2016-04-28::ModifyVpcAttribute instead. // // Summary: // // # ModifyVpcAttribute // // @param request - ModifyVpcAttributeRequest // // @return ModifyVpcAttributeResponse // Deprecated func (client *Client) ModifyVpcAttribute(request *ModifyVpcAttributeRequest) (_result *ModifyVpcAttributeResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ModifyVpcAttributeResponse{} _body, _err := client.ModifyVpcAttributeWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Activate the snapshot service. // // @param request - OpenSnapshotServiceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return OpenSnapshotServiceResponse func (client *Client) OpenSnapshotServiceWithOptions(request *OpenSnapshotServiceRequest, runtime *dara.RuntimeOptions) (_result *OpenSnapshotServiceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("OpenSnapshotService"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &OpenSnapshotServiceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Activate the snapshot service. // // @param request - OpenSnapshotServiceRequest // // @return OpenSnapshotServiceResponse func (client *Client) OpenSnapshotService(request *OpenSnapshotServiceRequest) (_result *OpenSnapshotServiceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &OpenSnapshotServiceResponse{} _body, _err := client.OpenSnapshotServiceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Purchases an elasticity assurance that is not in the Active state and for which resources are prepared. // // Description: // // Before you call this operation, familiarize yourself with the billing rules and [pricing](https://www.alibabacloud.com/zh?spm=5176.28117011.nav-v2-dropdown-language.exp-location-zh.9ae4165bF98IHz&_p_lc=1) of elasticity assurances. // // Before you purchase an elasticity assurance, you can call the [DescribeElasticityAssurances](https://help.aliyun.com/document_detail/2679748.html) operation to query the elasticity assurances that you can purchase. // // @param request - PurchaseElasticityAssuranceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return PurchaseElasticityAssuranceResponse func (client *Client) PurchaseElasticityAssuranceWithOptions(request *PurchaseElasticityAssuranceRequest, runtime *dara.RuntimeOptions) (_result *PurchaseElasticityAssuranceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("PurchaseElasticityAssurance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &PurchaseElasticityAssuranceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Purchases an elasticity assurance that is not in the Active state and for which resources are prepared. // // Description: // // Before you call this operation, familiarize yourself with the billing rules and [pricing](https://www.alibabacloud.com/zh?spm=5176.28117011.nav-v2-dropdown-language.exp-location-zh.9ae4165bF98IHz&_p_lc=1) of elasticity assurances. // // Before you purchase an elasticity assurance, you can call the [DescribeElasticityAssurances](https://help.aliyun.com/document_detail/2679748.html) operation to query the elasticity assurances that you can purchase. // // @param request - PurchaseElasticityAssuranceRequest // // @return PurchaseElasticityAssuranceResponse func (client *Client) PurchaseElasticityAssurance(request *PurchaseElasticityAssuranceRequest) (_result *PurchaseElasticityAssuranceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &PurchaseElasticityAssuranceResponse{} _body, _err := client.PurchaseElasticityAssuranceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Purchases a regional or zonal reserved instance to offset the bills of pay-as-you-go Elastic Compute Service (ECS) instances. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of reserved instances.** // // - Before you call this operation, make sure that you are familiar with the billing rules of reserved instances. For more information, see [Reserved instances](https://help.aliyun.com/document_detail/100371.html). // // - You can retain up to 20 regional reserved instances in all regions per Alibaba Cloud account. // // - You can retain up to 20 zonal reserved instances per zone per Alibaba Cloud account. // // ## [](#)Sample requests // // - Purchase a one-year regional reserved instance in the China (Hangzhou) region to offset the bills of three ecs.g5.large Linux pay-as-you-go instances. // // // // "RegionId":"cn-hangzhou", // Specify the China (Hangzhou) region."InstanceType":"ecs.g5.large", // Specify the instance type."Scope":"Region", // Set the scope of the reserved instance to regional."InstanceAmount":3, // Specify the reserved instance to match three pay-as-you-go instances of the same instance type."OfferingType":"All Upfront", // Specify the payment option. In this example, the default value is used, which is All Upfront."Platform":"Linux", // Specify the operating system platform of the ECS instances eligible for the reserved instance. In this example, the Linux or Unix-like operating system is used."Period":1, // Specify the term of the reserved instance. In this example, the one-year duration is used."PeriodUnit":"Year", // Set the unit of the term to year. // // - Purchase a two-year zonal reserved instance in Hangzhou Zone H to offset the bills of five ecs.g5.large Windows pay-as-you-go instances. // // // // "RegionId":"cn-hangzhou", // // "ZoneId":"cn-hangzhou-h", // Specify Hangzhou Zone H."InstanceType":"ecs.g5.large", // // "Scope":"Zone", // Set the scope of the reserved instance to zonal."InstanceAmount":5, // Specify the reserved instance to match five pay-as-you-go instances of the same instance type."OfferingType":"All Upfront", // // "Platform":"Windows", // Specify the operating system platform of the ECS instances eligible for the reserved instance. In this example, the Windows operating system is used."Period":2, // Specify the term of the reserved instance. In this example, the two-year duration is used."PeriodUnit":"Year", // Set the unit of the term to year. // // @param request - PurchaseReservedInstancesOfferingRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return PurchaseReservedInstancesOfferingResponse func (client *Client) PurchaseReservedInstancesOfferingWithOptions(request *PurchaseReservedInstancesOfferingRequest, runtime *dara.RuntimeOptions) (_result *PurchaseReservedInstancesOfferingResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.InstanceAmount) { query["InstanceAmount"] = request.InstanceAmount } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.OfferingType) { query["OfferingType"] = request.OfferingType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReservedInstanceName) { query["ReservedInstanceName"] = request.ReservedInstanceName } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Scope) { query["Scope"] = request.Scope } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("PurchaseReservedInstancesOffering"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &PurchaseReservedInstancesOfferingResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Purchases a regional or zonal reserved instance to offset the bills of pay-as-you-go Elastic Compute Service (ECS) instances. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of reserved instances.** // // - Before you call this operation, make sure that you are familiar with the billing rules of reserved instances. For more information, see [Reserved instances](https://help.aliyun.com/document_detail/100371.html). // // - You can retain up to 20 regional reserved instances in all regions per Alibaba Cloud account. // // - You can retain up to 20 zonal reserved instances per zone per Alibaba Cloud account. // // ## [](#)Sample requests // // - Purchase a one-year regional reserved instance in the China (Hangzhou) region to offset the bills of three ecs.g5.large Linux pay-as-you-go instances. // // // // "RegionId":"cn-hangzhou", // Specify the China (Hangzhou) region."InstanceType":"ecs.g5.large", // Specify the instance type."Scope":"Region", // Set the scope of the reserved instance to regional."InstanceAmount":3, // Specify the reserved instance to match three pay-as-you-go instances of the same instance type."OfferingType":"All Upfront", // Specify the payment option. In this example, the default value is used, which is All Upfront."Platform":"Linux", // Specify the operating system platform of the ECS instances eligible for the reserved instance. In this example, the Linux or Unix-like operating system is used."Period":1, // Specify the term of the reserved instance. In this example, the one-year duration is used."PeriodUnit":"Year", // Set the unit of the term to year. // // - Purchase a two-year zonal reserved instance in Hangzhou Zone H to offset the bills of five ecs.g5.large Windows pay-as-you-go instances. // // // // "RegionId":"cn-hangzhou", // // "ZoneId":"cn-hangzhou-h", // Specify Hangzhou Zone H."InstanceType":"ecs.g5.large", // // "Scope":"Zone", // Set the scope of the reserved instance to zonal."InstanceAmount":5, // Specify the reserved instance to match five pay-as-you-go instances of the same instance type."OfferingType":"All Upfront", // // "Platform":"Windows", // Specify the operating system platform of the ECS instances eligible for the reserved instance. In this example, the Windows operating system is used."Period":2, // Specify the term of the reserved instance. In this example, the two-year duration is used."PeriodUnit":"Year", // Set the unit of the term to year. // // @param request - PurchaseReservedInstancesOfferingRequest // // @return PurchaseReservedInstancesOfferingResponse func (client *Client) PurchaseReservedInstancesOffering(request *PurchaseReservedInstancesOfferingRequest) (_result *PurchaseReservedInstancesOfferingResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &PurchaseReservedInstancesOfferingResponse{} _body, _err := client.PurchaseReservedInstancesOfferingWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Purchases one or more storage capacity units (SCUs). // // Description: // // *Before you call this operation, make sure that you understand the [billing methods](https://help.aliyun.com/document_detail/137897.html) and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of SCUs. // // @param request - PurchaseStorageCapacityUnitRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return PurchaseStorageCapacityUnitResponse func (client *Client) PurchaseStorageCapacityUnitWithOptions(request *PurchaseStorageCapacityUnitRequest, runtime *dara.RuntimeOptions) (_result *PurchaseStorageCapacityUnitResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Amount) { query["Amount"] = request.Amount } if !dara.IsNil(request.Capacity) { query["Capacity"] = request.Capacity } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.FromApp) { query["FromApp"] = request.FromApp } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("PurchaseStorageCapacityUnit"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &PurchaseStorageCapacityUnitResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Purchases one or more storage capacity units (SCUs). // // Description: // // *Before you call this operation, make sure that you understand the [billing methods](https://help.aliyun.com/document_detail/137897.html) and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of SCUs. // // @param request - PurchaseStorageCapacityUnitRequest // // @return PurchaseStorageCapacityUnitResponse func (client *Client) PurchaseStorageCapacityUnit(request *PurchaseStorageCapacityUnitRequest) (_result *PurchaseStorageCapacityUnitResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &PurchaseStorageCapacityUnitResponse{} _body, _err := client.PurchaseStorageCapacityUnitWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Reactivates a pay-as-you-go Elastic Compute Service (ECS) instance that has expired or has been reclaimed due to overdue payments. // // Description: // // After you complete the overdue payment for a pay-as-you-go ECS instance, you do not need to call this operation to reactivate the instance. The system automatically reactivates the instance to restore the instance to the status before the payment became overdue. Automatic reactivation occasionally fails. Take note of the status of automatic reactivation. If the automatic reactivation fails, call this operation to manually reactivate the instance. // // - The instance must be in the **Expired* - `(Stopped)` state. // // - You cannot call this operation to start ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // @param request - ReActivateInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReActivateInstancesResponse func (client *Client) ReActivateInstancesWithOptions(request *ReActivateInstancesRequest, runtime *dara.RuntimeOptions) (_result *ReActivateInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReActivateInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReActivateInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Reactivates a pay-as-you-go Elastic Compute Service (ECS) instance that has expired or has been reclaimed due to overdue payments. // // Description: // // After you complete the overdue payment for a pay-as-you-go ECS instance, you do not need to call this operation to reactivate the instance. The system automatically reactivates the instance to restore the instance to the status before the payment became overdue. Automatic reactivation occasionally fails. Take note of the status of automatic reactivation. If the automatic reactivation fails, call this operation to manually reactivate the instance. // // - The instance must be in the **Expired* - `(Stopped)` state. // // - You cannot call this operation to start ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // @param request - ReActivateInstancesRequest // // @return ReActivateInstancesResponse func (client *Client) ReActivateInstances(request *ReActivateInstancesRequest) (_result *ReActivateInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReActivateInstancesResponse{} _body, _err := client.ReActivateInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Re-initializes a cloud disk to the state when the cloud disk was created. // // Description: // // Take note of the following items: // // - The disk that you want to re-initialize must be in the **In Use* - (`In_use`) state and the instance to which the disk is attached must be in the **Stopped* - (`Stoppe`) state. // // - If an instance has never been started since it was created, the disks attached to it cannot be re-initialized. // // - If a local snapshot has been created for a disk, the disk cannot be re-initialized. // // - If a system disk is re-initialized, the disk is restored to the state of the image from which it was created. If the image has been deleted, the disk cannot be re-initialized. // // - For a data disk that was created from scratch, the disk is initialized to the empty disk state. For a data disk that is created from a snapshot, the disk is initialized to the snapshot state. If the snapshots were deleted, the disks cannot be re-initialized and an error is returned. // // @param request - ReInitDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReInitDiskResponse func (client *Client) ReInitDiskWithOptions(request *ReInitDiskRequest, runtime *dara.RuntimeOptions) (_result *ReInitDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoStartInstance) { query["AutoStartInstance"] = request.AutoStartInstance } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Password) { query["Password"] = request.Password } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityEnhancementStrategy) { query["SecurityEnhancementStrategy"] = request.SecurityEnhancementStrategy } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReInitDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReInitDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Re-initializes a cloud disk to the state when the cloud disk was created. // // Description: // // Take note of the following items: // // - The disk that you want to re-initialize must be in the **In Use* - (`In_use`) state and the instance to which the disk is attached must be in the **Stopped* - (`Stoppe`) state. // // - If an instance has never been started since it was created, the disks attached to it cannot be re-initialized. // // - If a local snapshot has been created for a disk, the disk cannot be re-initialized. // // - If a system disk is re-initialized, the disk is restored to the state of the image from which it was created. If the image has been deleted, the disk cannot be re-initialized. // // - For a data disk that was created from scratch, the disk is initialized to the empty disk state. For a data disk that is created from a snapshot, the disk is initialized to the snapshot state. If the snapshots were deleted, the disks cannot be re-initialized and an error is returned. // // @param request - ReInitDiskRequest // // @return ReInitDiskResponse func (client *Client) ReInitDisk(request *ReInitDiskRequest) (_result *ReInitDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReInitDiskResponse{} _body, _err := client.ReInitDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Restarts an Elastic Compute Service (ECS) instance. // // Description: // // This operation is an asynchronous operation. After you call this operation to restart an ECS instance, the operation sets the status of the ECS instance to `Starting` and begins the restart process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instance. When the status of the ECS instance changes to `Running`, the instance is restarted. // // ### [](#)Considerations // // - You cannot call this operation to restart an ECS instance that is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instance that you want to restart must be in the **Running* - (`Running`) state. // // @param request - RebootInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RebootInstanceResponse func (client *Client) RebootInstanceWithOptions(request *RebootInstanceRequest, runtime *dara.RuntimeOptions) (_result *RebootInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.ForceStop) { query["ForceStop"] = request.ForceStop } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RebootInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RebootInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Restarts an Elastic Compute Service (ECS) instance. // // Description: // // This operation is an asynchronous operation. After you call this operation to restart an ECS instance, the operation sets the status of the ECS instance to `Starting` and begins the restart process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instance. When the status of the ECS instance changes to `Running`, the instance is restarted. // // ### [](#)Considerations // // - You cannot call this operation to restart an ECS instance that is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instance that you want to restart must be in the **Running* - (`Running`) state. // // @param request - RebootInstanceRequest // // @return RebootInstanceResponse func (client *Client) RebootInstance(request *RebootInstanceRequest) (_result *RebootInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RebootInstanceResponse{} _body, _err := client.RebootInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Restarts Elastic Compute Service (ECS) instances. When you call this operation, you can configure parameters to specify a batch operation mode and whether to forcefully restart the instances. // // Description: // // This operation is an asynchronous operation. After you call this operation to restart an ECS instance, the operation sets the status of the ECS instance to `Starting` and begins the restart process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instance. When the status of the ECS instance changes to `Running`, the instance is restarted. // // ### [](#)Limits // // - You cannot call this operation to restart ECS instances that are locked due to security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instances that you want to restart must be in the **Running* - (`Running`) state. // // @param request - RebootInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RebootInstancesResponse func (client *Client) RebootInstancesWithOptions(request *RebootInstancesRequest, runtime *dara.RuntimeOptions) (_result *RebootInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BatchOptimization) { query["BatchOptimization"] = request.BatchOptimization } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.ForceReboot) { query["ForceReboot"] = request.ForceReboot } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RebootInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RebootInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Restarts Elastic Compute Service (ECS) instances. When you call this operation, you can configure parameters to specify a batch operation mode and whether to forcefully restart the instances. // // Description: // // This operation is an asynchronous operation. After you call this operation to restart an ECS instance, the operation sets the status of the ECS instance to `Starting` and begins the restart process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instance. When the status of the ECS instance changes to `Running`, the instance is restarted. // // ### [](#)Limits // // - You cannot call this operation to restart ECS instances that are locked due to security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instances that you want to restart must be in the **Running* - (`Running`) state. // // @param request - RebootInstancesRequest // // @return RebootInstancesResponse func (client *Client) RebootInstances(request *RebootInstancesRequest) (_result *RebootInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RebootInstancesResponse{} _body, _err := client.RebootInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI RecoverVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::RecoverVirtualBorderRouter instead. // // Summary: // // # RecoverVirtualBorderRouter // // @param request - RecoverVirtualBorderRouterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RecoverVirtualBorderRouterResponse func (client *Client) RecoverVirtualBorderRouterWithOptions(request *RecoverVirtualBorderRouterRequest, runtime *dara.RuntimeOptions) (_result *RecoverVirtualBorderRouterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.VbrId) { query["VbrId"] = request.VbrId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RecoverVirtualBorderRouter"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RecoverVirtualBorderRouterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI RecoverVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::RecoverVirtualBorderRouter instead. // // Summary: // // # RecoverVirtualBorderRouter // // @param request - RecoverVirtualBorderRouterRequest // // @return RecoverVirtualBorderRouterResponse // Deprecated func (client *Client) RecoverVirtualBorderRouter(request *RecoverVirtualBorderRouterRequest) (_result *RecoverVirtualBorderRouterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RecoverVirtualBorderRouterResponse{} _body, _err := client.RecoverVirtualBorderRouterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Migrates Elastic Compute Service (ECS) instances from a failed dedicated host. // // Description: // // If a dedicated host is in the `UnderAssessment` state, we recommend that you call this operation to migrate ECS instances away from the dedicated host to prevent permanent failures. You can call the [DescribeDedicatedHosts](https://help.aliyun.com/document_detail/134242.html) operation to query the status of a dedicated host. // // @param request - RedeployDedicatedHostRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RedeployDedicatedHostResponse func (client *Client) RedeployDedicatedHostWithOptions(request *RedeployDedicatedHostRequest, runtime *dara.RuntimeOptions) (_result *RedeployDedicatedHostResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.MigrationType) { query["MigrationType"] = request.MigrationType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RedeployDedicatedHost"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RedeployDedicatedHostResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Migrates Elastic Compute Service (ECS) instances from a failed dedicated host. // // Description: // // If a dedicated host is in the `UnderAssessment` state, we recommend that you call this operation to migrate ECS instances away from the dedicated host to prevent permanent failures. You can call the [DescribeDedicatedHosts](https://help.aliyun.com/document_detail/134242.html) operation to query the status of a dedicated host. // // @param request - RedeployDedicatedHostRequest // // @return RedeployDedicatedHostResponse func (client *Client) RedeployDedicatedHost(request *RedeployDedicatedHostRequest) (_result *RedeployDedicatedHostResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RedeployDedicatedHostResponse{} _body, _err := client.RedeployDedicatedHostWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Redeploys an Elastic Compute Service (ECS) instance. You can call this operation to redeploy an ECS instance when the instance receives a system event notification. // // Description: // // ## Usage notes // // RedeployInstance is an asynchronous operation. The operation migrates the instance to a healthy physical server and then restarts the instance. After the instance is redeployed, it enters the Running (`Running`) state. If the instance fails to be redeployed, it returns to the original physical server and the state before the redeployment. // // When you call this operation, take note of the following item: // // - The instance must be in the Running (Running) or Stopped (Stopped) state. After the instance is redeployed, the following changes occur to the status of the instance: // // - If the instance is in the Running (`Running`) state, the instance enters the Stopping (`Stopping`) state. // // - If the instance is in the Stopped (`Stopped`) state, the instance enters the Starting (`Starting`) state. // // - If an instance is deployed on a dedicated host, you cannot redeploy the instance. // // - If `OperationLocks` in the response of the DescribeInstances operation contains `"LockReason": "security"` for an instance, the instance is locked for security reasons and cannot be redeployed. // // - If an instance receives notifications about simulated events that are created by calling the CreateSimulatedSystemEvent operation for the instance, you cannot call this operation to redeploy the instance. // // - When you handle a local disk-related system event for an instance, if the damaged local disk is isolated but the SystemMaintenance.RebootAndReInitErrorDisk (**instance restart and re-initialization of damaged disks due to system maintenance**) event is not sent, you can still call the RedeployInstance operation to redeploy the instance. For more information, see [O&M scenarios and system events for instances equipped with local disks](https://help.aliyun.com/document_detail/107693.html). // // The following table describes the types and states of events that you can handle by calling the RedeployInstance operation. // // |System event|Event status| // // |---|---| // // |Instance restart due to system maintenance (SystemMaintenance.Reboot)|Inquiring and Scheduled| // // |Instance redeployment due to system maintenance (SystemMaintenance.Redeploy)|Inquiring and Scheduled| // // |Instance restart and replacement of damaged disks due to system maintenance (SystemMaintenance.RebootAndIsolateErrorDisk)|Inquiring| // // |Instance restart and re-initialization of damaged disks due to system maintenance (SystemMaintenance.RebootAndReInitErrorDisk)|Inquiring| // // |Instance redeployment due to system errors (SystemFailure.Redeploy)|Inquiring| // // |For ECS instances that use only local disks: instance restart due to system errors (SystemFailure.Reboot)|Executing| // // |Isolation of damaged disks due to system maintenance (SystemMaintenance.IsolateErrorDisk)|Inquiring| // // |Re-initialization of damaged disks due to system maintenance (SystemMaintenance.ReInitErrorDisk)|Inquiring| // // **Note* - When the system redeploys instances equipped with local disks, the local disks are re-initialized and data on the local disks is cleared. // // @param request - RedeployInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RedeployInstanceResponse func (client *Client) RedeployInstanceWithOptions(request *RedeployInstanceRequest, runtime *dara.RuntimeOptions) (_result *RedeployInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ForceStop) { query["ForceStop"] = request.ForceStop } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RedeployInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RedeployInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Redeploys an Elastic Compute Service (ECS) instance. You can call this operation to redeploy an ECS instance when the instance receives a system event notification. // // Description: // // ## Usage notes // // RedeployInstance is an asynchronous operation. The operation migrates the instance to a healthy physical server and then restarts the instance. After the instance is redeployed, it enters the Running (`Running`) state. If the instance fails to be redeployed, it returns to the original physical server and the state before the redeployment. // // When you call this operation, take note of the following item: // // - The instance must be in the Running (Running) or Stopped (Stopped) state. After the instance is redeployed, the following changes occur to the status of the instance: // // - If the instance is in the Running (`Running`) state, the instance enters the Stopping (`Stopping`) state. // // - If the instance is in the Stopped (`Stopped`) state, the instance enters the Starting (`Starting`) state. // // - If an instance is deployed on a dedicated host, you cannot redeploy the instance. // // - If `OperationLocks` in the response of the DescribeInstances operation contains `"LockReason": "security"` for an instance, the instance is locked for security reasons and cannot be redeployed. // // - If an instance receives notifications about simulated events that are created by calling the CreateSimulatedSystemEvent operation for the instance, you cannot call this operation to redeploy the instance. // // - When you handle a local disk-related system event for an instance, if the damaged local disk is isolated but the SystemMaintenance.RebootAndReInitErrorDisk (**instance restart and re-initialization of damaged disks due to system maintenance**) event is not sent, you can still call the RedeployInstance operation to redeploy the instance. For more information, see [O&M scenarios and system events for instances equipped with local disks](https://help.aliyun.com/document_detail/107693.html). // // The following table describes the types and states of events that you can handle by calling the RedeployInstance operation. // // |System event|Event status| // // |---|---| // // |Instance restart due to system maintenance (SystemMaintenance.Reboot)|Inquiring and Scheduled| // // |Instance redeployment due to system maintenance (SystemMaintenance.Redeploy)|Inquiring and Scheduled| // // |Instance restart and replacement of damaged disks due to system maintenance (SystemMaintenance.RebootAndIsolateErrorDisk)|Inquiring| // // |Instance restart and re-initialization of damaged disks due to system maintenance (SystemMaintenance.RebootAndReInitErrorDisk)|Inquiring| // // |Instance redeployment due to system errors (SystemFailure.Redeploy)|Inquiring| // // |For ECS instances that use only local disks: instance restart due to system errors (SystemFailure.Reboot)|Executing| // // |Isolation of damaged disks due to system maintenance (SystemMaintenance.IsolateErrorDisk)|Inquiring| // // |Re-initialization of damaged disks due to system maintenance (SystemMaintenance.ReInitErrorDisk)|Inquiring| // // **Note* - When the system redeploys instances equipped with local disks, the local disks are re-initialized and data on the local disks is cleared. // // @param request - RedeployInstanceRequest // // @return RedeployInstanceResponse func (client *Client) RedeployInstance(request *RedeployInstanceRequest) (_result *RedeployInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RedeployInstanceResponse{} _body, _err := client.RedeployInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Releases a capacity reservation. // // Description: // // If the release mode of a capacity reservation that takes effect immediately is set to manual release, you can call this operation to release the capacity reservation. // // @param request - ReleaseCapacityReservationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReleaseCapacityReservationResponse func (client *Client) ReleaseCapacityReservationWithOptions(request *ReleaseCapacityReservationRequest, runtime *dara.RuntimeOptions) (_result *ReleaseCapacityReservationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReleaseCapacityReservation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReleaseCapacityReservationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Releases a capacity reservation. // // Description: // // If the release mode of a capacity reservation that takes effect immediately is set to manual release, you can call this operation to release the capacity reservation. // // @param request - ReleaseCapacityReservationRequest // // @return ReleaseCapacityReservationResponse func (client *Client) ReleaseCapacityReservation(request *ReleaseCapacityReservationRequest) (_result *ReleaseCapacityReservationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReleaseCapacityReservationResponse{} _body, _err := client.ReleaseCapacityReservationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Releases a pay-as-you-go Dedicated Host or an expired subscription Dedicated Host. // // Description: // // ## Usage notes // // Before you release a pay-as-you-go dedicated host, make sure that no ECS instances are deployed on the dedicated host. // // @param request - ReleaseDedicatedHostRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReleaseDedicatedHostResponse func (client *Client) ReleaseDedicatedHostWithOptions(request *ReleaseDedicatedHostRequest, runtime *dara.RuntimeOptions) (_result *ReleaseDedicatedHostResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TerminateSubscription) { query["TerminateSubscription"] = request.TerminateSubscription } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReleaseDedicatedHost"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReleaseDedicatedHostResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Releases a pay-as-you-go Dedicated Host or an expired subscription Dedicated Host. // // Description: // // ## Usage notes // // Before you release a pay-as-you-go dedicated host, make sure that no ECS instances are deployed on the dedicated host. // // @param request - ReleaseDedicatedHostRequest // // @return ReleaseDedicatedHostResponse func (client *Client) ReleaseDedicatedHost(request *ReleaseDedicatedHostRequest) (_result *ReleaseDedicatedHostResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReleaseDedicatedHostResponse{} _body, _err := client.ReleaseDedicatedHostWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ReleaseEipAddress is deprecated, please use Vpc::2016-04-28::ReleaseEipAddress instead. // // Summary: // // # ReleaseEipAddress // // @param request - ReleaseEipAddressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReleaseEipAddressResponse func (client *Client) ReleaseEipAddressWithOptions(request *ReleaseEipAddressRequest, runtime *dara.RuntimeOptions) (_result *ReleaseEipAddressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationId) { query["AllocationId"] = request.AllocationId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReleaseEipAddress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReleaseEipAddressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ReleaseEipAddress is deprecated, please use Vpc::2016-04-28::ReleaseEipAddress instead. // // Summary: // // # ReleaseEipAddress // // @param request - ReleaseEipAddressRequest // // @return ReleaseEipAddressResponse // Deprecated func (client *Client) ReleaseEipAddress(request *ReleaseEipAddressRequest) (_result *ReleaseEipAddressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReleaseEipAddressResponse{} _body, _err := client.ReleaseEipAddressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI ReleasePublicIpAddress is deprecated // // Summary: // // Disassociates a public IP address from an Elastic Compute Service (ECS) instance. // // @param request - ReleasePublicIpAddressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReleasePublicIpAddressResponse func (client *Client) ReleasePublicIpAddressWithOptions(request *ReleasePublicIpAddressRequest, runtime *dara.RuntimeOptions) (_result *ReleasePublicIpAddressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.PublicIpAddress) { query["PublicIpAddress"] = request.PublicIpAddress } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReleasePublicIpAddress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReleasePublicIpAddressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI ReleasePublicIpAddress is deprecated // // Summary: // // Disassociates a public IP address from an Elastic Compute Service (ECS) instance. // // @param request - ReleasePublicIpAddressRequest // // @return ReleasePublicIpAddressResponse // Deprecated func (client *Client) ReleasePublicIpAddress(request *ReleasePublicIpAddressRequest) (_result *ReleasePublicIpAddressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReleasePublicIpAddressResponse{} _body, _err := client.ReleasePublicIpAddressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // # RemoveBandwidthPackageIps // // @param request - RemoveBandwidthPackageIpsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RemoveBandwidthPackageIpsResponse func (client *Client) RemoveBandwidthPackageIpsWithOptions(request *RemoveBandwidthPackageIpsRequest, runtime *dara.RuntimeOptions) (_result *RemoveBandwidthPackageIpsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BandwidthPackageId) { query["BandwidthPackageId"] = request.BandwidthPackageId } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RemovedIpAddresses) { query["RemovedIpAddresses"] = request.RemovedIpAddresses } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RemoveBandwidthPackageIps"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RemoveBandwidthPackageIpsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // # RemoveBandwidthPackageIps // // @param request - RemoveBandwidthPackageIpsRequest // // @return RemoveBandwidthPackageIpsResponse func (client *Client) RemoveBandwidthPackageIps(request *RemoveBandwidthPackageIpsRequest) (_result *RemoveBandwidthPackageIpsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RemoveBandwidthPackageIpsResponse{} _body, _err := client.RemoveBandwidthPackageIpsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI RemoveTags is deprecated, please use Ecs::2014-05-26::UntagResources instead. // // Summary: // // Removes tags from a resource, such as an Elastic Compute Service (ECS) instance, disk, snapshot, image, or security group. // // @param request - RemoveTagsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RemoveTagsResponse func (client *Client) RemoveTagsWithOptions(request *RemoveTagsRequest, runtime *dara.RuntimeOptions) (_result *RemoveTagsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RemoveTags"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RemoveTagsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI RemoveTags is deprecated, please use Ecs::2014-05-26::UntagResources instead. // // Summary: // // Removes tags from a resource, such as an Elastic Compute Service (ECS) instance, disk, snapshot, image, or security group. // // @param request - RemoveTagsRequest // // @return RemoveTagsResponse // Deprecated func (client *Client) RemoveTags(request *RemoveTagsRequest) (_result *RemoveTagsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RemoveTagsResponse{} _body, _err := client.RemoveTagsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Renews one or more subscription dedicated hosts. // // Description: // // ## [](#)Usage notes // // When you renew subscription dedicated hosts, vouchers are used first by default. Make sure that your account supports credit card payments or balance payments. // // @param request - RenewDedicatedHostsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RenewDedicatedHostsResponse func (client *Client) RenewDedicatedHostsWithOptions(request *RenewDedicatedHostsRequest, runtime *dara.RuntimeOptions) (_result *RenewDedicatedHostsResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DedicatedHostIds) { query["DedicatedHostIds"] = request.DedicatedHostIds } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RenewDedicatedHosts"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RenewDedicatedHostsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Renews one or more subscription dedicated hosts. // // Description: // // ## [](#)Usage notes // // When you renew subscription dedicated hosts, vouchers are used first by default. Make sure that your account supports credit card payments or balance payments. // // @param request - RenewDedicatedHostsRequest // // @return RenewDedicatedHostsResponse func (client *Client) RenewDedicatedHosts(request *RenewDedicatedHostsRequest) (_result *RenewDedicatedHostsResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RenewDedicatedHostsResponse{} _body, _err := client.RenewDedicatedHostsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Renews elasticity assurances that you purchased. // // @param request - RenewElasticityAssurancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RenewElasticityAssurancesResponse func (client *Client) RenewElasticityAssurancesWithOptions(request *RenewElasticityAssurancesRequest, runtime *dara.RuntimeOptions) (_result *RenewElasticityAssurancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RenewElasticityAssurances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RenewElasticityAssurancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Renews elasticity assurances that you purchased. // // @param request - RenewElasticityAssurancesRequest // // @return RenewElasticityAssurancesResponse func (client *Client) RenewElasticityAssurances(request *RenewElasticityAssurancesRequest) (_result *RenewElasticityAssurancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RenewElasticityAssurancesResponse{} _body, _err := client.RenewElasticityAssurancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Renews a subscription Elastic Compute Service (ECS) instance. You can specify a renewal period or renew the instance to a unified expiration date. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods and [pricing](https://www.alibabacloud.com/product/ecs#pricing) of ECS**. // // - Make sure that your account balance or credit balance is sufficient. // // - Only subscription instances are supported. If you call this operation for a pay-as-you-go instance, an error is returned. // // - You must specify the renewal period-related parameter pair (`Period` and `PeriodUnit`) or `ExpectedRenewDay`, but not both. // // @param request - RenewInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RenewInstanceResponse func (client *Client) RenewInstanceWithOptions(request *RenewInstanceRequest, runtime *dara.RuntimeOptions) (_result *RenewInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ExpectedRenewDay) { query["ExpectedRenewDay"] = request.ExpectedRenewDay } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RenewInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RenewInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Renews a subscription Elastic Compute Service (ECS) instance. You can specify a renewal period or renew the instance to a unified expiration date. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing methods and [pricing](https://www.alibabacloud.com/product/ecs#pricing) of ECS**. // // - Make sure that your account balance or credit balance is sufficient. // // - Only subscription instances are supported. If you call this operation for a pay-as-you-go instance, an error is returned. // // - You must specify the renewal period-related parameter pair (`Period` and `PeriodUnit`) or `ExpectedRenewDay`, but not both. // // @param request - RenewInstanceRequest // // @return RenewInstanceResponse func (client *Client) RenewInstance(request *RenewInstanceRequest) (_result *RenewInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RenewInstanceResponse{} _body, _err := client.RenewInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Renews one or more reserved instances. When you renew reserved instances, you can specify a validity period (renewal period) and whether to enable auto-renewal for the reserved instances. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of reserved instances.** // // - You can manually renew reserved instances or enable auto-renewal for reserved instances. For more information, see the [Renewal](~~100371#53bfc50b78sta~~) section of the "Reserved instances" topic. // // - You can call the [DescribeReservedInstances](https://help.aliyun.com/document_detail/100065.html) operation to query the reserved instances that you purchased. // // - You can call this operation to enable auto-renewal for reserved instances but cannot call this operation to disable auto-renewal for reserved instances. To disable auto-renewal for a reserved instance, call the [ModifyReservedInstanceAutoRenewAttribute](https://help.aliyun.com/document_detail/2679786.html) operation. // // @param request - RenewReservedInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RenewReservedInstancesResponse func (client *Client) RenewReservedInstancesWithOptions(request *RenewReservedInstancesRequest, runtime *dara.RuntimeOptions) (_result *RenewReservedInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ReservedInstanceId) { query["ReservedInstanceId"] = request.ReservedInstanceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RenewReservedInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RenewReservedInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Renews one or more reserved instances. When you renew reserved instances, you can specify a validity period (renewal period) and whether to enable auto-renewal for the reserved instances. // // Description: // // *Before you call this operation, make sure that you are familiar with the billing and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of reserved instances.** // // - You can manually renew reserved instances or enable auto-renewal for reserved instances. For more information, see the [Renewal](~~100371#53bfc50b78sta~~) section of the "Reserved instances" topic. // // - You can call the [DescribeReservedInstances](https://help.aliyun.com/document_detail/100065.html) operation to query the reserved instances that you purchased. // // - You can call this operation to enable auto-renewal for reserved instances but cannot call this operation to disable auto-renewal for reserved instances. To disable auto-renewal for a reserved instance, call the [ModifyReservedInstanceAutoRenewAttribute](https://help.aliyun.com/document_detail/2679786.html) operation. // // @param request - RenewReservedInstancesRequest // // @return RenewReservedInstancesResponse func (client *Client) RenewReservedInstances(request *RenewReservedInstancesRequest) (_result *RenewReservedInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RenewReservedInstancesResponse{} _body, _err := client.RenewReservedInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Replaces the operating system (system disk) of an ECS instance. After the operating system of the ECS instance is replaced, the original system disk of the instance is released and a new system disk is generated for the instance. This causes the ID of the system disk to change. // // Description: // // Before you call this operation, refer to [Replace the operating system (system disk) of an instance](https://help.aliyun.com/document_detail/50134.html). // // When you call this operation for an ECS instance, take note of the following items: // // - The billing method of the system disk cannot be changed. // // - The category of the system disk cannot be changed. // // - Make sure that no unpaid orders are associated with the instance. // // - The instance must be in the `Stopped` state. // // ** // // **Note:* - The operation is applicable only to instances of the Virtual Private Cloud (VPC) type. If the instance is a pay-as-you-go instance and economical mode by default is enabled, you can enable standard mode when stopping the instance. This prevents instance restart failures caused by insufficient resources after the system disk is replaced. For more information, see [StopInstance](https://help.aliyun.com/document_detail/25501.html). // // - You can use the parameter `SystemDisk.Size` to re-specify the size of the system disk (cannot be less than the original system disk capacity). // // - If the `OperationLocks` parameter value of the instance contains `"LockReason": "security"`, then the ECS instance is locked for security. You cannot replace the system disk. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // After the system disk is replaced, you can query the status of the instance to check whether the replacement is successful by using the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) interface. If the `OperationLocks` parameter is empty, the system disk is replaced. // // @param request - ReplaceSystemDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReplaceSystemDiskResponse func (client *Client) ReplaceSystemDiskWithOptions(request *ReplaceSystemDiskRequest, runtime *dara.RuntimeOptions) (_result *ReplaceSystemDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Architecture) { query["Architecture"] = request.Architecture } if !dara.IsNil(request.Arn) { query["Arn"] = request.Arn } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.EncryptAlgorithm) { query["EncryptAlgorithm"] = request.EncryptAlgorithm } if !dara.IsNil(request.Encrypted) { query["Encrypted"] = request.Encrypted } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.KMSKeyId) { query["KMSKeyId"] = request.KMSKeyId } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Password) { query["Password"] = request.Password } if !dara.IsNil(request.PasswordInherit) { query["PasswordInherit"] = request.PasswordInherit } if !dara.IsNil(request.Platform) { query["Platform"] = request.Platform } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityEnhancementStrategy) { query["SecurityEnhancementStrategy"] = request.SecurityEnhancementStrategy } if !dara.IsNil(request.UseAdditionalService) { query["UseAdditionalService"] = request.UseAdditionalService } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReplaceSystemDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReplaceSystemDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Replaces the operating system (system disk) of an ECS instance. After the operating system of the ECS instance is replaced, the original system disk of the instance is released and a new system disk is generated for the instance. This causes the ID of the system disk to change. // // Description: // // Before you call this operation, refer to [Replace the operating system (system disk) of an instance](https://help.aliyun.com/document_detail/50134.html). // // When you call this operation for an ECS instance, take note of the following items: // // - The billing method of the system disk cannot be changed. // // - The category of the system disk cannot be changed. // // - Make sure that no unpaid orders are associated with the instance. // // - The instance must be in the `Stopped` state. // // ** // // **Note:* - The operation is applicable only to instances of the Virtual Private Cloud (VPC) type. If the instance is a pay-as-you-go instance and economical mode by default is enabled, you can enable standard mode when stopping the instance. This prevents instance restart failures caused by insufficient resources after the system disk is replaced. For more information, see [StopInstance](https://help.aliyun.com/document_detail/25501.html). // // - You can use the parameter `SystemDisk.Size` to re-specify the size of the system disk (cannot be less than the original system disk capacity). // // - If the `OperationLocks` parameter value of the instance contains `"LockReason": "security"`, then the ECS instance is locked for security. You cannot replace the system disk. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // After the system disk is replaced, you can query the status of the instance to check whether the replacement is successful by using the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) interface. If the `OperationLocks` parameter is empty, the system disk is replaced. // // @param request - ReplaceSystemDiskRequest // // @return ReplaceSystemDiskResponse func (client *Client) ReplaceSystemDisk(request *ReplaceSystemDiskRequest) (_result *ReplaceSystemDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReplaceSystemDiskResponse{} _body, _err := client.ReplaceSystemDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Reports an exception on Elastic Compute Service (ECS) instances. You can report the same exception on multiple ECS instances or on multiple disks of an ECS instance. // // @param request - ReportInstancesStatusRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ReportInstancesStatusResponse func (client *Client) ReportInstancesStatusWithOptions(request *ReportInstancesStatusRequest, runtime *dara.RuntimeOptions) (_result *ReportInstancesStatusResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.Device) { query["Device"] = request.Device } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.EndTime) { query["EndTime"] = request.EndTime } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.IssueCategory) { query["IssueCategory"] = request.IssueCategory } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Reason) { query["Reason"] = request.Reason } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StartTime) { query["StartTime"] = request.StartTime } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ReportInstancesStatus"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ReportInstancesStatusResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Reports an exception on Elastic Compute Service (ECS) instances. You can report the same exception on multiple ECS instances or on multiple disks of an ECS instance. // // @param request - ReportInstancesStatusRequest // // @return ReportInstancesStatusResponse func (client *Client) ReportInstancesStatus(request *ReportInstancesStatusRequest) (_result *ReportInstancesStatusResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ReportInstancesStatusResponse{} _body, _err := client.ReportInstancesStatusWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Rolls back a cloud disk to a snapshot from an earlier point in time. // // Description: // // Before you call this operation, read [Roll back a disk by using a snapshot](https://help.aliyun.com/document_detail/25450.html). // // Take note of the following items: // // - The cloud disk that you want to roll back must be in the In Use (`In_use`) or Unattached (`Available`) state. // // - The instance to which the cloud disk is attached must be in the `Stopped` state. You can call the [StopInstances](https://help.aliyun.com/document_detail/155372.html) operation to stop the instance. // // - The snapshot specified by `SnapshotId` must be created from the disk specified by `DiskId`. // // - If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an instance by calling the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation, the instance is locked for security reasons and no operations can be performed on the instance. // // @param request - ResetDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ResetDiskResponse func (client *Client) ResetDiskWithOptions(request *ResetDiskRequest, runtime *dara.RuntimeOptions) (_result *ResetDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ResetDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ResetDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Rolls back a cloud disk to a snapshot from an earlier point in time. // // Description: // // Before you call this operation, read [Roll back a disk by using a snapshot](https://help.aliyun.com/document_detail/25450.html). // // Take note of the following items: // // - The cloud disk that you want to roll back must be in the In Use (`In_use`) or Unattached (`Available`) state. // // - The instance to which the cloud disk is attached must be in the `Stopped` state. You can call the [StopInstances](https://help.aliyun.com/document_detail/155372.html) operation to stop the instance. // // - The snapshot specified by `SnapshotId` must be created from the disk specified by `DiskId`. // // - If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query information about an instance by calling the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation, the instance is locked for security reasons and no operations can be performed on the instance. // // @param request - ResetDiskRequest // // @return ResetDiskResponse func (client *Client) ResetDisk(request *ResetDiskRequest) (_result *ResetDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ResetDiskResponse{} _body, _err := client.ResetDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Resets the Key Management Service (KMS) key used by Account-level Elastic Block Storage (EBS) Default Encryption in a region to the service key. // // Description: // // You must grant the RAM user the `AliyunECSFullAccess` permissions. For information about how to grant permissions to a RAM user, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - Before you can call this operation in a region, make sure that the **Account-level Elastic Block Storage (EBS) Default Encryption* - feature is enabled in the region. // // @param request - ResetDiskDefaultKMSKeyIdRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ResetDiskDefaultKMSKeyIdResponse func (client *Client) ResetDiskDefaultKMSKeyIdWithOptions(request *ResetDiskDefaultKMSKeyIdRequest, runtime *dara.RuntimeOptions) (_result *ResetDiskDefaultKMSKeyIdResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ResetDiskDefaultKMSKeyId"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ResetDiskDefaultKMSKeyIdResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Resets the Key Management Service (KMS) key used by Account-level Elastic Block Storage (EBS) Default Encryption in a region to the service key. // // Description: // // You must grant the RAM user the `AliyunECSFullAccess` permissions. For information about how to grant permissions to a RAM user, see [Grant permissions to a RAM user](https://help.aliyun.com/document_detail/116146.html). // // - Before you can call this operation in a region, make sure that the **Account-level Elastic Block Storage (EBS) Default Encryption* - feature is enabled in the region. // // @param request - ResetDiskDefaultKMSKeyIdRequest // // @return ResetDiskDefaultKMSKeyIdResponse func (client *Client) ResetDiskDefaultKMSKeyId(request *ResetDiskDefaultKMSKeyIdRequest) (_result *ResetDiskDefaultKMSKeyIdResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ResetDiskDefaultKMSKeyIdResponse{} _body, _err := client.ResetDiskDefaultKMSKeyIdWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Rolls back one or more disks by using a snapshot-consistent group. // // Description: // // This operation will be removed in the future. We recommend that you call the [ResetDisk](https://help.aliyun.com/document_detail/25520.html) operation to roll back a disk. // // @param request - ResetDisksRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ResetDisksResponse func (client *Client) ResetDisksWithOptions(request *ResetDisksRequest, runtime *dara.RuntimeOptions) (_result *ResetDisksResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Disk) { query["Disk"] = request.Disk } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ResetDisks"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ResetDisksResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Rolls back one or more disks by using a snapshot-consistent group. // // Description: // // This operation will be removed in the future. We recommend that you call the [ResetDisk](https://help.aliyun.com/document_detail/25520.html) operation to roll back a disk. // // @param request - ResetDisksRequest // // @return ResetDisksResponse func (client *Client) ResetDisks(request *ResetDisksRequest) (_result *ResetDisksResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ResetDisksResponse{} _body, _err := client.ResetDisksWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Resizes a system disk or a data disk. // // Description: // // > Before you call this operation to resize a disk, you must check the partition format of the disk. If the format is MBR, you cannot resize the file to more than 2TiB. Otherwise, data loss may occur. If you want to resize an MBR partition, we recommend creating and mounting a data disk in the GPT partition format, and then copy the existing data to the new data disk. For more information, see [Resize a disk to extend the disk capacity](https://help.aliyun.com/document_detail/44986.html). // // - The disk types that can be resized include basic disks (`cloud` ), ultra disks (`cloud_efficiency` ), SSDs (`cloud_ssd` ), Enterprise SSDs (ESSDs)(`cloud_essd` ), ESSD AutoPL disks (cloud_auto), standard elastic ephemeral disks (elastic_ephemeral_disk_standard), premium elastic ephemeral disks (elastic_ephemeral_disk_premium), and Regional ESSDs (cloud_regional_disk_auto). // // - You cannot resize a cloud disk when a snapshot is being created for the disk. Wait until the snapshot is created before you resize the cloud disk. // // - You cannot call this operation to extend partitions or file systems. You must manually allocate partitions and file systems after the resize cloud disk capacity. For more information, see [Extend partitions and file systems (Linux)](~~2949817#bb3b1f02e51pj~~) and [Extend partitions and file systems (windows)](~~2932233#a9f9b78f3fujb~~). // // - If the multi-attach feature is enabled for a cloud disk, you can resize the disk online or offline. Make sure that the ECS instances to which the disk is attached meet the following requirements: // // - If you want to resize the disk online, the ECS instances must be in the **Running* - state.“ // // - If you want to resize the disk offline, the ECS instances must be in the **Running* - or **Stopped* - state.```` // // - The cloud disk that you want to resize must meet the following requirements: // // - The disk is in the In Use (`In Use`) or Unattached (`Available`) state. // // - (Recommended) Snapshots are created for the disk to back up disk data. For information about how to create snapshots for a disk, see [Create a snapshot](https://help.aliyun.com/document_detail/25455.html). // // - If the disk is a new data disk, initialize the disk before you resize the disk. For more information, see [Overview](https://help.aliyun.com/document_detail/466323.html). // // @param request - ResizeDiskRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return ResizeDiskResponse func (client *Client) ResizeDiskWithOptions(request *ResizeDiskRequest, runtime *dara.RuntimeOptions) (_result *ResizeDiskResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DiskId) { query["DiskId"] = request.DiskId } if !dara.IsNil(request.NewSize) { query["NewSize"] = request.NewSize } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Type) { query["Type"] = request.Type } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("ResizeDisk"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &ResizeDiskResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Resizes a system disk or a data disk. // // Description: // // > Before you call this operation to resize a disk, you must check the partition format of the disk. If the format is MBR, you cannot resize the file to more than 2TiB. Otherwise, data loss may occur. If you want to resize an MBR partition, we recommend creating and mounting a data disk in the GPT partition format, and then copy the existing data to the new data disk. For more information, see [Resize a disk to extend the disk capacity](https://help.aliyun.com/document_detail/44986.html). // // - The disk types that can be resized include basic disks (`cloud` ), ultra disks (`cloud_efficiency` ), SSDs (`cloud_ssd` ), Enterprise SSDs (ESSDs)(`cloud_essd` ), ESSD AutoPL disks (cloud_auto), standard elastic ephemeral disks (elastic_ephemeral_disk_standard), premium elastic ephemeral disks (elastic_ephemeral_disk_premium), and Regional ESSDs (cloud_regional_disk_auto). // // - You cannot resize a cloud disk when a snapshot is being created for the disk. Wait until the snapshot is created before you resize the cloud disk. // // - You cannot call this operation to extend partitions or file systems. You must manually allocate partitions and file systems after the resize cloud disk capacity. For more information, see [Extend partitions and file systems (Linux)](~~2949817#bb3b1f02e51pj~~) and [Extend partitions and file systems (windows)](~~2932233#a9f9b78f3fujb~~). // // - If the multi-attach feature is enabled for a cloud disk, you can resize the disk online or offline. Make sure that the ECS instances to which the disk is attached meet the following requirements: // // - If you want to resize the disk online, the ECS instances must be in the **Running* - state.“ // // - If you want to resize the disk offline, the ECS instances must be in the **Running* - or **Stopped* - state.```` // // - The cloud disk that you want to resize must meet the following requirements: // // - The disk is in the In Use (`In Use`) or Unattached (`Available`) state. // // - (Recommended) Snapshots are created for the disk to back up disk data. For information about how to create snapshots for a disk, see [Create a snapshot](https://help.aliyun.com/document_detail/25455.html). // // - If the disk is a new data disk, initialize the disk before you resize the disk. For more information, see [Overview](https://help.aliyun.com/document_detail/466323.html). // // @param request - ResizeDiskRequest // // @return ResizeDiskResponse func (client *Client) ResizeDisk(request *ResizeDiskRequest) (_result *ResizeDiskResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &ResizeDiskResponse{} _body, _err := client.ResizeDiskWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes inbound security group rules from a specific security group. // // Description: // // > Alibaba Cloud modified verification rules for the RevokeSecurityGroup operation on July 8, 2024. When you call the RevokeSecurityGroup operation to delete a security group rule that does not exist, the "InvalidParam.SecurityGroupRuleId" error code is returned instead of a success response. Update the RevokeSecurityGroup operation to use the new verification rules with the new error code based on your business requirements. // // You can use one of the following groups of parameters to specify the security group rules that you want to delete: // // - Parameters used to specify the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. // // - If a specified security group rule ID does not exist, the call to RevokeSecurityGroup fails. // // - Parameters that start with Permissions. // // - If no security group rule matches the specified parameters, the call to RevokeSecurityGroup is successful but no security group rules are deleted. // // - Define an inbound security group rule by configuring the following parameters together: // // - Source: You can specify one parameter from SourceCidrIp (IPv4 address), Ipv6SourceCidrIp (IPv6 address), SourcetPrefixListId (prefix list ID), and SourceGroupId (source security group ID). // // - PortRange: specifies the destination port range. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > You cannot specify the IDs of security group rules and the parameters that start with Permissions in the same request. // // ### [](#)Sample requests // // - Delete a security group rule based on the rule ID: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", //Specify the ID of the security group. // // "SecurityGroupRuleId":["sgr-bpdfmk****","sgr-bpdfmg****"] //Specify the ID of the security group rule. // // - Delete a security group rule based on an IPv4 CIDR block: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourceCidrIp":"10.0.0.0/8", //Specify the source IPv4 CIDR block. // // "IpProtocol":"TCP", //Specify the protocol. // // "PortRange":"80/80", //Specify the destination port range. // // "Policy":"accept" //Specify the action. // // } // // ] // // - Delete a security group rule in which a security group is referenced: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourceGroupId":"sg-bp67acfmxa123b****", //Specify the ID of the source security group. // // "IpProtocol":"TCP," // // "PortRange":"80/80", // // "Policy":"accept" // // ] // // } // // - Delete a security group rule in which a prefix list is referenced: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourcePrefixListId":pl-x1j1k5ykzqlixdcy****", //Specify the ID of the source prefix list. // // "IpProtocol":"TCP", // // "PortRange":"80/80", // // "Policy":"accept" // // } // // ] // // @param request - RevokeSecurityGroupRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RevokeSecurityGroupResponse func (client *Client) RevokeSecurityGroupWithOptions(request *RevokeSecurityGroupRequest, runtime *dara.RuntimeOptions) (_result *RevokeSecurityGroupResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DestCidrIp) { query["DestCidrIp"] = request.DestCidrIp } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.Ipv6DestCidrIp) { query["Ipv6DestCidrIp"] = request.Ipv6DestCidrIp } if !dara.IsNil(request.Ipv6SourceCidrIp) { query["Ipv6SourceCidrIp"] = request.Ipv6SourceCidrIp } if !dara.IsNil(request.NicType) { query["NicType"] = request.NicType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Permissions) { query["Permissions"] = request.Permissions } if !dara.IsNil(request.Policy) { query["Policy"] = request.Policy } if !dara.IsNil(request.PortRange) { query["PortRange"] = request.PortRange } if !dara.IsNil(request.Priority) { query["Priority"] = request.Priority } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupRuleId) { query["SecurityGroupRuleId"] = request.SecurityGroupRuleId } if !dara.IsNil(request.SourceCidrIp) { query["SourceCidrIp"] = request.SourceCidrIp } if !dara.IsNil(request.SourceGroupId) { query["SourceGroupId"] = request.SourceGroupId } if !dara.IsNil(request.SourceGroupOwnerAccount) { query["SourceGroupOwnerAccount"] = request.SourceGroupOwnerAccount } if !dara.IsNil(request.SourceGroupOwnerId) { query["SourceGroupOwnerId"] = request.SourceGroupOwnerId } if !dara.IsNil(request.SourcePortRange) { query["SourcePortRange"] = request.SourcePortRange } if !dara.IsNil(request.SourcePrefixListId) { query["SourcePrefixListId"] = request.SourcePrefixListId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RevokeSecurityGroup"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RevokeSecurityGroupResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes inbound security group rules from a specific security group. // // Description: // // > Alibaba Cloud modified verification rules for the RevokeSecurityGroup operation on July 8, 2024. When you call the RevokeSecurityGroup operation to delete a security group rule that does not exist, the "InvalidParam.SecurityGroupRuleId" error code is returned instead of a success response. Update the RevokeSecurityGroup operation to use the new verification rules with the new error code based on your business requirements. // // You can use one of the following groups of parameters to specify the security group rules that you want to delete: // // - Parameters used to specify the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. // // - If a specified security group rule ID does not exist, the call to RevokeSecurityGroup fails. // // - Parameters that start with Permissions. // // - If no security group rule matches the specified parameters, the call to RevokeSecurityGroup is successful but no security group rules are deleted. // // - Define an inbound security group rule by configuring the following parameters together: // // - Source: You can specify one parameter from SourceCidrIp (IPv4 address), Ipv6SourceCidrIp (IPv6 address), SourcetPrefixListId (prefix list ID), and SourceGroupId (source security group ID). // // - PortRange: specifies the destination port range. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > You cannot specify the IDs of security group rules and the parameters that start with Permissions in the same request. // // ### [](#)Sample requests // // - Delete a security group rule based on the rule ID: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", //Specify the ID of the security group. // // "SecurityGroupRuleId":["sgr-bpdfmk****","sgr-bpdfmg****"] //Specify the ID of the security group rule. // // - Delete a security group rule based on an IPv4 CIDR block: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourceCidrIp":"10.0.0.0/8", //Specify the source IPv4 CIDR block. // // "IpProtocol":"TCP", //Specify the protocol. // // "PortRange":"80/80", //Specify the destination port range. // // "Policy":"accept" //Specify the action. // // } // // ] // // - Delete a security group rule in which a security group is referenced: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourceGroupId":"sg-bp67acfmxa123b****", //Specify the ID of the source security group. // // "IpProtocol":"TCP," // // "PortRange":"80/80", // // "Policy":"accept" // // ] // // } // // - Delete a security group rule in which a prefix list is referenced: // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", // // "Permissions":[ // // { // // "SourcePrefixListId":pl-x1j1k5ykzqlixdcy****", //Specify the ID of the source prefix list. // // "IpProtocol":"TCP", // // "PortRange":"80/80", // // "Policy":"accept" // // } // // ] // // @param request - RevokeSecurityGroupRequest // // @return RevokeSecurityGroupResponse func (client *Client) RevokeSecurityGroup(request *RevokeSecurityGroupRequest) (_result *RevokeSecurityGroupResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RevokeSecurityGroupResponse{} _body, _err := client.RevokeSecurityGroupWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Deletes outbound security group rules from a specified security group. // // Description: // // > Alibaba Cloud modified verification rules for the RevokeSecurityGroupEgress operation on July 8, 2024. When you use the RevokeSecurityGroupEgress operation to delete a security group rule that does not exist, the "InvalidSecurityGroupRule.RuleNotExist" error code is returned instead of a success response. Update the RevokeSecurityGroupEgress operation to use the new verification rules with the new error code based on your business requirements. // // You can use one of the following methods to delete a security group rule: // // - Delete a rule by specifying the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. // // - If a security group rule ID that you specify does not exist, an error is reported. // // - Delete a rule by specifying the Permissions parameter. // // - If no security group rule matches the specified parameters, the call to RevokeSecurityGroup is successful but no security group rules are deleted. // // - Delete a security group rule by configuring the following parameters together: // // - One of the following parameters: DestCidrIp, Ipv6DestCidrIp, DestPrefixListId, and DestGroupId. DestCidrIp specifies the destination IPv4 CIDR block. Ipv6DestCidrIp specifies the destination IPv6 CIDR block. DestPrefixListId specifies the ID of the destination prefix list. DestGroupId specifies the destination security group. // // - PortRange: specifies the range of destination port numbers. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > You cannot set the security group rule ID and the Permissions parameter at the same time. // // ### [](#)Sample requests // // - Delete a security group rule. // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", //The security group ID. // // "SecurityGroupRuleId":["sgr-bpdfmk****","sgr-bpdfmg****"] //The ID of the security group rule. // // - Delete a security group rule based on the CIDR block. // // // // "SecurityGroupId":"sg-bp67acfmxazb4ph***", // // "Permissions":[ // // { // // "IpProtocol":"TCP", //The protocol. // // "DestCidrIp":"10.0.0.0/8", //The destination IPv4 CIDR block. // // "PortRange":"22/22", //The destination port range. // // "Policy":"accept" //The action. } // // ] // // - Delete a security group rule based on the ID of the destination security group. // // // // "SecurityGroupId":"sg-bp67acfmxazb4ph***", // // "Permissions":[ // // { // // "DestGroupId":"sg-bp67acfmxa123b****", //Set the ID of the target security group. // // "IpProtocol":"TCP", // // "PortRange":"22/22", // // "Policy":"accept" // // } // // ] // // - Delete a security group rule based on a specified prefix list. // // // // "SecurityGroupId":"sg-bp67acfmxazb4ph***", // // "Permissions":[ // // { // // "IpProtocol":"TCP", // // "DestPrefixListId":"pl-x1j1k5ykzqlixdcy****", //The ID of the destination prefix list. "PortRange":"22/22", // // "Policy":"accept", // // } // // ] // // @param request - RevokeSecurityGroupEgressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RevokeSecurityGroupEgressResponse func (client *Client) RevokeSecurityGroupEgressWithOptions(request *RevokeSecurityGroupEgressRequest, runtime *dara.RuntimeOptions) (_result *RevokeSecurityGroupEgressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DestCidrIp) { query["DestCidrIp"] = request.DestCidrIp } if !dara.IsNil(request.DestGroupId) { query["DestGroupId"] = request.DestGroupId } if !dara.IsNil(request.DestGroupOwnerAccount) { query["DestGroupOwnerAccount"] = request.DestGroupOwnerAccount } if !dara.IsNil(request.DestGroupOwnerId) { query["DestGroupOwnerId"] = request.DestGroupOwnerId } if !dara.IsNil(request.DestPrefixListId) { query["DestPrefixListId"] = request.DestPrefixListId } if !dara.IsNil(request.IpProtocol) { query["IpProtocol"] = request.IpProtocol } if !dara.IsNil(request.Ipv6DestCidrIp) { query["Ipv6DestCidrIp"] = request.Ipv6DestCidrIp } if !dara.IsNil(request.Ipv6SourceCidrIp) { query["Ipv6SourceCidrIp"] = request.Ipv6SourceCidrIp } if !dara.IsNil(request.NicType) { query["NicType"] = request.NicType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Permissions) { query["Permissions"] = request.Permissions } if !dara.IsNil(request.Policy) { query["Policy"] = request.Policy } if !dara.IsNil(request.PortRange) { query["PortRange"] = request.PortRange } if !dara.IsNil(request.Priority) { query["Priority"] = request.Priority } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupRuleId) { query["SecurityGroupRuleId"] = request.SecurityGroupRuleId } if !dara.IsNil(request.SourceCidrIp) { query["SourceCidrIp"] = request.SourceCidrIp } if !dara.IsNil(request.SourcePortRange) { query["SourcePortRange"] = request.SourcePortRange } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RevokeSecurityGroupEgress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RevokeSecurityGroupEgressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Deletes outbound security group rules from a specified security group. // // Description: // // > Alibaba Cloud modified verification rules for the RevokeSecurityGroupEgress operation on July 8, 2024. When you use the RevokeSecurityGroupEgress operation to delete a security group rule that does not exist, the "InvalidSecurityGroupRule.RuleNotExist" error code is returned instead of a success response. Update the RevokeSecurityGroupEgress operation to use the new verification rules with the new error code based on your business requirements. // // You can use one of the following methods to delete a security group rule: // // - Delete a rule by specifying the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. // // - If a security group rule ID that you specify does not exist, an error is reported. // // - Delete a rule by specifying the Permissions parameter. // // - If no security group rule matches the specified parameters, the call to RevokeSecurityGroup is successful but no security group rules are deleted. // // - Delete a security group rule by configuring the following parameters together: // // - One of the following parameters: DestCidrIp, Ipv6DestCidrIp, DestPrefixListId, and DestGroupId. DestCidrIp specifies the destination IPv4 CIDR block. Ipv6DestCidrIp specifies the destination IPv6 CIDR block. DestPrefixListId specifies the ID of the destination prefix list. DestGroupId specifies the destination security group. // // - PortRange: specifies the range of destination port numbers. // // - IpProtocol: specifies the protocol. // // - Policy: specifies the action. // // > You cannot set the security group rule ID and the Permissions parameter at the same time. // // ### [](#)Sample requests // // - Delete a security group rule. // // // // "SecurityGroupId":"sg-bp67acfmxazb4p****", //The security group ID. // // "SecurityGroupRuleId":["sgr-bpdfmk****","sgr-bpdfmg****"] //The ID of the security group rule. // // - Delete a security group rule based on the CIDR block. // // // // "SecurityGroupId":"sg-bp67acfmxazb4ph***", // // "Permissions":[ // // { // // "IpProtocol":"TCP", //The protocol. // // "DestCidrIp":"10.0.0.0/8", //The destination IPv4 CIDR block. // // "PortRange":"22/22", //The destination port range. // // "Policy":"accept" //The action. } // // ] // // - Delete a security group rule based on the ID of the destination security group. // // // // "SecurityGroupId":"sg-bp67acfmxazb4ph***", // // "Permissions":[ // // { // // "DestGroupId":"sg-bp67acfmxa123b****", //Set the ID of the target security group. // // "IpProtocol":"TCP", // // "PortRange":"22/22", // // "Policy":"accept" // // } // // ] // // - Delete a security group rule based on a specified prefix list. // // // // "SecurityGroupId":"sg-bp67acfmxazb4ph***", // // "Permissions":[ // // { // // "IpProtocol":"TCP", // // "DestPrefixListId":"pl-x1j1k5ykzqlixdcy****", //The ID of the destination prefix list. "PortRange":"22/22", // // "Policy":"accept", // // } // // ] // // @param request - RevokeSecurityGroupEgressRequest // // @return RevokeSecurityGroupEgressResponse func (client *Client) RevokeSecurityGroupEgress(request *RevokeSecurityGroupEgressRequest) (_result *RevokeSecurityGroupEgressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RevokeSecurityGroupEgressResponse{} _body, _err := client.RevokeSecurityGroupEgressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates and runs a Cloud Assistant command on one or more Elastic Compute Service (ECS) instances. Shell, PowerShell, and batch commands are supported. You can run the command based on a schedule, include custom parameters in the command, or run the command in containers on instances. // // Description: // // This operation is an asynchronous operation. After a request is sent, a response that contains a command ID and a command task ID is immediately returned. You can call the [DescribeInvocations](https://help.aliyun.com/document_detail/2679916.html) or [DescribeInvocationResults](https://help.aliyun.com/document_detail/2679916.html) operation with the command ID or task ID to query the execution results of the command. // // ### [](#)Precautions // // - The instances on which you want to create and run a Cloud Assistant command must be in the Running (`Running`) state. You can call the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation to query the status of instances. // // - [Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html) must be pre-installed on the instances on which you want to create and run a Cloud Assistant command. You can call the [InstallCloudAssistant](https://help.aliyun.com/document_detail/2679925.html) operation to install Cloud Assistant Agent on instances and the [DescribeCloudAssistantStatus](https://help.aliyun.com/document_detail/2679924.html) operation to query whether Cloud Assistant Agent is installed on instances. // // ** // // **Note* - By default, Cloud Assistant Agent is pre-installed on instances created from public images on or after December 1, 2017. // // - Before you run a PowerShell command on a Windows instance, make sure that the PowerShell module is installed on the instance. // // ### [](#)Considerations // // - You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can also request a quota increase. For information about how to view quotas and request a quota increase, see [Manage quotas](https://help.aliyun.com/document_detail/184116.html). // // - To ensure that scheduled tasks can run as expected, make sure that the Cloud Assistant Agent version is not earlier than the following versions. A scheduled task can run a command at a specific interval, only once at a specific time, or at designated times based on a cron expression in a specific year or time zone. If the `ClientNeedUpgrade` error code is returned, you must update Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades of Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). // // - Linux: 2.2.3.282 // // - Windows: 2.1.3.282 // // - When you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instances. Make sure that the time or time zone of the instances meets your business requirements. For information about time zones, see [Configure the NTP service for ECS instances that run CentOS 6](https://help.aliyun.com/document_detail/92803.html) or [Configure the NTP service for Windows instances](https://help.aliyun.com/document_detail/51890.html). // // ### [](#)Suggestions // // - **Timeout settings**: You can set `Timeout` to specify the timeout period for command executions on instances. If an execution times out, Cloud Assistant Agent forcefully terminates the command process. // // - When the one-time execution of the command times out, the execution status ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) of the command becomes Failed. // // - For a scheduled task, the timeout period takes effect on every execution of the command. When a command execution times out, the subsequent executions of the command are not affected. When a scheduled execution of the command times out, the execution status ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) of the command becomes Failed. // // - **Execution failure**: Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](https://help.aliyun.com/document_detail/87029.html). // // - **Custom parameters**: If you set `EnableParameter` to true, the custom parameter feature is enabled. When you specify `CommandContent`, you can define custom parameters in the `{{parameter}}` format. Then, the key-value pairs of the custom parameters are passed in when you run the command. // // @param tmpReq - RunCommandRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RunCommandResponse func (client *Client) RunCommandWithOptions(tmpReq *RunCommandRequest, runtime *dara.RuntimeOptions) (_result *RunCommandResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &RunCommandShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.Parameters) { request.ParametersShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.Parameters, dara.String("Parameters"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.CommandContent) { query["CommandContent"] = request.CommandContent } if !dara.IsNil(request.ContainerId) { query["ContainerId"] = request.ContainerId } if !dara.IsNil(request.ContainerName) { query["ContainerName"] = request.ContainerName } if !dara.IsNil(request.ContentEncoding) { query["ContentEncoding"] = request.ContentEncoding } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.EnableParameter) { query["EnableParameter"] = request.EnableParameter } if !dara.IsNil(request.Frequency) { query["Frequency"] = request.Frequency } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.KeepCommand) { query["KeepCommand"] = request.KeepCommand } if !dara.IsNil(request.Launcher) { query["Launcher"] = request.Launcher } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.OssOutputDelivery) { query["OssOutputDelivery"] = request.OssOutputDelivery } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ParametersShrink) { query["Parameters"] = request.ParametersShrink } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RepeatMode) { query["RepeatMode"] = request.RepeatMode } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceTag) { query["ResourceTag"] = request.ResourceTag } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TerminationMode) { query["TerminationMode"] = request.TerminationMode } if !dara.IsNil(request.Timed) { query["Timed"] = request.Timed } if !dara.IsNil(request.Timeout) { query["Timeout"] = request.Timeout } if !dara.IsNil(request.Type) { query["Type"] = request.Type } if !dara.IsNil(request.Username) { query["Username"] = request.Username } if !dara.IsNil(request.WindowsPasswordName) { query["WindowsPasswordName"] = request.WindowsPasswordName } if !dara.IsNil(request.WorkingDir) { query["WorkingDir"] = request.WorkingDir } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RunCommand"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RunCommandResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates and runs a Cloud Assistant command on one or more Elastic Compute Service (ECS) instances. Shell, PowerShell, and batch commands are supported. You can run the command based on a schedule, include custom parameters in the command, or run the command in containers on instances. // // Description: // // This operation is an asynchronous operation. After a request is sent, a response that contains a command ID and a command task ID is immediately returned. You can call the [DescribeInvocations](https://help.aliyun.com/document_detail/2679916.html) or [DescribeInvocationResults](https://help.aliyun.com/document_detail/2679916.html) operation with the command ID or task ID to query the execution results of the command. // // ### [](#)Precautions // // - The instances on which you want to create and run a Cloud Assistant command must be in the Running (`Running`) state. You can call the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation to query the status of instances. // // - [Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html) must be pre-installed on the instances on which you want to create and run a Cloud Assistant command. You can call the [InstallCloudAssistant](https://help.aliyun.com/document_detail/2679925.html) operation to install Cloud Assistant Agent on instances and the [DescribeCloudAssistantStatus](https://help.aliyun.com/document_detail/2679924.html) operation to query whether Cloud Assistant Agent is installed on instances. // // ** // // **Note* - By default, Cloud Assistant Agent is pre-installed on instances created from public images on or after December 1, 2017. // // - Before you run a PowerShell command on a Windows instance, make sure that the PowerShell module is installed on the instance. // // ### [](#)Considerations // // - You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can also request a quota increase. For information about how to view quotas and request a quota increase, see [Manage quotas](https://help.aliyun.com/document_detail/184116.html). // // - To ensure that scheduled tasks can run as expected, make sure that the Cloud Assistant Agent version is not earlier than the following versions. A scheduled task can run a command at a specific interval, only once at a specific time, or at designated times based on a cron expression in a specific year or time zone. If the `ClientNeedUpgrade` error code is returned, you must update Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades of Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). // // - Linux: 2.2.3.282 // // - Windows: 2.1.3.282 // // - When you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instances. Make sure that the time or time zone of the instances meets your business requirements. For information about time zones, see [Configure the NTP service for ECS instances that run CentOS 6](https://help.aliyun.com/document_detail/92803.html) or [Configure the NTP service for Windows instances](https://help.aliyun.com/document_detail/51890.html). // // ### [](#)Suggestions // // - **Timeout settings**: You can set `Timeout` to specify the timeout period for command executions on instances. If an execution times out, Cloud Assistant Agent forcefully terminates the command process. // // - When the one-time execution of the command times out, the execution status ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) of the command becomes Failed. // // - For a scheduled task, the timeout period takes effect on every execution of the command. When a command execution times out, the subsequent executions of the command are not affected. When a scheduled execution of the command times out, the execution status ([InvokeRecordStatus](https://help.aliyun.com/document_detail/64845.html)) of the command becomes Failed. // // - **Execution failure**: Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](https://help.aliyun.com/document_detail/87029.html). // // - **Custom parameters**: If you set `EnableParameter` to true, the custom parameter feature is enabled. When you specify `CommandContent`, you can define custom parameters in the `{{parameter}}` format. Then, the key-value pairs of the custom parameters are passed in when you run the command. // // @param request - RunCommandRequest // // @return RunCommandResponse func (client *Client) RunCommand(request *RunCommandRequest) (_result *RunCommandResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RunCommandResponse{} _body, _err := client.RunCommandWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Batch creates Elastic Compute Service (ECS) instances. You can automatically start, assign public IP addresses to, and specify an automatic release time for the instances. // // Description: // // Before you call this operation, familiarize yourself with the billing rules and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of ECS resources. // // This operation is an asynchronous operation. After a request to create ECS instances is sent, ECS instance IDs are returned but the creation and startup of the instances may be incomplete. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instances. When the status of an instance is `Running` in the DescribeInstanceStatus response, the instance is created and started. // // ### [](#)Considerations // // - If the resource inventory is insufficient to complete instance creation, Alibaba Cloud immediately sends an instance creation failure event (SystemFailure.Delete). You can call the [DescribeInstanceHistoryEvents](https://help.aliyun.com/document_detail/2679897.html) operation to check whether an instance creation failure event exists. For more information, see [System events related to instance creation failures](https://help.aliyun.com/document_detail/2545990.html). // // - Make sure that the number of ECS instances you create or the number of vCPUs on ECS instances of all instance types you create does not exceed the corresponding quota. Go to the [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to view the quotas. // // - Before you create ECS instances of the Virtual Private Cloud (VPC) type in a region, [create a VPC](https://help.aliyun.com/document_detail/65430.html) in the region. // // ### [](#)Precautions // // - If you create a subscription instance (`PrePaid`), available coupons in your account are automatically used. // // - You can call the RunInstances operation to create up to 100 ECS instances in a single request. To create more than 100 ECS instances, we recommend that you initiate multiple requests in batches or concurrently. // // - If you set `InternetMaxBandwidthOut` to a value greater than 0, public IP addresses are automatically assigned to the ECS instances to be created. // // > For the limits on the sum of maximum public bandwidths of ECS instances that use the pay-by-bandwidth billing method for network usage per region per Alibaba Cloud account, see the [Public bandwidth](~~25412#BandwidthQuota~~) section of the "Limits and quotas on ECS" topic. // // ### [](#)Suggestions // // - **Test scenarios**: Set `DryRun` to true to perform a dry run without performing the actual request. // // - **Release of ECS instances**: Use `AutoReleaseTime` to configure an automatic release time for ECS instances in the request to RunInstances or call the [DeleteInstances](https://help.aliyun.com/document_detail/2679710.html) operation to release the instances. // // - **Management and search of ECS instances**: Add tags to the ECS instances by specifying `Tag.N.Key` and `Tag.N.Value` and append incremental suffixes by specifying `UniqueSuffix` to the hostname specified by `HostName` and the instance name specified by `InstanceName`. For more information, see [Batch configure sequential names or hostnames for multiple instances](https://help.aliyun.com/document_detail/196048.html). // // - **Launch template**: A launch template contains the parameters required to create an ECS instance so that you do not have to specify the parameters every time you create ECS instances. You can call the [CreateLaunchTemplate](https://help.aliyun.com/document_detail/2679729.html) operation to create a launch template. Then, in the request to `RunInstances`, you can specify `LaunchTemplateId` and `LaunchTemplateVersion` to use the launch template. // // - **Disabling of Hyper-Threading (HT)**: In memory-intensive scenarios, set `CpuOptions.ThreadsPerCore` to 1 to disable HT and increase the memory-to-vCPU ratio. // // - **Enabling of Jumbo Frames**: Set `NetworkOptions.EnableJumboFrame` to true to enable the `Jumbo Frames` feature when you create ECS instances. For more information, see [Jumbo Frames](https://help.aliyun.com/document_detail/200512.html). // // ## [](#)Sample requests // // Use a specific image to create ECS instances of a specific instance type in the China (Hangzhou) region. The instances use disks with a specific capacity as the system disk and data disks and are automatically assigned public IP addresses. The instances have user-defined names and logon passwords. The instances are assigned to a specific security group and connected to a specific vSwitch. Request parameters: // // RegionId:"cn-hangzhou", //Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // ImageId:"aliyun_3_x64_20G_alibase_20221102.vhd", //Set the image ID to aliyun_3_x64_20G_alibase_20221102.vhd. // // InstanceType:"ecs.g7.large", //Set the instance type to ecs.g7.large. // // SecurityGroupId:"sg-bp150uqocpf9jj70****", //Set the security group ID to sg-bp150uqocpf9jj70****. // // VSwitchId:"vsw-bp1qo7s91cbch5i4l****", //Set the vSwitch ID to vsw-bp1qo7s91cbch5i4l****. // // SystemDisk:{ // // Category:"cloud_essd", //Set the system disk category to cloud_essd, which specifies the Enterprise SSD (ESSD) category. // // Size:40, //Set the system disk size to 40. Unit: GiB. // // }, // // DataDisk:[ // // { // // Category:"cloud_essd", //Set the data disk category to cloud_essd, which specifies the ESSD category. // // Size:100, //Set the data disk size to 100. Unit: GiB. // // } // // ], // // HostName:"ECS-test", //Set the instance hostname to ECS-test. // // Password:"ECS@test1234", //Set the logon password to ECS@test1234. // // InternetMaxBandwidthOut:10 //Set the outbound public bandwidth to 10. Unit: Mbit/s. // // Examples on how to create instances of different types based on the preceding parameters: // // **Example: Create five subscription ECS instances for which auto-renewal is enabled** // // Amount:5, //Set the number of ECS instances that you want to create to 5. // // InstanceChargeType:"PrePaid", //Set the billing method to PrePaid, which specifies the subscription billing method. // // PeriodUnit:"Month", //Set the subscription period unit to Month. // // Period:1, //Set the subscription period to 1. The unit is specified by PeriodUnit, which is Month in this example. // // AutoRenew:true, //Set this parameter to true to enable auto-renewal. // // AutoRenewPeriod:1 //Set the renewal period to 1. The unit is specified by PeriodUnit, which is Month in this example. // // **Example: Create 10 pay-as-you-go ECS instances** // // Amount:10, //Set the number of ECS instances that you want to create to 10. // // InstanceChargeType:"PostPaid", //Set the billing method to PostPaid, which specifies the pay-as-you-go billing method. // // SpotStrategy:"NoSpot" //Set this parameter to NoSpot, which is the default value and specifies that the instances are created as pay-as-you-go instances. // // **Example: Create 20 spot instances that use a specific bidding policy and a protection period** // // Amount:20, //Set the number of ECS instances that you want to create to 20. // // InstanceChargeType:"PostPaid", // // SpotStrategy:"SpotAsPriceGo", //Set the bidding policy to SpotAsPriceGo, which specifies that the instances are created as spot instances for which the market price at the time of purchase is automatically used as the bid price. // // SpotDuration:1 //Set the protection period of the spot instances to 1. Unit: hours. // // Use a launch template created by calling the [CreateLaunchTemplate](https://help.aliyun.com/document_detail/2679729.html) operation to create ECS instances in the China (Hangzhou) region. Examples: // // **Example: Create 10 ECS instances based on a launch template** // // RegionId:"cn-hangzhou", //Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // Amount:10, //Set the number of ECS instances that you want to create to 10. // // LaunchTemplateId:"lt-bp14xczpoxvb6rre****" //Set the launch template ID to lt-bp14xczpoxvb6rre****. // // > If a parameter is specified both in the launch template that you reference in a request and in the instance parameters of the same request, the value specified in the instance parameters takes precedence. For example, if you set InstanceChargeType in the launch template to PrePaid (subscription) and set InstanceChargeType in the instance parameters to PostPaid (pay-as-you-go), the created instances are pay-as-you-go instances. // // **Example: Use a full image (an image that contains the system disk and data disks) to create an ECS instance** // // RegionId:"cn-hangzhou", //Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // ImageId = m-bp13ohd32cvzpq9e****, //Set the custom image ID to m-bp13ohd32cvzpq9e****. // // InstanceType = ecs.u1-c1m1.large, //Set the instance type to ecs.u1-c1m1.large. // // SecurityGroupId = sg-bp10jztp6b0sdsyl****, //Set the security group ID to sg-bp10jztp6b0sdsyl****. // // VSwitchId = vsw-bp19wo63nleroq22g****, //Set the vSwitch ID to vsw-bp19wo63nleroq22g****. // // SystemDisk.Size = 50, //Set the size of the system disk in the full image to 50. Unit: GiB. // // SystemDisk.Category = cloud_auto, //Set the category of the system disk in the full image to cloud_auto, which specifies the ESSD AutoPL disk category. // // DataDisk.0.Device = /dev/xvdb, //Set the mount point of the data disk in the full image to /dev/xvdb. // // DataDisk.0.Size = 50, //Set the size of the data disk in the full image to 50. Unit: GiB. // // DataDisk.0.Category = cloud_essd, //Set the category of the data disk in the full image to cloud_essd, which specifies the ESSD category. // // DataDisk.1.Device = /dev/xvdc, //Set the mount point of the new data disk to /dev/xvdc. If you want to use a new data disk to replace the data disk in the full image, set DataDisk.1.Device to /dev/xvdb (the default mount point of the data disk in the full image). // // DataDisk.1.Size = 70, //Set the size of the new data disk to 70. Unit: GiB. // // DataDisk.1.Category = cloud_auto, //Set the category of the new data disk to cloud_auto, which specifies the ESSD AutoPL disk category. // // @param request - RunInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RunInstancesResponse func (client *Client) RunInstancesWithOptions(request *RunInstancesRequest, runtime *dara.RuntimeOptions) (_result *RunInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Affinity) { query["Affinity"] = request.Affinity } if !dara.IsNil(request.Amount) { query["Amount"] = request.Amount } if !dara.IsNil(request.Arn) { query["Arn"] = request.Arn } if !dara.IsNil(request.AutoPay) { query["AutoPay"] = request.AutoPay } if !dara.IsNil(request.AutoReleaseTime) { query["AutoReleaseTime"] = request.AutoReleaseTime } if !dara.IsNil(request.AutoRenew) { query["AutoRenew"] = request.AutoRenew } if !dara.IsNil(request.AutoRenewPeriod) { query["AutoRenewPeriod"] = request.AutoRenewPeriod } if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ClockOptions) { query["ClockOptions"] = request.ClockOptions } if !dara.IsNil(request.CreditSpecification) { query["CreditSpecification"] = request.CreditSpecification } if !dara.IsNil(request.DataDisk) { query["DataDisk"] = request.DataDisk } if !dara.IsNil(request.DedicatedHostId) { query["DedicatedHostId"] = request.DedicatedHostId } if !dara.IsNil(request.DeletionProtection) { query["DeletionProtection"] = request.DeletionProtection } if !dara.IsNil(request.DeploymentSetGroupNo) { query["DeploymentSetGroupNo"] = request.DeploymentSetGroupNo } if !dara.IsNil(request.DeploymentSetId) { query["DeploymentSetId"] = request.DeploymentSetId } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.HostName) { query["HostName"] = request.HostName } if !dara.IsNil(request.HostNames) { query["HostNames"] = request.HostNames } if !dara.IsNil(request.HpcClusterId) { query["HpcClusterId"] = request.HpcClusterId } if !dara.IsNil(request.HttpEndpoint) { query["HttpEndpoint"] = request.HttpEndpoint } if !dara.IsNil(request.HttpPutResponseHopLimit) { query["HttpPutResponseHopLimit"] = request.HttpPutResponseHopLimit } if !dara.IsNil(request.HttpTokens) { query["HttpTokens"] = request.HttpTokens } if !dara.IsNil(request.ImageFamily) { query["ImageFamily"] = request.ImageFamily } if !dara.IsNil(request.ImageId) { query["ImageId"] = request.ImageId } if !dara.IsNil(request.ImageOptions) { query["ImageOptions"] = request.ImageOptions } if !dara.IsNil(request.InstanceChargeType) { query["InstanceChargeType"] = request.InstanceChargeType } if !dara.IsNil(request.InstanceName) { query["InstanceName"] = request.InstanceName } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.InternetChargeType) { query["InternetChargeType"] = request.InternetChargeType } if !dara.IsNil(request.InternetMaxBandwidthIn) { query["InternetMaxBandwidthIn"] = request.InternetMaxBandwidthIn } if !dara.IsNil(request.InternetMaxBandwidthOut) { query["InternetMaxBandwidthOut"] = request.InternetMaxBandwidthOut } if !dara.IsNil(request.IoOptimized) { query["IoOptimized"] = request.IoOptimized } if !dara.IsNil(request.Ipv6Address) { query["Ipv6Address"] = request.Ipv6Address } if !dara.IsNil(request.Ipv6AddressCount) { query["Ipv6AddressCount"] = request.Ipv6AddressCount } if !dara.IsNil(request.Isp) { query["Isp"] = request.Isp } if !dara.IsNil(request.KeyPairName) { query["KeyPairName"] = request.KeyPairName } if !dara.IsNil(request.LaunchTemplateId) { query["LaunchTemplateId"] = request.LaunchTemplateId } if !dara.IsNil(request.LaunchTemplateName) { query["LaunchTemplateName"] = request.LaunchTemplateName } if !dara.IsNil(request.LaunchTemplateVersion) { query["LaunchTemplateVersion"] = request.LaunchTemplateVersion } if !dara.IsNil(request.MinAmount) { query["MinAmount"] = request.MinAmount } if !dara.IsNil(request.NetworkInterface) { query["NetworkInterface"] = request.NetworkInterface } if !dara.IsNil(request.NetworkInterfaceQueueNumber) { query["NetworkInterfaceQueueNumber"] = request.NetworkInterfaceQueueNumber } if !dara.IsNil(request.NetworkOptions) { query["NetworkOptions"] = request.NetworkOptions } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.Password) { query["Password"] = request.Password } if !dara.IsNil(request.PasswordInherit) { query["PasswordInherit"] = request.PasswordInherit } if !dara.IsNil(request.Period) { query["Period"] = request.Period } if !dara.IsNil(request.PeriodUnit) { query["PeriodUnit"] = request.PeriodUnit } if !dara.IsNil(request.PrivateDnsNameOptions) { query["PrivateDnsNameOptions"] = request.PrivateDnsNameOptions } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.RamRoleName) { query["RamRoleName"] = request.RamRoleName } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SecurityEnhancementStrategy) { query["SecurityEnhancementStrategy"] = request.SecurityEnhancementStrategy } if !dara.IsNil(request.SecurityGroupId) { query["SecurityGroupId"] = request.SecurityGroupId } if !dara.IsNil(request.SecurityGroupIds) { query["SecurityGroupIds"] = request.SecurityGroupIds } if !dara.IsNil(request.SpotDuration) { query["SpotDuration"] = request.SpotDuration } if !dara.IsNil(request.SpotInterruptionBehavior) { query["SpotInterruptionBehavior"] = request.SpotInterruptionBehavior } if !dara.IsNil(request.SpotPriceLimit) { query["SpotPriceLimit"] = request.SpotPriceLimit } if !dara.IsNil(request.SpotStrategy) { query["SpotStrategy"] = request.SpotStrategy } if !dara.IsNil(request.StorageSetId) { query["StorageSetId"] = request.StorageSetId } if !dara.IsNil(request.StorageSetPartitionNumber) { query["StorageSetPartitionNumber"] = request.StorageSetPartitionNumber } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.Tenancy) { query["Tenancy"] = request.Tenancy } if !dara.IsNil(request.UniqueSuffix) { query["UniqueSuffix"] = request.UniqueSuffix } if !dara.IsNil(request.UserData) { query["UserData"] = request.UserData } if !dara.IsNil(request.VSwitchId) { query["VSwitchId"] = request.VSwitchId } if !dara.IsNil(request.ZoneId) { query["ZoneId"] = request.ZoneId } if !dara.IsNil(request.CpuOptions) { query["CpuOptions"] = request.CpuOptions } if !dara.IsNil(request.HibernationOptions) { query["HibernationOptions"] = request.HibernationOptions } if !dara.IsNil(request.PrivatePoolOptions) { query["PrivatePoolOptions"] = request.PrivatePoolOptions } if !dara.IsNil(request.SchedulerOptions) { query["SchedulerOptions"] = request.SchedulerOptions } if !dara.IsNil(request.SecurityOptions) { query["SecurityOptions"] = request.SecurityOptions } if !dara.IsNil(request.SystemDisk) { query["SystemDisk"] = request.SystemDisk } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("RunInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &RunInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Batch creates Elastic Compute Service (ECS) instances. You can automatically start, assign public IP addresses to, and specify an automatic release time for the instances. // // Description: // // Before you call this operation, familiarize yourself with the billing rules and [pricing](https://www.alibabacloud.com/zh/pricing-calculator#/commodity/vm_intl) of ECS resources. // // This operation is an asynchronous operation. After a request to create ECS instances is sent, ECS instance IDs are returned but the creation and startup of the instances may be incomplete. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instances. When the status of an instance is `Running` in the DescribeInstanceStatus response, the instance is created and started. // // ### [](#)Considerations // // - If the resource inventory is insufficient to complete instance creation, Alibaba Cloud immediately sends an instance creation failure event (SystemFailure.Delete). You can call the [DescribeInstanceHistoryEvents](https://help.aliyun.com/document_detail/2679897.html) operation to check whether an instance creation failure event exists. For more information, see [System events related to instance creation failures](https://help.aliyun.com/document_detail/2545990.html). // // - Make sure that the number of ECS instances you create or the number of vCPUs on ECS instances of all instance types you create does not exceed the corresponding quota. Go to the [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to view the quotas. // // - Before you create ECS instances of the Virtual Private Cloud (VPC) type in a region, [create a VPC](https://help.aliyun.com/document_detail/65430.html) in the region. // // ### [](#)Precautions // // - If you create a subscription instance (`PrePaid`), available coupons in your account are automatically used. // // - You can call the RunInstances operation to create up to 100 ECS instances in a single request. To create more than 100 ECS instances, we recommend that you initiate multiple requests in batches or concurrently. // // - If you set `InternetMaxBandwidthOut` to a value greater than 0, public IP addresses are automatically assigned to the ECS instances to be created. // // > For the limits on the sum of maximum public bandwidths of ECS instances that use the pay-by-bandwidth billing method for network usage per region per Alibaba Cloud account, see the [Public bandwidth](~~25412#BandwidthQuota~~) section of the "Limits and quotas on ECS" topic. // // ### [](#)Suggestions // // - **Test scenarios**: Set `DryRun` to true to perform a dry run without performing the actual request. // // - **Release of ECS instances**: Use `AutoReleaseTime` to configure an automatic release time for ECS instances in the request to RunInstances or call the [DeleteInstances](https://help.aliyun.com/document_detail/2679710.html) operation to release the instances. // // - **Management and search of ECS instances**: Add tags to the ECS instances by specifying `Tag.N.Key` and `Tag.N.Value` and append incremental suffixes by specifying `UniqueSuffix` to the hostname specified by `HostName` and the instance name specified by `InstanceName`. For more information, see [Batch configure sequential names or hostnames for multiple instances](https://help.aliyun.com/document_detail/196048.html). // // - **Launch template**: A launch template contains the parameters required to create an ECS instance so that you do not have to specify the parameters every time you create ECS instances. You can call the [CreateLaunchTemplate](https://help.aliyun.com/document_detail/2679729.html) operation to create a launch template. Then, in the request to `RunInstances`, you can specify `LaunchTemplateId` and `LaunchTemplateVersion` to use the launch template. // // - **Disabling of Hyper-Threading (HT)**: In memory-intensive scenarios, set `CpuOptions.ThreadsPerCore` to 1 to disable HT and increase the memory-to-vCPU ratio. // // - **Enabling of Jumbo Frames**: Set `NetworkOptions.EnableJumboFrame` to true to enable the `Jumbo Frames` feature when you create ECS instances. For more information, see [Jumbo Frames](https://help.aliyun.com/document_detail/200512.html). // // ## [](#)Sample requests // // Use a specific image to create ECS instances of a specific instance type in the China (Hangzhou) region. The instances use disks with a specific capacity as the system disk and data disks and are automatically assigned public IP addresses. The instances have user-defined names and logon passwords. The instances are assigned to a specific security group and connected to a specific vSwitch. Request parameters: // // RegionId:"cn-hangzhou", //Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // ImageId:"aliyun_3_x64_20G_alibase_20221102.vhd", //Set the image ID to aliyun_3_x64_20G_alibase_20221102.vhd. // // InstanceType:"ecs.g7.large", //Set the instance type to ecs.g7.large. // // SecurityGroupId:"sg-bp150uqocpf9jj70****", //Set the security group ID to sg-bp150uqocpf9jj70****. // // VSwitchId:"vsw-bp1qo7s91cbch5i4l****", //Set the vSwitch ID to vsw-bp1qo7s91cbch5i4l****. // // SystemDisk:{ // // Category:"cloud_essd", //Set the system disk category to cloud_essd, which specifies the Enterprise SSD (ESSD) category. // // Size:40, //Set the system disk size to 40. Unit: GiB. // // }, // // DataDisk:[ // // { // // Category:"cloud_essd", //Set the data disk category to cloud_essd, which specifies the ESSD category. // // Size:100, //Set the data disk size to 100. Unit: GiB. // // } // // ], // // HostName:"ECS-test", //Set the instance hostname to ECS-test. // // Password:"ECS@test1234", //Set the logon password to ECS@test1234. // // InternetMaxBandwidthOut:10 //Set the outbound public bandwidth to 10. Unit: Mbit/s. // // Examples on how to create instances of different types based on the preceding parameters: // // **Example: Create five subscription ECS instances for which auto-renewal is enabled** // // Amount:5, //Set the number of ECS instances that you want to create to 5. // // InstanceChargeType:"PrePaid", //Set the billing method to PrePaid, which specifies the subscription billing method. // // PeriodUnit:"Month", //Set the subscription period unit to Month. // // Period:1, //Set the subscription period to 1. The unit is specified by PeriodUnit, which is Month in this example. // // AutoRenew:true, //Set this parameter to true to enable auto-renewal. // // AutoRenewPeriod:1 //Set the renewal period to 1. The unit is specified by PeriodUnit, which is Month in this example. // // **Example: Create 10 pay-as-you-go ECS instances** // // Amount:10, //Set the number of ECS instances that you want to create to 10. // // InstanceChargeType:"PostPaid", //Set the billing method to PostPaid, which specifies the pay-as-you-go billing method. // // SpotStrategy:"NoSpot" //Set this parameter to NoSpot, which is the default value and specifies that the instances are created as pay-as-you-go instances. // // **Example: Create 20 spot instances that use a specific bidding policy and a protection period** // // Amount:20, //Set the number of ECS instances that you want to create to 20. // // InstanceChargeType:"PostPaid", // // SpotStrategy:"SpotAsPriceGo", //Set the bidding policy to SpotAsPriceGo, which specifies that the instances are created as spot instances for which the market price at the time of purchase is automatically used as the bid price. // // SpotDuration:1 //Set the protection period of the spot instances to 1. Unit: hours. // // Use a launch template created by calling the [CreateLaunchTemplate](https://help.aliyun.com/document_detail/2679729.html) operation to create ECS instances in the China (Hangzhou) region. Examples: // // **Example: Create 10 ECS instances based on a launch template** // // RegionId:"cn-hangzhou", //Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // Amount:10, //Set the number of ECS instances that you want to create to 10. // // LaunchTemplateId:"lt-bp14xczpoxvb6rre****" //Set the launch template ID to lt-bp14xczpoxvb6rre****. // // > If a parameter is specified both in the launch template that you reference in a request and in the instance parameters of the same request, the value specified in the instance parameters takes precedence. For example, if you set InstanceChargeType in the launch template to PrePaid (subscription) and set InstanceChargeType in the instance parameters to PostPaid (pay-as-you-go), the created instances are pay-as-you-go instances. // // **Example: Use a full image (an image that contains the system disk and data disks) to create an ECS instance** // // RegionId:"cn-hangzhou", //Set the region ID to cn-hangzhou, which specifies the China (Hangzhou) region. // // ImageId = m-bp13ohd32cvzpq9e****, //Set the custom image ID to m-bp13ohd32cvzpq9e****. // // InstanceType = ecs.u1-c1m1.large, //Set the instance type to ecs.u1-c1m1.large. // // SecurityGroupId = sg-bp10jztp6b0sdsyl****, //Set the security group ID to sg-bp10jztp6b0sdsyl****. // // VSwitchId = vsw-bp19wo63nleroq22g****, //Set the vSwitch ID to vsw-bp19wo63nleroq22g****. // // SystemDisk.Size = 50, //Set the size of the system disk in the full image to 50. Unit: GiB. // // SystemDisk.Category = cloud_auto, //Set the category of the system disk in the full image to cloud_auto, which specifies the ESSD AutoPL disk category. // // DataDisk.0.Device = /dev/xvdb, //Set the mount point of the data disk in the full image to /dev/xvdb. // // DataDisk.0.Size = 50, //Set the size of the data disk in the full image to 50. Unit: GiB. // // DataDisk.0.Category = cloud_essd, //Set the category of the data disk in the full image to cloud_essd, which specifies the ESSD category. // // DataDisk.1.Device = /dev/xvdc, //Set the mount point of the new data disk to /dev/xvdc. If you want to use a new data disk to replace the data disk in the full image, set DataDisk.1.Device to /dev/xvdb (the default mount point of the data disk in the full image). // // DataDisk.1.Size = 70, //Set the size of the new data disk to 70. Unit: GiB. // // DataDisk.1.Category = cloud_auto, //Set the category of the new data disk to cloud_auto, which specifies the ESSD AutoPL disk category. // // @param request - RunInstancesRequest // // @return RunInstancesResponse func (client *Client) RunInstances(request *RunInstancesRequest) (_result *RunInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &RunInstancesResponse{} _body, _err := client.RunInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Sends a file to one or more Elastic Compute Service (ECS) instances. // // Description: // // ## [](#)Usage notes // // - The instances to which you want to send a file must be in the Running (`Running`) state. // // - [Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html) must be installed on the instances. // // - Only Cloud Assistant Agent versions that are later than the following ones support file sending. If the `ClientNeedUpgrade` error code is returned, update Cloud Assistant Agent to the latest version. // // - For Linux instances, the version of Cloud Assistant Agent must be later than 1.0.2.569. // // - For Windows instances, the version of Cloud Assistant Agent must be later than 1.0.0.149. // // - The file to be sent must not exceed 32 KB in size after it is encoded in Base64. // // - The file may fail to be sent due to instance exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If the file fails to be sent, call the [DescribeSendFileResults](https://help.aliyun.com/document_detail/184117.html) operation or see [Check execution results and troubleshoot common issues](https://help.aliyun.com/document_detail/87029.html) for troubleshooting. // // @param request - SendFileRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return SendFileResponse func (client *Client) SendFileWithOptions(request *SendFileRequest, runtime *dara.RuntimeOptions) (_result *SendFileResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Content) { query["Content"] = request.Content } if !dara.IsNil(request.ContentType) { query["ContentType"] = request.ContentType } if !dara.IsNil(request.Description) { query["Description"] = request.Description } if !dara.IsNil(request.FileGroup) { query["FileGroup"] = request.FileGroup } if !dara.IsNil(request.FileMode) { query["FileMode"] = request.FileMode } if !dara.IsNil(request.FileOwner) { query["FileOwner"] = request.FileOwner } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.Name) { query["Name"] = request.Name } if !dara.IsNil(request.Overwrite) { query["Overwrite"] = request.Overwrite } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceGroupId) { query["ResourceGroupId"] = request.ResourceGroupId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TargetDir) { query["TargetDir"] = request.TargetDir } if !dara.IsNil(request.Timeout) { query["Timeout"] = request.Timeout } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("SendFile"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &SendFileResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Sends a file to one or more Elastic Compute Service (ECS) instances. // // Description: // // ## [](#)Usage notes // // - The instances to which you want to send a file must be in the Running (`Running`) state. // // - [Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html) must be installed on the instances. // // - Only Cloud Assistant Agent versions that are later than the following ones support file sending. If the `ClientNeedUpgrade` error code is returned, update Cloud Assistant Agent to the latest version. // // - For Linux instances, the version of Cloud Assistant Agent must be later than 1.0.2.569. // // - For Windows instances, the version of Cloud Assistant Agent must be later than 1.0.0.149. // // - The file to be sent must not exceed 32 KB in size after it is encoded in Base64. // // - The file may fail to be sent due to instance exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If the file fails to be sent, call the [DescribeSendFileResults](https://help.aliyun.com/document_detail/184117.html) operation or see [Check execution results and troubleshoot common issues](https://help.aliyun.com/document_detail/87029.html) for troubleshooting. // // @param request - SendFileRequest // // @return SendFileResponse func (client *Client) SendFile(request *SendFileRequest) (_result *SendFileResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &SendFileResponse{} _body, _err := client.SendFileWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Executes an image creation task (image building task) by using an image template. // // Description: // // After you create an image template, you can call the StartImagePipelineExecution operation to create a pipeline task. The system creates, copies, and shares images based on the parameters configured in the image template. // // - You can execute only one pipeline task for each image template. // // @param request - StartImagePipelineExecutionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return StartImagePipelineExecutionResponse func (client *Client) StartImagePipelineExecutionWithOptions(request *StartImagePipelineExecutionRequest, runtime *dara.RuntimeOptions) (_result *StartImagePipelineExecutionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.ImagePipelineId) { query["ImagePipelineId"] = request.ImagePipelineId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } if !dara.IsNil(request.TemplateTag) { query["TemplateTag"] = request.TemplateTag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("StartImagePipelineExecution"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &StartImagePipelineExecutionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Executes an image creation task (image building task) by using an image template. // // Description: // // After you create an image template, you can call the StartImagePipelineExecution operation to create a pipeline task. The system creates, copies, and shares images based on the parameters configured in the image template. // // - You can execute only one pipeline task for each image template. // // @param request - StartImagePipelineExecutionRequest // // @return StartImagePipelineExecutionResponse func (client *Client) StartImagePipelineExecution(request *StartImagePipelineExecutionRequest) (_result *StartImagePipelineExecutionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &StartImagePipelineExecutionResponse{} _body, _err := client.StartImagePipelineExecutionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Starts an Elastic Compute Service (ECS) instance. You can specify the ID of an ECS instance and parameters, such as InitLocalDisk, in the request based on your business requirements to start the instance. // // Description: // // This operation is an asynchronous operation. After you call this operation to start an ECS instance, the operation sets the status of the ECS instance to Starting and begins the startup process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the ECS instance. When the status of the ECS instance changes to `Running`, the instance is started. // // ### [](#)Precautions // // - You cannot call this operation to start an ECS instance that is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instance that you want to start must be in the **Stopped* - (`Stopped`) state. // // - If an ECS instance is stopped in economical mode, the instance may fail to be started due to insufficient resources. // // @param request - StartInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return StartInstanceResponse func (client *Client) StartInstanceWithOptions(request *StartInstanceRequest, runtime *dara.RuntimeOptions) (_result *StartInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.InitLocalDisk) { query["InitLocalDisk"] = request.InitLocalDisk } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("StartInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &StartInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Starts an Elastic Compute Service (ECS) instance. You can specify the ID of an ECS instance and parameters, such as InitLocalDisk, in the request based on your business requirements to start the instance. // // Description: // // This operation is an asynchronous operation. After you call this operation to start an ECS instance, the operation sets the status of the ECS instance to Starting and begins the startup process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the ECS instance. When the status of the ECS instance changes to `Running`, the instance is started. // // ### [](#)Precautions // // - You cannot call this operation to start an ECS instance that is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instance that you want to start must be in the **Stopped* - (`Stopped`) state. // // - If an ECS instance is stopped in economical mode, the instance may fail to be started due to insufficient resources. // // @param request - StartInstanceRequest // // @return StartInstanceResponse func (client *Client) StartInstance(request *StartInstanceRequest) (_result *StartInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &StartInstanceResponse{} _body, _err := client.StartInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Starts Elastic Compute Service (ECS) instances that are in the Stopped state. // // Description: // // This operation is an asynchronous operation. After you call this operation to start ECS instances, the operation sets the status of the ECS instances to Starting and begins the startup process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instances. When the status of the ECS instances changes to `Running`, the instances are started. // // ### [](#)Precautions // // - You cannot call this operation to start ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instances that you want to start must be in the **Stopped* - (`Stopped`) state. // // - ECS instances stopped in economical mode may fail to be started due to insufficient resources. // // @param request - StartInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return StartInstancesResponse func (client *Client) StartInstancesWithOptions(request *StartInstancesRequest, runtime *dara.RuntimeOptions) (_result *StartInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BatchOptimization) { query["BatchOptimization"] = request.BatchOptimization } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("StartInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &StartInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Starts Elastic Compute Service (ECS) instances that are in the Stopped state. // // Description: // // This operation is an asynchronous operation. After you call this operation to start ECS instances, the operation sets the status of the ECS instances to Starting and begins the startup process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the instances. When the status of the ECS instances changes to `Running`, the instances are started. // // ### [](#)Precautions // // - You cannot call this operation to start ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - The ECS instances that you want to start must be in the **Stopped* - (`Stopped`) state. // // - ECS instances stopped in economical mode may fail to be started due to insufficient resources. // // @param request - StartInstancesRequest // // @return StartInstancesResponse func (client *Client) StartInstances(request *StartInstancesRequest) (_result *StartInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &StartInstancesResponse{} _body, _err := client.StartInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates a session by using the session management feature. When you call this operation, you can include the ID of an Elastic Compute Service (ECS) instance in the request to create a WebSocket session for the instance. The URL of the WebSocket session returned by the operation can be used to connect to the instance. // // Description: // // ## [](#)Usage notes // // When you use custom code to connect to an ECS instance that serves as a client, you can call this operation to obtain the WebSocket URL that is used to connect to the instance. Take note of the following items: // // - The ECS instance must be in the Running state. // // - Cloud Assistant Agent must be installed on the ECS instance. You can call the [DescribeCloudAssistantStatus](https://help.aliyun.com/document_detail/87346.html) operation to check whether Cloud Assistant Agent is installed on the ECS instance and query the version number of the installed Cloud Assistant Agent. // // - If Cloud Assistant Agent is not installed on the ECS instance, call the [InstallCloudAssistant](https://help.aliyun.com/document_detail/85916.html) operation to install Cloud Assistant Agent. // // - The Cloud Assistant Agent versions that are later than the following ones support the session management feature. If you need to upgrade the Cloud Assistant Agent version, follow the instructions in [Upgrade or disable upgrades of Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). // // - Linux operating system: 2.2.3.256 // // - Windows operating system: 2.1.3.256 // // - Each WebSocket URL returned by the StartTerminalSession operation remains valid for 10 minutes. // // - If no data is transferred over a session within 3 minutes, Cloud Assistant closes the session connection. // // - Up to 1,000 sessions can be created and available in a region. Each ECS instance can have up to 20 sessions in the connected state. Each session supports a bandwidth of up to 200 Kbit/s. // // - The port forwarding feature supports only TCP port forwarding. UDP port forwarding is not supported. // // - If you want to permanently close a session and invalidate the WebSocket URL, call the EndTerminalSession operation. // // @param tmpReq - StartTerminalSessionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return StartTerminalSessionResponse func (client *Client) StartTerminalSessionWithOptions(tmpReq *StartTerminalSessionRequest, runtime *dara.RuntimeOptions) (_result *StartTerminalSessionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = tmpReq.Validate() if _err != nil { return _result, _err } } request := &StartTerminalSessionShrinkRequest{} openapiutil.Convert(tmpReq, request) if !dara.IsNil(tmpReq.EncryptionOptions) { request.EncryptionOptionsShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.EncryptionOptions, dara.String("EncryptionOptions"), dara.String("json")) } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.CommandLine) { query["CommandLine"] = request.CommandLine } if !dara.IsNil(request.ConnectionType) { query["ConnectionType"] = request.ConnectionType } if !dara.IsNil(request.EncryptionOptionsShrink) { query["EncryptionOptions"] = request.EncryptionOptionsShrink } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PasswordName) { query["PasswordName"] = request.PasswordName } if !dara.IsNil(request.PortNumber) { query["PortNumber"] = request.PortNumber } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.TargetServer) { query["TargetServer"] = request.TargetServer } if !dara.IsNil(request.Username) { query["Username"] = request.Username } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("StartTerminalSession"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &StartTerminalSessionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates a session by using the session management feature. When you call this operation, you can include the ID of an Elastic Compute Service (ECS) instance in the request to create a WebSocket session for the instance. The URL of the WebSocket session returned by the operation can be used to connect to the instance. // // Description: // // ## [](#)Usage notes // // When you use custom code to connect to an ECS instance that serves as a client, you can call this operation to obtain the WebSocket URL that is used to connect to the instance. Take note of the following items: // // - The ECS instance must be in the Running state. // // - Cloud Assistant Agent must be installed on the ECS instance. You can call the [DescribeCloudAssistantStatus](https://help.aliyun.com/document_detail/87346.html) operation to check whether Cloud Assistant Agent is installed on the ECS instance and query the version number of the installed Cloud Assistant Agent. // // - If Cloud Assistant Agent is not installed on the ECS instance, call the [InstallCloudAssistant](https://help.aliyun.com/document_detail/85916.html) operation to install Cloud Assistant Agent. // // - The Cloud Assistant Agent versions that are later than the following ones support the session management feature. If you need to upgrade the Cloud Assistant Agent version, follow the instructions in [Upgrade or disable upgrades of Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). // // - Linux operating system: 2.2.3.256 // // - Windows operating system: 2.1.3.256 // // - Each WebSocket URL returned by the StartTerminalSession operation remains valid for 10 minutes. // // - If no data is transferred over a session within 3 minutes, Cloud Assistant closes the session connection. // // - Up to 1,000 sessions can be created and available in a region. Each ECS instance can have up to 20 sessions in the connected state. Each session supports a bandwidth of up to 200 Kbit/s. // // - The port forwarding feature supports only TCP port forwarding. UDP port forwarding is not supported. // // - If you want to permanently close a session and invalidate the WebSocket URL, call the EndTerminalSession operation. // // @param request - StartTerminalSessionRequest // // @return StartTerminalSessionResponse func (client *Client) StartTerminalSession(request *StartTerminalSessionRequest) (_result *StartTerminalSessionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &StartTerminalSessionResponse{} _body, _err := client.StartTerminalSessionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Stops an Elastic Compute Service (ECS) instance. You can specify parameters to determine whether to forcefully stop the instance and the stop mode. // // Description: // // This operation is an asynchronous operation. After you call this operation to stop an ECS instance, the operation sets the status of the ECS instance to Stopping and begins the stop process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the ECS instance. When the status of the ECS instance changes to `Stopped`, the instance is stopped. // // ### [](#)Precautions // // - You cannot call this operation to stop an ECS instance that is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - After you enable the default economical mode for all pay-as-you-go ECS instances located in virtual private clouds (VPCs) in your account, you can set `StoppedMode` to KeepCharging for the ECS instance that you want to stop to enable standard mode. This way, the ECS instance continues to be billed after the instance is stopped. The instance type resources and public IP address of the instance are retained. // // @param request - StopInstanceRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return StopInstanceResponse func (client *Client) StopInstanceWithOptions(request *StopInstanceRequest, runtime *dara.RuntimeOptions) (_result *StopInstanceResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ConfirmStop) { query["ConfirmStop"] = request.ConfirmStop } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.ForceStop) { query["ForceStop"] = request.ForceStop } if !dara.IsNil(request.Hibernate) { query["Hibernate"] = request.Hibernate } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StoppedMode) { query["StoppedMode"] = request.StoppedMode } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("StopInstance"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &StopInstanceResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Stops an Elastic Compute Service (ECS) instance. You can specify parameters to determine whether to forcefully stop the instance and the stop mode. // // Description: // // This operation is an asynchronous operation. After you call this operation to stop an ECS instance, the operation sets the status of the ECS instance to Stopping and begins the stop process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the ECS instance. When the status of the ECS instance changes to `Stopped`, the instance is stopped. // // ### [](#)Precautions // // - You cannot call this operation to stop an ECS instance that is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // - After you enable the default economical mode for all pay-as-you-go ECS instances located in virtual private clouds (VPCs) in your account, you can set `StoppedMode` to KeepCharging for the ECS instance that you want to stop to enable standard mode. This way, the ECS instance continues to be billed after the instance is stopped. The instance type resources and public IP address of the instance are retained. // // @param request - StopInstanceRequest // // @return StopInstanceResponse func (client *Client) StopInstance(request *StopInstanceRequest) (_result *StopInstanceResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &StopInstanceResponse{} _body, _err := client.StopInstanceWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Stops Elastic Compute Service (ECS) instances. You can specify parameters to determine whether to forcefully stop the instances and the stop mode. // // Description: // // This operation is an asynchronous operation. After you call this operation to stop an ECS instance, the operation sets the status of the ECS instance to Stopping and begins the stop process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the ECS instance. When the status of the ECS instance changes to `Stopped`, the instance is stopped. // // ### [](#)Considerations // // - The instance is unavailable after you stop the instance. Make sure that stopping the instance does not affect your business. You can also call the [StartInstance](https://help.aliyun.com/document_detail/2679679.html) or [StartInstances](https://help.aliyun.com/document_detail/2679680.html) operation to start the instance. // // - You cannot call this operation to stop ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // @param request - StopInstancesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return StopInstancesResponse func (client *Client) StopInstancesWithOptions(request *StopInstancesRequest, runtime *dara.RuntimeOptions) (_result *StopInstancesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.BatchOptimization) { query["BatchOptimization"] = request.BatchOptimization } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.ForceStop) { query["ForceStop"] = request.ForceStop } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.StoppedMode) { query["StoppedMode"] = request.StoppedMode } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("StopInstances"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &StopInstancesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Stops Elastic Compute Service (ECS) instances. You can specify parameters to determine whether to forcefully stop the instances and the stop mode. // // Description: // // This operation is an asynchronous operation. After you call this operation to stop an ECS instance, the operation sets the status of the ECS instance to Stopping and begins the stop process. You can call the [DescribeInstanceStatus](https://help.aliyun.com/document_detail/2679688.html) operation to query the status of the ECS instance. When the status of the ECS instance changes to `Stopped`, the instance is stopped. // // ### [](#)Considerations // // - The instance is unavailable after you stop the instance. Make sure that stopping the instance does not affect your business. You can also call the [StartInstance](https://help.aliyun.com/document_detail/2679679.html) or [StartInstances](https://help.aliyun.com/document_detail/2679680.html) operation to start the instance. // // - You cannot call this operation to stop ECS instances that are locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](https://help.aliyun.com/document_detail/25695.html). // // @param request - StopInstancesRequest // // @return StopInstancesResponse func (client *Client) StopInstances(request *StopInstancesRequest) (_result *StopInstancesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &StopInstancesResponse{} _body, _err := client.StopInstancesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // \\ - If you stop the process of a command that runs only once, the executions that have started are not interrupted. The executions that have not started are canceled. // // \\ - If you stop the process of a scheduled invocation command, the executions that have started are not interrupted. However, the execution does not start in the next period. // // Description: // // ## [](#)Usage notes // // - If you stop the process of a command that runs only once, the executions that have started are not interrupted. The executions that have not started are canceled. // // - If you stop the process of a command that runs on a schedule, the executions that have started are not interrupted. Subsequent executions are not scheduled. // // @param request - StopInvocationRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return StopInvocationResponse func (client *Client) StopInvocationWithOptions(request *StopInvocationRequest, runtime *dara.RuntimeOptions) (_result *StopInvocationResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InvokeId) { query["InvokeId"] = request.InvokeId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("StopInvocation"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &StopInvocationResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // \\ - If you stop the process of a command that runs only once, the executions that have started are not interrupted. The executions that have not started are canceled. // // \\ - If you stop the process of a scheduled invocation command, the executions that have started are not interrupted. However, the execution does not start in the next period. // // Description: // // ## [](#)Usage notes // // - If you stop the process of a command that runs only once, the executions that have started are not interrupted. The executions that have not started are canceled. // // - If you stop the process of a command that runs on a schedule, the executions that have started are not interrupted. Subsequent executions are not scheduled. // // @param request - StopInvocationRequest // // @return StopInvocationResponse func (client *Client) StopInvocation(request *StopInvocationRequest) (_result *StopInvocationResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &StopInvocationResponse{} _body, _err := client.StopInvocationWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Creates and adds tags to Elastic Compute Service (ECS) resources. // // Description: // // ## [](#)Usage notes // // Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number of tags is reached, an error message is returned. For more information, see [Tag limits](https://help.aliyun.com/document_detail/25412.html). // // @param request - TagResourcesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return TagResourcesResponse func (client *Client) TagResourcesWithOptions(request *TagResourcesRequest, runtime *dara.RuntimeOptions) (_result *TagResourcesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.Tag) { query["Tag"] = request.Tag } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("TagResources"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &TagResourcesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Creates and adds tags to Elastic Compute Service (ECS) resources. // // Description: // // ## [](#)Usage notes // // Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number of tags is reached, an error message is returned. For more information, see [Tag limits](https://help.aliyun.com/document_detail/25412.html). // // @param request - TagResourcesRequest // // @return TagResourcesResponse func (client *Client) TagResources(request *TagResourcesRequest) (_result *TagResourcesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &TagResourcesResponse{} _body, _err := client.TagResourcesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI TerminatePhysicalConnection is deprecated, please use Vpc::2016-04-28::TerminatePhysicalConnection instead. // // Summary: // // # TerminatePhysicalConnection // // @param request - TerminatePhysicalConnectionRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return TerminatePhysicalConnectionResponse func (client *Client) TerminatePhysicalConnectionWithOptions(request *TerminatePhysicalConnectionRequest, runtime *dara.RuntimeOptions) (_result *TerminatePhysicalConnectionResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PhysicalConnectionId) { query["PhysicalConnectionId"] = request.PhysicalConnectionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("TerminatePhysicalConnection"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &TerminatePhysicalConnectionResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI TerminatePhysicalConnection is deprecated, please use Vpc::2016-04-28::TerminatePhysicalConnection instead. // // Summary: // // # TerminatePhysicalConnection // // @param request - TerminatePhysicalConnectionRequest // // @return TerminatePhysicalConnectionResponse // Deprecated func (client *Client) TerminatePhysicalConnection(request *TerminatePhysicalConnectionRequest) (_result *TerminatePhysicalConnectionResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &TerminatePhysicalConnectionResponse{} _body, _err := client.TerminatePhysicalConnectionWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI TerminateVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::TerminateVirtualBorderRouter instead. // // Summary: // // # TerminateVirtualBorderRouter // // @param request - TerminateVirtualBorderRouterRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return TerminateVirtualBorderRouterResponse func (client *Client) TerminateVirtualBorderRouterWithOptions(request *TerminateVirtualBorderRouterRequest, runtime *dara.RuntimeOptions) (_result *TerminateVirtualBorderRouterResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.UserCidr) { query["UserCidr"] = request.UserCidr } if !dara.IsNil(request.VbrId) { query["VbrId"] = request.VbrId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("TerminateVirtualBorderRouter"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &TerminateVirtualBorderRouterResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI TerminateVirtualBorderRouter is deprecated, please use Vpc::2016-04-28::TerminateVirtualBorderRouter instead. // // Summary: // // # TerminateVirtualBorderRouter // // @param request - TerminateVirtualBorderRouterRequest // // @return TerminateVirtualBorderRouterResponse // Deprecated func (client *Client) TerminateVirtualBorderRouter(request *TerminateVirtualBorderRouterRequest) (_result *TerminateVirtualBorderRouterResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &TerminateVirtualBorderRouterResponse{} _body, _err := client.TerminateVirtualBorderRouterWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Unassigns one or more IPv6 addresses from an elastic network interface (ENI). // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - The ENI must be in the **Available* - (Available) or **InUse* - (InUse) state. // // - If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running* - (Running) or **Stopped* - (Stopped) state. // // @param request - UnassignIpv6AddressesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return UnassignIpv6AddressesResponse func (client *Client) UnassignIpv6AddressesWithOptions(request *UnassignIpv6AddressesRequest, runtime *dara.RuntimeOptions) (_result *UnassignIpv6AddressesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Ipv6Address) { query["Ipv6Address"] = request.Ipv6Address } if !dara.IsNil(request.Ipv6Prefix) { query["Ipv6Prefix"] = request.Ipv6Prefix } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("UnassignIpv6Addresses"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &UnassignIpv6AddressesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Unassigns one or more IPv6 addresses from an elastic network interface (ENI). // // Description: // // ## [](#)Usage notes // // Take note of the following items: // // - The ENI must be in the **Available* - (Available) or **InUse* - (InUse) state. // // - If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running* - (Running) or **Stopped* - (Stopped) state. // // @param request - UnassignIpv6AddressesRequest // // @return UnassignIpv6AddressesResponse func (client *Client) UnassignIpv6Addresses(request *UnassignIpv6AddressesRequest) (_result *UnassignIpv6AddressesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &UnassignIpv6AddressesResponse{} _body, _err := client.UnassignIpv6AddressesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Unassigns secondary private IP addresses from an elastic network interface (ENI). // // Description: // // ## [](#)Usage notes // // - The ENI from which to unassign secondary private IP addresses must be in the **Available* - (Available) or **InUse* - (InUse) state. // // - If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running* - (Running) or **Stopped* - (Stopped) state. // // @param request - UnassignPrivateIpAddressesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return UnassignPrivateIpAddressesResponse func (client *Client) UnassignPrivateIpAddressesWithOptions(request *UnassignPrivateIpAddressesRequest, runtime *dara.RuntimeOptions) (_result *UnassignPrivateIpAddressesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.Ipv4Prefix) { query["Ipv4Prefix"] = request.Ipv4Prefix } if !dara.IsNil(request.NetworkInterfaceId) { query["NetworkInterfaceId"] = request.NetworkInterfaceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.PrivateIpAddress) { query["PrivateIpAddress"] = request.PrivateIpAddress } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("UnassignPrivateIpAddresses"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &UnassignPrivateIpAddressesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Unassigns secondary private IP addresses from an elastic network interface (ENI). // // Description: // // ## [](#)Usage notes // // - The ENI from which to unassign secondary private IP addresses must be in the **Available* - (Available) or **InUse* - (InUse) state. // // - If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running* - (Running) or **Stopped* - (Stopped) state. // // @param request - UnassignPrivateIpAddressesRequest // // @return UnassignPrivateIpAddressesResponse func (client *Client) UnassignPrivateIpAddresses(request *UnassignPrivateIpAddressesRequest) (_result *UnassignPrivateIpAddressesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &UnassignPrivateIpAddressesResponse{} _body, _err := client.UnassignPrivateIpAddressesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI UnassociateEipAddress is deprecated, please use Vpc::2016-04-28::UnassociateEipAddress instead. // // Summary: // // # UnassociateEipAddress // // @param request - UnassociateEipAddressRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return UnassociateEipAddressResponse func (client *Client) UnassociateEipAddressWithOptions(request *UnassociateEipAddressRequest, runtime *dara.RuntimeOptions) (_result *UnassociateEipAddressResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.AllocationId) { query["AllocationId"] = request.AllocationId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.InstanceType) { query["InstanceType"] = request.InstanceType } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("UnassociateEipAddress"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &UnassociateEipAddressResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI UnassociateEipAddress is deprecated, please use Vpc::2016-04-28::UnassociateEipAddress instead. // // Summary: // // # UnassociateEipAddress // // @param request - UnassociateEipAddressRequest // // @return UnassociateEipAddressResponse // Deprecated func (client *Client) UnassociateEipAddress(request *UnassociateEipAddressRequest) (_result *UnassociateEipAddressResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &UnassociateEipAddressResponse{} _body, _err := client.UnassociateEipAddressWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Deprecated: OpenAPI UnassociateHaVip is deprecated, please use Vpc::2016-04-28::UnassociateHaVip instead. // // Summary: // // # UnassociateHaVip // // @param request - UnassociateHaVipRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return UnassociateHaVipResponse func (client *Client) UnassociateHaVipWithOptions(request *UnassociateHaVipRequest, runtime *dara.RuntimeOptions) (_result *UnassociateHaVipResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.Force) { query["Force"] = request.Force } if !dara.IsNil(request.HaVipId) { query["HaVipId"] = request.HaVipId } if !dara.IsNil(request.InstanceId) { query["InstanceId"] = request.InstanceId } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("UnassociateHaVip"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &UnassociateHaVipResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Deprecated: OpenAPI UnassociateHaVip is deprecated, please use Vpc::2016-04-28::UnassociateHaVip instead. // // Summary: // // # UnassociateHaVip // // @param request - UnassociateHaVipRequest // // @return UnassociateHaVipResponse // Deprecated func (client *Client) UnassociateHaVip(request *UnassociateHaVipRequest) (_result *UnassociateHaVipResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &UnassociateHaVipResponse{} _body, _err := client.UnassociateHaVipWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Unlock snapshots that are locked in compliance mode but are still in a cooling-off period. If the snapshot is locked in compliance mode and the cooling-off period has ended, it cannot be unlocked. // // @param request - UnlockSnapshotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return UnlockSnapshotResponse func (client *Client) UnlockSnapshotWithOptions(request *UnlockSnapshotRequest, runtime *dara.RuntimeOptions) (_result *UnlockSnapshotResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.ClientToken) { query["ClientToken"] = request.ClientToken } if !dara.IsNil(request.DryRun) { query["DryRun"] = request.DryRun } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.SnapshotId) { query["SnapshotId"] = request.SnapshotId } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("UnlockSnapshot"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &UnlockSnapshotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Unlock snapshots that are locked in compliance mode but are still in a cooling-off period. If the snapshot is locked in compliance mode and the cooling-off period has ended, it cannot be unlocked. // // @param request - UnlockSnapshotRequest // // @return UnlockSnapshotResponse func (client *Client) UnlockSnapshot(request *UnlockSnapshotRequest) (_result *UnlockSnapshotResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &UnlockSnapshotResponse{} _body, _err := client.UnlockSnapshotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // Removes tags from Elastic Compute Service (ECS) resources. After a tag is removed from a resource, the tag is automatically deleted if it is not added to other resources. // // @param request - UntagResourcesRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return UntagResourcesResponse func (client *Client) UntagResourcesWithOptions(request *UntagResourcesRequest, runtime *dara.RuntimeOptions) (_result *UntagResourcesResponse, _err error) { if dara.BoolValue(client.EnableValidate) == true { _err = request.Validate() if _err != nil { return _result, _err } } query := map[string]interface{}{} if !dara.IsNil(request.All) { query["All"] = request.All } if !dara.IsNil(request.OwnerAccount) { query["OwnerAccount"] = request.OwnerAccount } if !dara.IsNil(request.OwnerId) { query["OwnerId"] = request.OwnerId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.RegionId) { query["RegionId"] = request.RegionId } if !dara.IsNil(request.ResourceId) { query["ResourceId"] = request.ResourceId } if !dara.IsNil(request.ResourceOwnerAccount) { query["ResourceOwnerAccount"] = request.ResourceOwnerAccount } if !dara.IsNil(request.ResourceOwnerId) { query["ResourceOwnerId"] = request.ResourceOwnerId } if !dara.IsNil(request.ResourceType) { query["ResourceType"] = request.ResourceType } if !dara.IsNil(request.TagKey) { query["TagKey"] = request.TagKey } req := &openapiutil.OpenApiRequest{ Query: openapiutil.Query(query), } params := &openapiutil.Params{ Action: dara.String("UntagResources"), Version: dara.String("2014-05-26"), Protocol: dara.String("HTTPS"), Pathname: dara.String("/"), Method: dara.String("POST"), AuthType: dara.String("AK"), Style: dara.String("RPC"), ReqBodyType: dara.String("formData"), BodyType: dara.String("json"), } _result = &UntagResourcesResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = dara.Convert(_body, &_result) return _result, _err } // Summary: // // Removes tags from Elastic Compute Service (ECS) resources. After a tag is removed from a resource, the tag is automatically deleted if it is not added to other resources. // // @param request - UntagResourcesRequest // // @return UntagResourcesResponse func (client *Client) UntagResources(request *UntagResourcesRequest) (_result *UntagResourcesResponse, _err error) { runtime := &dara.RuntimeOptions{} _result = &UntagResourcesResponse{} _body, _err := client.UntagResourcesWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err }