UNPKG

node-ovh-ts

Version:

OVH API wrapper library for TypeScript

1 lines 104 kB
{"version":3,"sources":["../src/handlers/DedicatedCloud.ts"],"sourcesContent":["/* WARNING: This file is auto-generated . Do not edit manually. */\n\nimport { DedicatedCloudRobot } from '../models/DedicatedCloudRobot';\nimport { DedicatedCloudUserLogoutPolicyEnum } from '../models/DedicatedCloudUserLogoutPolicyEnum';\nimport { DedicatedCloudFilerProfile } from '../models/DedicatedCloudFilerProfile';\nimport { DedicatedCloudObjectRight } from '../models/DedicatedCloudObjectRight';\nimport { DedicatedCloudRestorePoint } from '../models/DedicatedCloudRestorePoint';\nimport { DedicatedCloudTwoFAWhitelist } from '../models/DedicatedCloudTwoFAWhitelist';\nimport { DedicatedCloudHost } from '../models/DedicatedCloudHost';\nimport { DedicatedCloudUserAccessPolicyEnum } from '../models/DedicatedCloudUserAccessPolicyEnum';\nimport { DedicatedCloudHostProfile } from '../models/DedicatedCloudHostProfile';\nimport { DedicatedCloudTaskStateEnum } from '../models/DedicatedCloudTaskStateEnum';\nimport { DedicatedCloudAllowedNetwork } from '../models/DedicatedCloudAllowedNetwork';\nimport { DedicatedCloudBackupBackupDaysEnum } from '../models/DedicatedCloudBackupBackupDaysEnum';\nimport { DedicatedCloudSecurityOption } from '../models/DedicatedCloudSecurityOption';\nimport { DedicatedCloudDisasterRecoveryZertoProtectedVm } from '../models/DedicatedCloudDisasterRecoveryZertoProtectedVm';\nimport { DedicatedCloudHds } from '../models/DedicatedCloudHds';\nimport { DedicatedCloudCommercialRange } from '../models/DedicatedCloudCommercialRange';\nimport { DedicatedCloudRightUserObjectRightTypeEnum } from '../models/DedicatedCloudRightUserObjectRightTypeEnum';\nimport { DedicatedCloudBackupOptimizeProxies } from '../models/DedicatedCloudBackupOptimizeProxies';\nimport { DedicatedCloudPccStockProfile } from '../models/DedicatedCloudPccStockProfile';\nimport { DedicatedCloudBackupJob } from '../models/DedicatedCloudBackupJob';\nimport { DedicatedCloudHostStockProfile } from '../models/DedicatedCloudHostStockProfile';\nimport { DedicatedCloudVMEncryption } from '../models/DedicatedCloudVMEncryption';\nimport { DedicatedCloudDisasterRecoveryProfile } from '../models/DedicatedCloudDisasterRecoveryProfile';\nimport { DedicatedCloudBackupRepository } from '../models/DedicatedCloudBackupRepository';\nimport { ServiceTerminationFutureUseEnum } from '../models/ServiceTerminationFutureUseEnum';\nimport { DedicatedCloudRightNetworkRoleEnum } from '../models/DedicatedCloudRightNetworkRoleEnum';\nimport { DedicatedCloudPrivateGateway } from '../models/DedicatedCloudPrivateGateway';\nimport { VrackTask } from '../models/VrackTask';\nimport { DedicatedCloudFederationAccessNetwork } from '../models/DedicatedCloudFederationAccessNetwork';\nimport { DedicatedCloudOs } from '../models/DedicatedCloudOs';\nimport { DedicatedCloudVendorObjectTypeEnum } from '../models/DedicatedCloudVendorObjectTypeEnum';\nimport { DedicatedCloudOptionCompatibility } from '../models/DedicatedCloudOptionCompatibility';\nimport { DedicatedCloudBackupOfferTypeEnum } from '../models/DedicatedCloudBackupOfferTypeEnum';\nimport { ServiceTerminationReasonEnum } from '../models/ServiceTerminationReasonEnum';\nimport { DedicatedCloudFiler } from '../models/DedicatedCloudFiler';\nimport { DedicatedCloudVrops } from '../models/DedicatedCloudVrops';\nimport { DedicatedCloudFederation } from '../models/DedicatedCloudFederation';\nimport { ServicesService } from '../models/ServicesService';\nimport { DedicatedCloudServicePack } from '../models/DedicatedCloudServicePack';\nimport { DedicatedCloudBackup } from '../models/DedicatedCloudBackup';\nimport { DedicatedCloudFilerNodeTypeEnum } from '../models/DedicatedCloudFilerNodeTypeEnum';\nimport { DedicatedCloudFilerHourlyConsumption } from '../models/DedicatedCloudFilerHourlyConsumption';\nimport { DedicatedCloudDatacenter } from '../models/DedicatedCloudDatacenter';\nimport { DedicatedCloudVendor } from '../models/DedicatedCloudVendor';\nimport { DedicatedCloudSecurityOptionSecurityOptionEnum } from '../models/DedicatedCloudSecurityOptionSecurityOptionEnum';\nimport { DedicatedCloudRight } from '../models/DedicatedCloudRight';\nimport { DedicatedCloudPccZone } from '../models/DedicatedCloudPccZone';\nimport { DedicatedCloudHostHourlyConsumption } from '../models/DedicatedCloudHostHourlyConsumption';\nimport { DedicatedCloudResourceNewPrices } from '../models/DedicatedCloudResourceNewPrices';\nimport { DedicatedCloudIp } from '../models/DedicatedCloudIp';\nimport { DedicatedCloudVcenter } from '../models/DedicatedCloudVcenter';\nimport { DedicatedCloudVlan } from '../models/DedicatedCloudVlan';\nimport { DedicatedCloudHcx } from '../models/DedicatedCloudHcx';\nimport { DedicatedCloudNsxt } from '../models/DedicatedCloudNsxt';\nimport { DedicatedCloudVMEncryptionAccessNetwork } from '../models/DedicatedCloudVMEncryptionAccessNetwork';\nimport { DedicatedCloudUser } from '../models/DedicatedCloudUser';\nimport { DedicatedCloudCapabilities } from '../models/DedicatedCloudCapabilities';\nimport { VrackDedicatedCloud } from '../models/VrackDedicatedCloud';\nimport { DedicatedCloudHostResilience } from '../models/DedicatedCloudHostResilience';\nimport { DedicatedCloudIpDetails } from '../models/DedicatedCloudIpDetails';\nimport { DedicatedCloudRightVmNetworkRoleEnum } from '../models/DedicatedCloudRightVmNetworkRoleEnum';\nimport { DedicatedCloudDedicatedCloud } from '../models/DedicatedCloudDedicatedCloud';\nimport { DedicatedCloudHostLocation } from '../models/DedicatedCloudHostLocation';\nimport { DedicatedCloudSecurityOptionDependenciesTree } from '../models/DedicatedCloudSecurityOptionDependenciesTree';\nimport { DedicatedCloudReleaseEnum } from '../models/DedicatedCloudReleaseEnum';\nimport { DedicatedCloudPciDss } from '../models/DedicatedCloudPciDss';\nimport { DedicatedCloudNsx } from '../models/DedicatedCloudNsx';\nimport { DedicatedCloudHipaa } from '../models/DedicatedCloudHipaa';\nimport { DedicatedCloudVm } from '../models/DedicatedCloudVm';\nimport { DedicatedCloudPasswordPolicy } from '../models/DedicatedCloudPasswordPolicy';\nimport { DedicatedCloudBackupBackupCapabilities } from '../models/DedicatedCloudBackupBackupCapabilities';\nimport { DedicatedCloudIpCountriesEnum } from '../models/DedicatedCloudIpCountriesEnum';\nimport { DedicatedCloudSecurityOptionCompatibilityMatrixEntry } from '../models/DedicatedCloudSecurityOptionCompatibilityMatrixEntry';\nimport { DedicatedCloudServicePackStatus } from '../models/DedicatedCloudServicePackStatus';\nimport { DedicatedCloudVendorOvhId } from '../models/DedicatedCloudVendorOvhId';\nimport { DedicatedCloudRightRightEnum } from '../models/DedicatedCloudRightRightEnum';\nimport { DedicatedCloudZpoolStockProfile } from '../models/DedicatedCloudZpoolStockProfile';\nimport { DedicatedCloudFilerLocation } from '../models/DedicatedCloudFilerLocation';\nimport { DedicatedCloudCluster } from '../models/DedicatedCloudCluster';\nimport { DedicatedCloudCompliantRanges } from '../models/DedicatedCloudCompliantRanges';\nimport { DedicatedCloudTask } from '../models/DedicatedCloudTask';\nimport { DedicatedCloudMetricsToken } from '../models/DedicatedCloudMetricsToken';\nimport OVHBase from '../ovh';\n\nclass DedicatedCloudHandler {\n ovh: OVHBase;\n\n constructor(ovh: OVHBase) {\n this.ovh = ovh;\n }\n\n /** List available services */\n list = (): Promise<string[]> => {\n return this.ovh.request('GET', '/dedicatedCloud');\n };\n\n /** List of commercial Ranges available in a Dedicated Cloud */\n listCommercialRange = (): Promise<string[]> => {\n return this.ovh.request('GET', '/dedicatedCloud/commercialRange');\n };\n\n /** Get this object properties */\n getCommercialRangeByCommercialRangeName = (\n commercialRangeName: string\n ): Promise<DedicatedCloudCommercialRange> => {\n return this.ovh.request('GET', `/dedicatedCloud/commercialRange/${commercialRangeName}`);\n };\n\n /** List of locations available in a Dedicated Cloud */\n listLocation = (): Promise<string[]> => {\n return this.ovh.request('GET', '/dedicatedCloud/location');\n };\n\n /** Get this object properties */\n getLocationByPccZone = (pccZone: string): Promise<DedicatedCloudPccZone> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}`);\n };\n\n /** Offered host profile */\n getLocationHostProfileByPccZone = (pccZone: string): Promise<number[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}/hostProfile`);\n };\n\n /** Get this object properties */\n getLocationHostProfileByPccZoneAndId = (\n id: number,\n pccZone: string\n ): Promise<DedicatedCloudHostProfile> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}/hostProfile/${id}`);\n };\n\n /** Offered hypervisor version */\n getLocationHypervisorByPccZone = (pccZone: string): Promise<string[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}/hypervisor`);\n };\n\n /** Get this object properties */\n getLocationHypervisorByPccZoneAndShortName = (\n pccZone: string,\n shortName: string\n ): Promise<DedicatedCloudOs> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}/hypervisor/${shortName}`);\n };\n\n /** Available host stock */\n getLocationStockHostByPccZone = (pccZone: string): Promise<DedicatedCloudHostStockProfile[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}/stock/host`);\n };\n\n /** Available PCC stock */\n getLocationStockPccByPccZone = (pccZone: string): Promise<DedicatedCloudPccStockProfile[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}/stock/pcc`);\n };\n\n /** Available zpool stock */\n getLocationStockZpoolByPccZone = (\n pccZone: string\n ): Promise<DedicatedCloudZpoolStockProfile[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/location/${pccZone}/stock/zpool`);\n };\n\n /** Get this object properties */\n getByServiceName = (serviceName: string): Promise<DedicatedCloudDedicatedCloud> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}`);\n };\n\n /** Alter this object properties */\n updateByServiceName = (\n serviceName: string,\n body: DedicatedCloudDedicatedCloud\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request('PUT', `/dedicatedCloud/${serviceName}`, body);\n };\n\n /** Networks allowed to access to this Dedicated Cloud management interface */\n getAllowedNetworkByServiceName = (serviceName: string): Promise<number[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/allowedNetwork`);\n };\n\n /** Create a new Allowed network for your dedicatedCloud */\n createAllowedNetworkByServiceName = (\n serviceName: string,\n body: { description?: string; network: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request('POST', `/dedicatedCloud/${serviceName}/allowedNetwork`, body);\n };\n\n /** Remove this network from your Dedicated Cloud */\n deleteAllowedNetworkByServiceNameAndNetworkAccessId = (\n networkAccessId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'DELETE',\n `/dedicatedCloud/${serviceName}/allowedNetwork/${networkAccessId}`\n );\n };\n\n /** Get this object properties */\n getAllowedNetworkByServiceNameAndNetworkAccessId = (\n networkAccessId: number,\n serviceName: string\n ): Promise<DedicatedCloudAllowedNetwork> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/allowedNetwork/${networkAccessId}`\n );\n };\n\n /** Alter this object properties */\n updateAllowedNetworkByServiceNameAndNetworkAccessId = (\n networkAccessId: number,\n serviceName: string,\n body: DedicatedCloudAllowedNetwork\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'PUT',\n `/dedicatedCloud/${serviceName}/allowedNetwork/${networkAccessId}`,\n body\n );\n };\n\n /** Tasks associated with this allowed network */\n getAllowedNetworkTaskByServiceNameAndNetworkAccessId = (\n networkAccessId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/allowedNetwork/${networkAccessId}/task`\n );\n };\n\n /** Get this object properties */\n getAllowedNetworkTaskByServiceNameAndNetworkAccessIdAndTaskId = (\n networkAccessId: number,\n serviceName: string,\n taskId: number\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/allowedNetwork/${networkAccessId}/task/${taskId}`\n );\n };\n\n /** Change the execution date of a maintenance. Works only if task type is maintenance and if it has not started yet. */\n updateAllowedNetworkTaskMaintenanceExecutionDateByServiceNameAndNetworkAccessIdAndTaskId = (\n networkAccessId: number,\n serviceName: string,\n taskId: number,\n body: { executionDate: Date }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/allowedNetwork/${networkAccessId}/task/${taskId}/changeMaintenanceExecutionDate`,\n body\n );\n };\n\n /** Restart task in error. */\n postAllowedNetworkTaskResetTaskStateByServiceNameAndNetworkAccessIdAndTaskId = (\n networkAccessId: number,\n serviceName: string,\n taskId: number,\n body: { reason: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/allowedNetwork/${networkAccessId}/task/${taskId}/resetTaskState`,\n body\n );\n };\n\n /** Backup repositories associated with this Pcc */\n getBackupRepositoryByServiceName = (serviceName: string): Promise<number[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/backupRepository`);\n };\n\n /** Get this object properties */\n getBackupRepositoryByServiceNameAndRepositoryId = (\n repositoryId: number,\n serviceName: string\n ): Promise<DedicatedCloudBackupRepository> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/backupRepository/${repositoryId}`\n );\n };\n\n /** Get this object properties */\n getCapabilitiesByServiceName = (serviceName: string): Promise<DedicatedCloudCapabilities> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/capabilities`);\n };\n\n /** Launch a contact change procedure */\n launchChangeContactByServiceName = (\n serviceName: string,\n body: { contactAdmin?: string; contactBilling?: string; contactTech?: string }\n ): Promise<number[]> => {\n return this.ovh.request('POST', `/dedicatedCloud/${serviceName}/changeContact`, body);\n };\n\n /** Update this Dedicated Cloud properties. */\n updateChangePropertiesByServiceName = (\n serviceName: string,\n body: {\n description?: string;\n sslV3?: boolean;\n userAccessPolicy?: DedicatedCloudUserAccessPolicyEnum;\n userLimitConcurrentSession?: number;\n userLogoutPolicy?: DedicatedCloudUserLogoutPolicyEnum;\n userSessionTimeout?: number;\n }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request('POST', `/dedicatedCloud/${serviceName}/changeProperties`, body);\n };\n\n /** Get the name of the commercial ranges compliant with your Dedicated Cloud */\n getCommercialRangeComplianceByServiceName = (\n serviceName: string\n ): Promise<DedicatedCloudCompliantRanges[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/commercialRange/compliance`);\n };\n\n /** Get the name of the commercial ranges orderable for your Dedicated Cloud */\n getCommercialRangeOrderableByServiceName = (serviceName: string): Promise<string[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/commercialRange/orderable`);\n };\n\n /** Confirm termination of your service */\n confirmTerminationByServiceName = (\n serviceName: string,\n body: {\n commentary?: string;\n futureUse?: ServiceTerminationFutureUseEnum;\n reason?: ServiceTerminationReasonEnum;\n token: string;\n }\n ): Promise<string> => {\n return this.ovh.request('POST', `/dedicatedCloud/${serviceName}/confirmTermination`, body);\n };\n\n /** Datacenters associated with this Dedicated Cloud */\n getDatacenterByServiceName = (serviceName: string): Promise<number[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/datacenter`);\n };\n\n /** Add a new Datacenter in your Dedicated Cloud */\n addDatacenterByServiceName = (\n serviceName: string,\n body: { commercialRangeName: string; vrackName?: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request('POST', `/dedicatedCloud/${serviceName}/datacenter`, body);\n };\n\n /** Remove this Datacenter from your Dedicated Cloud. (It has to be empty in order to be removable) */\n deleteDatacenterByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request('DELETE', `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}`);\n };\n\n /** Get this object properties */\n getDatacenterByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudDatacenter> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}`);\n };\n\n /** Alter this object properties */\n updateDatacenterByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: DedicatedCloudDatacenter\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'PUT',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}`,\n body\n );\n };\n\n /** Get this object properties */\n getDatacenterBackupByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudBackup> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup`\n );\n };\n\n /** Restores the last restore points for each backup located in the given backup repository to the given Datacenter */\n postDatacenterBackupBatchRestoreByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: { backupJobName?: string; backupRepositoryName: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/batchRestore`,\n body\n );\n };\n\n /** Generates recommendation for Backup Proxies optimization */\n getDatacenterBackupCanOptimizeProxiesByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudBackupOptimizeProxies> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/canOptimizeProxies`\n );\n };\n\n /** Edit the backup on a Dedicated Cloud */\n updateDatacenterBackupChangePropertiesByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: {\n backupDurationInReport: boolean;\n backupOffer: DedicatedCloudBackupOfferTypeEnum;\n backupSizeInReport: boolean;\n diskSizeInReport: boolean;\n fullDayInReport: boolean;\n mailAddress?: string;\n restorePointInReport: boolean;\n scheduleHour?: Date;\n }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/changeProperties`,\n body\n );\n };\n\n /** Disable backup solution on a Dedicated Cloud */\n disableDatacenterBackupByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/disable`\n );\n };\n\n /** Enable backup solution on a Dedicated Cloud */\n enableDatacenterBackupByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: { backupOffer?: DedicatedCloudBackupOfferTypeEnum }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/enable`,\n body\n );\n };\n\n /** Generates an email report with all the backups, their last restore point, their size and their location */\n postDatacenterBackupGenerateReportByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/generateReport`\n );\n };\n\n /** List backup offer capabilities */\n listDatacenterBackupOfferCapabilitiesByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudBackupBackupCapabilities[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/offerCapabilities`\n );\n };\n\n /** Optimizes number of Backup Proxies required for given Datacenter */\n postDatacenterBackupOptimizeProxiesByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backup/optimizeProxies`\n );\n };\n\n /** Backup repositories associated with this Datacenter */\n getDatacenterBackupRepositoryByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backupRepository`\n );\n };\n\n /** Get this object properties */\n getDatacenterBackupRepositoryByServiceNameAndDatacenterIdAndRepositoryId = (\n datacenterId: number,\n repositoryId: number,\n serviceName: string\n ): Promise<DedicatedCloudBackupRepository> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/backupRepository/${repositoryId}`\n );\n };\n\n /** Check whether your backup jobs are correctly set in your current datacenter, use this when your virtual machines have been migrated through another datacenter */\n checkDatacenterBackupJobsByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/checkBackupJobs`\n );\n };\n\n /** Clusters associated with this Datacenter */\n getDatacenterClusterByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/cluster`\n );\n };\n\n /** Get this object properties */\n getDatacenterClusterByServiceNameAndDatacenterIdAndId = (\n datacenterId: number,\n id: number,\n serviceName: string\n ): Promise<DedicatedCloudCluster> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/cluster/${id}`\n );\n };\n\n /** Disable Zerto */\n disableDatacenterDisasterRecoveryZertoByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: { secondaryDatacenterId: number; secondaryServiceName: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zerto/disable`,\n body\n );\n };\n\n /** Enable Zerto replication between 2 OVH dedicated Clouds */\n enableDatacenterDisasterRecoveryZertoByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: {\n primaryEndpointIp: string;\n secondaryDatacenterId: number;\n secondaryEndpointIp: string;\n secondaryServiceName: string;\n }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zerto/enable`,\n body\n );\n };\n\n /** Finish migrating Zerto option to this datacenter */\n postDatacenterDisasterRecoveryZertoEndMigrationByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zerto/endMigration`\n );\n };\n\n /** Start migrating Zerto option to this datacenter */\n postDatacenterDisasterRecoveryZertoStartMigrationByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zerto/startMigration`\n );\n };\n\n /** Get the current state of Zerto deployment on your dedicated Cloud. */\n getDatacenterDisasterRecoveryZertoStatusByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudDisasterRecoveryProfile> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zerto/status`\n );\n };\n\n /** Get the list of VMs protected by Zerto for a specific month on your dedicated Cloud. */\n getDatacenterDisasterRecoveryZertoUsageReportByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudDisasterRecoveryZertoProtectedVm[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zerto/usageReport`\n );\n };\n\n /** Configure vpn between your OVH Dedicated Cloud and your onsite infrastructure */\n postDatacenterDisasterRecoveryZertoSingleConfigureVpnByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: {\n preSharedKey: string;\n remoteEndpointInternalIp: string;\n remoteEndpointPublicIp: string;\n remoteVraNetwork?: string;\n remoteZvmInternalIp: string;\n }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zertoSingle/configureVpn`,\n body\n );\n };\n\n /** Get the default localVraNetwork subnet suggested by OVH */\n getDatacenterDisasterRecoveryZertoSingleDefaultLocalVraNetworkByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<string> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zertoSingle/defaultLocalVraNetwork`\n );\n };\n\n /** Disable Single site Zerto */\n disableDatacenterDisasterRecoveryZertoSingleByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zertoSingle/disable`\n );\n };\n\n /** Enable Zerto replication between your OVH Dedicated Cloud and your onsite infrastructure */\n enableDatacenterDisasterRecoveryZertoSingleByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: { localVraNetwork: string; ovhEndpointIp: string; remoteVraNetwork: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zertoSingle/enable`,\n body\n );\n };\n\n /** Request a pairing token in order to link your OVHcloud Zerto Virtual Manager to your local one */\n postDatacenterDisasterRecoveryZertoSingleRequestPairingTokenByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/disasterRecovery/zertoSingle/requestPairingToken`\n );\n };\n\n /** Filers associated with this Datacenter */\n getDatacenterFilerByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer`\n );\n };\n\n /** Get this object properties */\n getDatacenterFilerByServiceNameAndDatacenterIdAndFilerId = (\n datacenterId: number,\n filerId: number,\n serviceName: string\n ): Promise<DedicatedCloudFiler> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}`\n );\n };\n\n /** Check if filer on your Dedicated Cloud is capable of converting to global */\n checkDatacenterFilerGlobalCompatibleByServiceNameAndDatacenterIdAndFilerId = (\n datacenterId: number,\n filerId: number,\n serviceName: string\n ): Promise<boolean> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/checkGlobalCompatible`\n );\n };\n\n /** Change the filer type to global on your Dedicated Cloud. */\n updateDatacenterFilerConvertToGlobalByServiceNameAndDatacenterIdAndFilerId = (\n datacenterId: number,\n filerId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/convertToGlobal`\n );\n };\n\n /** Hourly consumption associated with this Filer */\n getDatacenterFilerHourlyConsumptionByServiceNameAndDatacenterIdAndFilerId = (\n datacenterId: number,\n filerId: number,\n serviceName: string\n ): Promise<DedicatedCloudFilerHourlyConsumption> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/hourlyConsumption`\n );\n };\n\n /** Location of the Filer */\n getDatacenterFilerLocationByServiceNameAndDatacenterIdAndFilerId = (\n datacenterId: number,\n filerId: number,\n serviceName: string\n ): Promise<DedicatedCloudFilerLocation> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/location`\n );\n };\n\n /** Remove the filer from your Dedicated Cloud. */\n postDatacenterFilerRemoveByServiceNameAndDatacenterIdAndFilerId = (\n datacenterId: number,\n filerId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/remove`\n );\n };\n\n /** Tasks associated with this Filer */\n getDatacenterFilerTaskByServiceNameAndDatacenterIdAndFilerId = (\n datacenterId: number,\n filerId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/task`\n );\n };\n\n /** Get this object properties */\n getDatacenterFilerTaskByServiceNameAndDatacenterIdAndFilerIdAndTaskId = (\n datacenterId: number,\n filerId: number,\n serviceName: string,\n taskId: number\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/task/${taskId}`\n );\n };\n\n /** Change the execution date of a maintenance. Works only if task type is maintenance and if it has not started yet. */\n updateDatacenterFilerTaskMaintenanceExecutionDateByServiceNameAndDatacenterIdAndFilerIdAndTaskId =\n (\n datacenterId: number,\n filerId: number,\n serviceName: string,\n taskId: number,\n body: { executionDate: Date }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/task/${taskId}/changeMaintenanceExecutionDate`,\n body\n );\n };\n\n /** Restart task in error. */\n postDatacenterFilerTaskResetTaskStateByServiceNameAndDatacenterIdAndFilerIdAndTaskId = (\n datacenterId: number,\n filerId: number,\n serviceName: string,\n taskId: number,\n body: { reason: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/filer/${filerId}/task/${taskId}/resetTaskState`,\n body\n );\n };\n\n /** Hosts associated with this Datacenter */\n getDatacenterHostByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host`\n );\n };\n\n /** Get this object properties */\n getDatacenterHostByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<DedicatedCloudHost> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}`\n );\n };\n\n /** Add a spare host to your Dedicated Cloud. */\n addDatacenterHostHostSpareByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string,\n body: { reason: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/addHostSpare`,\n body\n );\n };\n\n /** Hourly consumption associated with this host. */\n getDatacenterHostHourlyConsumptionByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<DedicatedCloudHostHourlyConsumption> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/hourlyConsumption`\n );\n };\n\n /** Location of the host */\n getDatacenterHostLocationByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<DedicatedCloudHostLocation> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/location`\n );\n };\n\n /** Remove the host from your Dedicated Cloud. */\n postDatacenterHostRemoveByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/remove`\n );\n };\n\n /** Get this object properties */\n getDatacenterHostResilienceByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<DedicatedCloudHostResilience> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/resilience`\n );\n };\n\n /** Check if resilience test can be performed */\n checkDatacenterHostResilienceCanBeEnabledByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<boolean> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/resilience/canBeEnabled`\n );\n };\n\n /** Disable resilience test (reconnect the network of your host) */\n disableDatacenterHostResilienceByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/resilience/disable`\n );\n };\n\n /** Enable resilience test (disconnnect the network of your host) */\n enableDatacenterHostResilienceByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string,\n body: { duration?: number }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/resilience/enable`,\n body\n );\n };\n\n /** Tasks associated with this Host */\n getDatacenterHostTaskByServiceNameAndDatacenterIdAndHostId = (\n datacenterId: number,\n hostId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/task`\n );\n };\n\n /** Get this object properties */\n getDatacenterHostTaskByServiceNameAndDatacenterIdAndHostIdAndTaskId = (\n datacenterId: number,\n hostId: number,\n serviceName: string,\n taskId: number\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/task/${taskId}`\n );\n };\n\n /** Change the execution date of a maintenance. Works only if task type is maintenance and if it has not started yet. */\n updateDatacenterHostTaskMaintenanceExecutionDateByServiceNameAndDatacenterIdAndHostIdAndTaskId = (\n datacenterId: number,\n hostId: number,\n serviceName: string,\n taskId: number,\n body: { executionDate: Date }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/task/${taskId}/changeMaintenanceExecutionDate`,\n body\n );\n };\n\n /** Restart task in error. */\n postDatacenterHostTaskResetTaskStateByServiceNameAndDatacenterIdAndHostIdAndTaskId = (\n datacenterId: number,\n hostId: number,\n serviceName: string,\n taskId: number,\n body: { reason: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/host/${hostId}/task/${taskId}/resetTaskState`,\n body\n );\n };\n\n /** Order a new hourly Filer in a given Datacenter */\n postDatacenterOrderNewFilerHourlyByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: { name: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/orderNewFilerHourly`,\n body\n );\n };\n\n /** Order a new hourly Host in a given Datacenter */\n postDatacenterOrderNewHostHourlyByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: { name: string; vmwareClusterId?: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/orderNewHostHourly`,\n body\n );\n };\n\n /** List available filers in a given Dedicated Cloud Datacenter */\n listDatacenterOrderableFilerProfilesByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudFilerProfile[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/orderableFilerProfiles`\n );\n };\n\n /** List available hosts in a given Dedicated Cloud Datacenter */\n listDatacenterOrderableHostProfilesByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudHostProfile[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/orderableHostProfiles`\n );\n };\n\n /** Get this object properties */\n getDatacenterPrivateGatewayByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudPrivateGateway> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/privateGateway`\n );\n };\n\n /** Remove the private gateway in your Dedicated Cloud and open public access. */\n postDatacenterPrivateGatewayDisableByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/privateGateway/disable`\n );\n };\n\n /** Deploy a private gateway on your Dedicated Cloud to block all public access */\n postDatacenterPrivateGatewayEnableByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string,\n body: { ip: string; netmask: string; portgroup: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/privateGateway/enable`,\n body\n );\n };\n\n /** Tasks associated with this Datacenter */\n getDatacenterTaskByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/task`\n );\n };\n\n /** Get this object properties */\n getDatacenterTaskByServiceNameAndDatacenterIdAndTaskId = (\n datacenterId: number,\n serviceName: string,\n taskId: number\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/task/${taskId}`\n );\n };\n\n /** Change the execution date of a maintenance. Works only if task type is maintenance and if it has not started yet. */\n updateDatacenterTaskMaintenanceExecutionDateByServiceNameAndDatacenterIdAndTaskId = (\n datacenterId: number,\n serviceName: string,\n taskId: number,\n body: { executionDate: Date }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/task/${taskId}/changeMaintenanceExecutionDate`,\n body\n );\n };\n\n /** Restart task in error. */\n postDatacenterTaskResetTaskStateByServiceNameAndDatacenterIdAndTaskId = (\n datacenterId: number,\n serviceName: string,\n taskId: number,\n body: { reason: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/task/${taskId}/resetTaskState`,\n body\n );\n };\n\n /** Virtual machiness associated with this Datacenter */\n getDatacenterVmByServiceNameAndDatacenterId = (\n datacenterId: number,\n serviceName: string\n ): Promise<number[]> => {\n return this.ovh.request('GET', `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm`);\n };\n\n /** Get this object properties */\n getDatacenterVmByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number\n ): Promise<DedicatedCloudVm> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}`\n );\n };\n\n /** Get this object properties */\n getDatacenterVmBackupJobByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number\n ): Promise<DedicatedCloudBackupJob> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/backupJob`\n );\n };\n\n /** Edit a backup job */\n updateDatacenterVmBackupJobByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number,\n body: { backupDays: DedicatedCloudBackupBackupDaysEnum[] }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/backupJob`,\n body\n );\n };\n\n /** Disable backup solution on this virtual Machine */\n disableDatacenterVmBackupJobByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/backupJob/disable`\n );\n };\n\n /** Enable backup solution on this virtual Machine */\n enableDatacenterVmBackupJobByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number,\n body: { backupDays: DedicatedCloudBackupBackupDaysEnum[] }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/backupJob/enable`,\n body\n );\n };\n\n /** Restore point associated to this Backup Job */\n getDatacenterVmBackupJobRestorePointsByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number\n ): Promise<number[]> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/backupJob/restorePoints`\n );\n };\n\n /** Get this object properties */\n getDatacenterVmBackupJobRestorePointsByServiceNameAndDatacenterIdAndVmIdAndRestorePointId = (\n datacenterId: number,\n restorePointId: number,\n serviceName: string,\n vmId: number\n ): Promise<DedicatedCloudRestorePoint> => {\n return this.ovh.request(\n 'GET',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/backupJob/restorePoints/${restorePointId}`\n );\n };\n\n /** Restore this restore point */\n postDatacenterVmBackupJobRestorePointsRestoreByServiceNameAndDatacenterIdAndVmIdAndRestorePointId =\n (\n datacenterId: number,\n restorePointId: number,\n serviceName: string,\n vmId: number,\n body: { filerId: number }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/backupJob/restorePoints/${restorePointId}/restore`,\n body\n );\n };\n\n /** Disable backup on this virtual Machine */\n disableDatacenterVmBackupByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/disableBackup`\n );\n };\n\n /** Disable Carp on Virtual Machine */\n disableDatacenterVmCarpByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number,\n body: { macAddress: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/disableCarp`,\n body\n );\n };\n\n /** Edit backup on this virtual Machine */\n updateDatacenterVmBackupByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number,\n body: { backupDays: DedicatedCloudBackupBackupDaysEnum[] }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/editBackup`,\n body\n );\n };\n\n /** Enable backup on this virtual Machine */\n enableDatacenterVmBackupByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number,\n body: { backupDays: DedicatedCloudBackupBackupDaysEnum[] }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/enableBackup`,\n body\n );\n };\n\n /** Enable Carp on Virtual Machine */\n enableDatacenterVmCarpByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number,\n body: { macAddress: string }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId}/vm/${vmId}/enableCarp`,\n body\n );\n };\n\n /** Restore this restore point */\n postDatacenterVmRestoreBackupByServiceNameAndDatacenterIdAndVmId = (\n datacenterId: number,\n serviceName: string,\n vmId: number,\n body: { filerId: number; restorePointId: number }\n ): Promise<DedicatedCloudTask> => {\n return this.ovh.request(\n 'POST',\n `/dedicatedCloud/${serviceName}/datacenter/${datacenterId