Achète une instance réservée. Les instances réservées s'appliquent automatiquement aux instances à la demande pour en déduire les frais de facturation.
Description
Avant d'appeler cette opération, assurez-vous de bien comprendre le mode de facturation des instances réservées. Pour plus d'informations, consultez la rubrique Instances réservées.
Avant d'acheter une instance réservée, appelez l'opération DescribeAvailableResource pour consulter les ressources d'instance disponibles.
Débogage
Paramètres de requête
| Parameter | Type | Required | Example | Description |
| Action | String | Yes | PurchaseReservedInstancesOffering | L'action à effectuer. Définissez la valeur sur PurchaseReservedInstancesOffering. |
| RegionId | String | Yes | cn-hangzhou | ID de la région où acheter l'instance réservée. Appelez l'opération DescribeRegions pour obtenir la liste des régions les plus récentes. |
| Tag.N.Key | String | No | TestKey | Clé du tag N à ajouter à l'instance réservée. Valeurs possibles pour N : 1 à 20. La clé du tag ne peut pas être une chaîne vide. Elle doit comporter au maximum 128 caractères et ne doit pas contenir |
| Tag.N.Value | String | No | TestValue | Valeur du tag N à ajouter à l'instance réservée. Valeurs possibles pour N : 1 à 20. La valeur du tag ne peut pas être une chaîne vide. Elle doit comporter au maximum 128 caractères et ne doit pas contenir |
| ResourceGroupId | String | No | rg-bp199lyny9b3**** | ID du groupe de ressources. |
| ZoneId | String | No | cn-hangzhou-g | ID de la zone où acheter l'instance réservée. Ce paramètre est requis si |
| ReservedInstanceName | String | No | testReservedInstanceName | Nom de l'instance réservée. Le nom doit comporter entre 2 et 128 caractères. Il doit commencer par une lettre et ne doit pas commencer par http:// ou https://. Le nom peut contenir des chiffres, des lettres, des deux-points (:), des traits de soulignement (_) et des tirets (-). |
| InstanceType | String | Yes | ecs.g5.large | Type d'instance. Pour plus d'informations, consultez la rubrique Familles d'instances. |
| Scope | String | No | Zone | Portée de l'instance réservée. Valeurs possibles :
Valeur par défaut : Region. |
| InstanceAmount | Integer | No | 3 | Nombre d'instances à la demande du même type auxquelles l'instance réservée peut s'appliquer simultanément. Valeurs possibles : 1 à 50. Par exemple, si InstanceAmount est défini sur 3 et InstanceType sur ecs.g5.large, l'instance réservée s'applique simultanément à trois instances à la demande ecs.g5.large. |
| OfferingType | String | No | All Upfront | Option de paiement de l'instance réservée. Valeurs possibles :
Valeur par défaut : All Upfront. |
| Description | String | No | testDescription | Description de l'instance réservée. La description doit comporter entre 2 et 256 caractères et ne doit pas commencer par http:// ou https://. Ce paramètre est vide par défaut. |
| Platform | String | No | Linux | Système d'exploitation de l'image utilisée par l'instance. Valeurs possibles :
Valeur par défaut : Linux. |
| Period | Integer | No | 1 | Durée de l'instance réservée. Valeurs possibles : 1 et 3. Valeur par défaut : 1. |
| PeriodUnit | String | No | Year | Unité de durée de l'instance réservée. Valeur possible : Year. Valeur par défaut : Year. |
| ClientToken | String | No | 123e4567-e89b-12d3-a456-426655440000 | Jeton client utilisé pour garantir l'idempotence de la requête. Générez la valeur via le client, mais assurez-vous qu'elle est unique pour chaque requête. La valeur ClientToken ne peut contenir que des caractères ASCII et ne doit pas dépasser 64 caractères. Pour plus d'informations, consultez la rubrique Comment garantir l'idempotence. |
| AutoRenew | Boolean | No | true | Indique s'il faut activer le renouvellement automatique pour l'instance réservée. true : active le renouvellement automatique pour l'instance réservée. false : désactive le renouvellement automatique pour l'instance réservée. |
| AutoRenewPeriod | Integer | No | 1 | Durée du renouvellement automatique de l'instance réservée. Ce paramètre prend effet uniquement si AutoRenew est défini sur true. Valeurs possibles : 12, 36. Valeur par défaut si PeriodUnit est défini sur Year : 12 |
Paramètres de réponse
| Parameter | Type | Example | Description |
| RequestId | String | 8C314443-AF0D-4766-9562-C83B7F1A3C8B |
ID de la requête. |
| ReservedInstanceIdSets | Array of String | ecsri-2ze53qonjqxg7r**** |
ID des instances réservées. |
Exemples
Exemple de requête
https://ecs.aliyuncs.com/?Action=PurchaseReservedInstancesOffering
&RegionId=cn-hangzhou
&Scope=Zone
&ZoneId=cn-hangzhou-a
&ReservedInstanceName=test
&InstanceType=ecs.g5.2xlarge
&InstanceAmount=1
&OfferingType=AllUpfront
&Period=1
&PeriodUnit=Year
&<Common request parameters>
Exemple de réponse réussie
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<PurchaseReservedInstancesOfferingResponse>
<RequestId>8C314443-AF0D-4766-9562-C83B7F1A3C8B</RequestId>
<ReservedInstanceIdSets>
<ReservedInstanceId>ecsri-2ze53qonjqxg7r****</ReservedInstanceId>
</ReservedInstanceIdSets>
</PurchaseReservedInstancesOfferingResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"ReservedInstanceIdSets" : {
"ReservedInstanceId" : [ "ecsri-2ze53qonjqxg7r****" ]
},
"RequestId" : "8C314443-AF0D-4766-9562-C83B7F1A3C8B"
}
Codes d'erreur
| HTTP status code | Error code | Error message | Description |
| 400 | InvalidInstanceType.ValueUnauthorized | The specified InstanceType is not authorized. | Vous n'êtes pas autorisé à utiliser le type d'instance spécifié. |
| 400 | InvalidDescription.Malformed | The specified parameter "Description" is not valid. | Le paramètre Description spécifié n'est pas valide. La description doit comporter entre 2 et 256 caractères et ne doit pas commencer par http:// ou https://. |
| 400 | InvalidParameter.Conflict | The specified region and cluster do not match. | La région et le cluster spécifiés ne correspondent pas. |
| 400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | Le paramètre Tag.N.Key spécifié n'est pas valide. |
| 400 | RegionUnauthorized | %s | Vous n'êtes pas autorisé à effectuer l'opération dans la région spécifiée. %s est une variable. Un message d'erreur est renvoyé dynamiquement en fonction des conditions d'appel. |
| 400 | Zone.NotOnSale | %s | Les ressources demandées ne sont pas disponibles dans la zone spécifiée. %s est une variable. Un message d'erreur est renvoyé dynamiquement en fonction des conditions d'appel. |
| 400 | InvalidPeriodUnit.ValueNotSupported | The specified parameter PeriodUnit is not valid. | Le paramètre PeriodUnit spécifié n'est pas valide. |
| 400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | Le paramètre Tag.N.Value spécifié n'est pas valide. |
| 400 | InvalidChargeType.ValueNotSupported | ChargeType is not valid. | Le mode de facturation spécifié n'est pas pris en charge. Définissez un mode de facturation pris en charge. |
| 400 | InvalidInstanceType.ValueNotSupported | The specified InstanceType beyond the permitted range. | Le paramètre InstanceType spécifié n'est pas valide. |
| 400 | InvalidInstanceType.ValueNotSupported | The specified InstanceType does not exist or beyond the permitted range. | Le paramètre InstanceType spécifié n'existe pas ou vous n'êtes pas autorisé à gérer des instances de ce type. |
| 403 | OperationDenied | The creation of Host to the specified Zone is not allowed. | Vous n'êtes pas autorisé à créer des hôtes dédiés dans la zone spécifiée. |
| 403 | OperationDenied.NoStock | The requested resource is sold out in the specified zone; try other types of resources or other regions and zones. | Les ressources demandées ne sont pas disponibles dans la zone spécifiée. Essayez un autre type d'instance ou une autre zone. Appelez l'opération DescribeZones pour interroger les ressources disponibles. |
| 403 | OperationDenied | Sales of this resource are temporarily suspended in the specified region; please try again later. | Les ressources demandées ne sont pas disponibles dans la région spécifiée. Réessayez ultérieurement. |
| 403 | NodeControllerUnavailable | The Node Controller is temporarily unavailable. | Le contrôleur de nœud n'est pas disponible. |
| 403 | OperationDenied | The resource is out of usage. | L'instance n'est pas dans l'état Running. Démarrez l'instance ou vérifiez si l'opération spécifiée est valide. |
| 403 | InvalidParameter.ResourceOwnerAccount | ResourceOwnerAccount is Invalid. | Le paramètre ResourceOwnerAccount spécifié n'est pas valide. |
| 403 | Zone.NotOpen | The specified zone is not granted to you to buy resources yet. | Vous n'êtes pas autorisé à acheter des ressources dans la zone spécifiée. |
| 403 | Zone.NotOnSale | The specified zone is not available for purchase. | Les ressources demandées ne sont pas disponibles dans la zone spécifiée. Essayez d'autres types d'instance ou sélectionnez d'autres régions ou zones. |
| 403 | InvalidParameter.NotMatch | %s | Un paramètre spécifié n'est pas valide. Vérifiez s'il existe des conflits de paramètres. |
| 403 | Account.Arrearage | Your account has been in arrears. | Le solde de votre compte est insuffisant. Approvisionnez votre compte Alibaba Cloud et réessayez. |
| 404 | PaymentMethodNotFound | No payment method has been registered on the account. | Vous n'avez pas configuré de méthode de paiement pour votre compte. |
| 500 | InternalError | The request processing has failed due to some unknown error. | Une erreur interne s'est produite. Réessayez ultérieurement. |
| 500 | InternalError | %s | Une erreur interne s'est produite. |
| 500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | Une erreur interne s'est produite. Réessayez ultérieurement. |
Pour obtenir la liste des codes d'erreur, consultez le Centre d'erreurs de l'API.