node-ovh-ts
Version:
OVH API wrapper library for TypeScript
1 lines • 35.6 kB
Source Map (JSON)
{"version":3,"sources":["../src/handlers/Ip.ts"],"sourcesContent":["/* WARNING: This file is auto-generated . Do not edit manually. */\n\nimport { IpLoadBalancingZoneEnum } from '../models/IpLoadBalancingZoneEnum';\nimport { IpCampus } from '../models/IpCampus';\nimport { IpGameMitigationRule } from '../models/IpGameMitigationRule';\nimport { ServicesService } from '../models/ServicesService';\nimport { IpServiceIp } from '../models/IpServiceIp';\nimport { ServiceTerminationFutureUseEnum } from '../models/ServiceTerminationFutureUseEnum';\nimport { IpMitigationStatsScaleEnum } from '../models/IpMitigationStatsScaleEnum';\nimport { IpReverseIp } from '../models/IpReverseIp';\nimport { IpSpamStats } from '../models/IpSpamStats';\nimport { IpFirewallRuleStateEnum } from '../models/IpFirewallRuleStateEnum';\nimport { IpLoadBalancingIpLoadBalancingPort } from '../models/IpLoadBalancingIpLoadBalancingPort';\nimport { IpMitigationStateEnum } from '../models/IpMitigationStateEnum';\nimport { IpFirewallSequenceRangeEnum } from '../models/IpFirewallSequenceRangeEnum';\nimport { IpMitigationIp } from '../models/IpMitigationIp';\nimport { IpIpVersionEnum } from '../models/IpIpVersionEnum';\nimport { IpIpTypeEnum } from '../models/IpIpTypeEnum';\nimport { IpFirewallNetworkRule } from '../models/IpFirewallNetworkRule';\nimport { IpArpStateEnum } from '../models/IpArpStateEnum';\nimport { IpMitigationProfile } from '../models/IpMitigationProfile';\nimport { IpLoadBalancingIp } from '../models/IpLoadBalancingIp';\nimport { IpMitigationStats } from '../models/IpMitigationStats';\nimport { IpFirewallActionEnum } from '../models/IpFirewallActionEnum';\nimport { IpDestinations } from '../models/IpDestinations';\nimport { IpRipeInfos } from '../models/IpRipeInfos';\nimport { IpSpamIp } from '../models/IpSpamIp';\nimport { IpLoadBalancingBackendProbeEnum } from '../models/IpLoadBalancingBackendProbeEnum';\nimport { IpLoadBalancingBackendIp } from '../models/IpLoadBalancingBackendIp';\nimport { IpMitigationProfileAutoMitigationTimeOutEnum } from '../models/IpMitigationProfileAutoMitigationTimeOutEnum';\nimport { IpSpamStateEnum } from '../models/IpSpamStateEnum';\nimport { IpLoadBalancingStickinessEnum } from '../models/IpLoadBalancingStickinessEnum';\nimport { IpTaskFunctionEnum } from '../models/IpTaskFunctionEnum';\nimport { IpIp } from '../models/IpIp';\nimport { IpLoadBalancingAdditionalPortEnum } from '../models/IpLoadBalancingAdditionalPortEnum';\nimport { IpGameMitigation } from '../models/IpGameMitigation';\nimport { IpLoadBalancingTask } from '../models/IpLoadBalancingTask';\nimport { IpIpMigrationToken } from '../models/IpIpMigrationToken';\nimport { IpAntiphishing } from '../models/IpAntiphishing';\nimport { IpAntiphishingStateEnum } from '../models/IpAntiphishingStateEnum';\nimport { IpReverseDelegation } from '../models/IpReverseDelegation';\nimport { IpFirewallIp } from '../models/IpFirewallIp';\nimport { IpTaskStatusEnum } from '../models/IpTaskStatusEnum';\nimport { IpMitigationDetailedStats } from '../models/IpMitigationDetailedStats';\nimport { ServiceTerminationReasonEnum } from '../models/ServiceTerminationReasonEnum';\nimport { IpLoadbalancingTaskTask } from '../models/IpLoadbalancingTaskTask';\nimport { IpArpBlockedIp } from '../models/IpArpBlockedIp';\nimport { IpGameMitigationRuleProtocolEnum } from '../models/IpGameMitigationRuleProtocolEnum';\nimport { IpFirewallOptionTCP } from '../models/IpFirewallOptionTCP';\nimport { IpBlockedIp } from '../models/IpBlockedIp';\nimport { IpBlockedIpStateEnum } from '../models/IpBlockedIpStateEnum';\nimport { IpFirewallProtocolEnum } from '../models/IpFirewallProtocolEnum';\nimport { IpFirewallStateEnum } from '../models/IpFirewallStateEnum';\nimport { IpIpTask } from '../models/IpIpTask';\nimport OVHBase from '../ovh';\n\nclass IpHandler {\n ovh: OVHBase;\n\n constructor(ovh: OVHBase) {\n this.ovh = ovh;\n }\n\n /** Your OVH IPs */\n get = (): Promise<string[]> => {\n return this.ovh.request('GET', '/ip');\n };\n\n /** Get IP campuses */\n getCampus = (): Promise<IpCampus[]> => {\n return this.ovh.request('GET', '/ip/campus');\n };\n\n /** List available services */\n listLoadBalancing = (): Promise<string[]> => {\n return this.ovh.request('GET', '/ip/loadBalancing');\n };\n\n /** Get this object properties */\n getLoadBalancingByServiceName = (serviceName: string): Promise<IpLoadBalancingIp> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}`);\n };\n\n /** List of backends you can attach to your IP */\n listLoadBalancingAllowedBackendsByServiceName = (serviceName: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/allowedBackends`);\n };\n\n /** Backends for this IP load balancing */\n getLoadBalancingBackendByServiceName = (serviceName: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/backend`);\n };\n\n /** Add a new backend on your IP load balancing */\n addLoadBalancingBackendByServiceName = (\n serviceName: string,\n body: { ipBackend: string; probe: IpLoadBalancingBackendProbeEnum; weight?: number }\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request('POST', `/ip/loadBalancing/${serviceName}/backend`, body);\n };\n\n /** Remove a backend IP */\n deleteLoadBalancingBackendByServiceNameAndBackend = (\n backend: string,\n serviceName: string\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request('DELETE', `/ip/loadBalancing/${serviceName}/backend/${backend}`);\n };\n\n /** Get this object properties */\n getLoadBalancingBackendByServiceNameAndBackend = (\n backend: string,\n serviceName: string\n ): Promise<IpLoadBalancingBackendIp> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/backend/${backend}`);\n };\n\n /** Alter this object properties */\n updateLoadBalancingBackendByServiceNameAndBackend = (\n backend: string,\n serviceName: string,\n body: IpLoadBalancingBackendIp\n ): Promise<void> => {\n return this.ovh.request('PUT', `/ip/loadBalancing/${serviceName}/backend/${backend}`, body);\n };\n\n /** Set or unset the backend as a backup of another backend. Requests will be directed to the backup only if the main backend is in probe fail */\n postLoadBalancingBackendBackupStateByServiceNameAndBackend = (\n backend: string,\n serviceName: string,\n body: { backupStateSet: boolean; mainBackendIp?: string }\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request(\n 'POST',\n `/ip/loadBalancing/${serviceName}/backend/${backend}/backupState`,\n body\n );\n };\n\n /** Set the weight of a backend. For instance, if backend A has a weight of 8 and backup B was a weight of 16, backend B will receive twice more connections as backend A. Backends must be on the same POP for the weight parameter to take effect between them. */\n postLoadBalancingBackendSetWeightByServiceNameAndBackend = (\n backend: string,\n serviceName: string,\n body: { weight: number }\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request(\n 'POST',\n `/ip/loadBalancing/${serviceName}/backend/${backend}/setWeight`,\n body\n );\n };\n\n /** Import your own ssl certificate on your IP load balancing. Ssl option is needed to use this url. */\n postLoadBalancingImportCustomSslByServiceName = (\n serviceName: string,\n body: { certificate: string; chain?: string; key: string }\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request('POST', `/ip/loadBalancing/${serviceName}/importCustomSsl`, body);\n };\n\n /** Ip subnet used by OVH to nat requests on your ip lb to your backends. You must ensure that your backends are not part of a network that overlap with this one. */\n getLoadBalancingInternalNatIpByServiceName = (serviceName: string): Promise<string> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/internalNatIp`);\n };\n\n /** Get all srcPort */\n getLoadBalancingPortsRedirectionByServiceName = (\n serviceName: string\n ): Promise<IpLoadBalancingAdditionalPortEnum[]> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/portsRedirection`);\n };\n\n /** Add a new port redirection */\n addLoadBalancingPortsRedirectionByServiceName = (\n serviceName: string,\n body: IpLoadBalancingIpLoadBalancingPort\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request('POST', `/ip/loadBalancing/${serviceName}/portsRedirection`, body);\n };\n\n /** Delete a port redirection */\n deleteLoadBalancingPortsRedirectionByServiceNameAndSrcPort = (\n serviceName: string,\n srcPort: IpLoadBalancingAdditionalPortEnum\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request(\n 'DELETE',\n `/ip/loadBalancing/${serviceName}/portsRedirection/${srcPort}`\n );\n };\n\n /** Get the value for the given srcPort */\n getLoadBalancingPortsRedirectionByServiceNameAndSrcPort = (\n serviceName: string,\n srcPort: IpLoadBalancingAdditionalPortEnum\n ): Promise<IpLoadBalancingIpLoadBalancingPort> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/portsRedirection/${srcPort}`);\n };\n\n /** Ip subnet used to send probes to your backends */\n getLoadBalancingProbeIpByServiceName = (serviceName: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/probeIp`);\n };\n\n /** Restore OVH' ssl certificate on your IP load balancing. Ssl option is needed to use this url. (A DCV mail will be sent to postmaster@your-domain.abc) */\n postLoadBalancingRestoreSslByServiceName = (\n serviceName: string\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request('POST', `/ip/loadBalancing/${serviceName}/restoreSsl`);\n };\n\n /** Get this object properties */\n getLoadBalancingServiceInfosByServiceName = (serviceName: string): Promise<ServicesService> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/serviceInfos`);\n };\n\n /** Alter this object properties */\n updateLoadBalancingServiceInfosByServiceName = (\n serviceName: string,\n body: ServicesService\n ): Promise<void> => {\n return this.ovh.request('PUT', `/ip/loadBalancing/${serviceName}/serviceInfos`, body);\n };\n\n /** Set Stickiness type. 'ipSource' will stick clients to a backend by their source ip, 'cookie' will stick them by inserting a cookie, 'none' is to set no stickiness */\n postLoadBalancingStickinessByServiceName = (\n serviceName: string,\n body: { stickiness: IpLoadBalancingStickinessEnum }\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request('POST', `/ip/loadBalancing/${serviceName}/stickiness`, body);\n };\n\n /** Switch to ipLoadbalancing next-gen API. Benefits : additionnals probes, DDOS protection. */\n postLoadBalancingSwitchToIplbNextGenerationApiByServiceName = (\n serviceName: string\n ): Promise<IpLoadbalancingTaskTask> => {\n return this.ovh.request(\n 'POST',\n `/ip/loadBalancing/${serviceName}/switchToIplbNextGenerationApi`\n );\n };\n\n /** Task list associated with this IP */\n getLoadBalancingTaskByServiceName = (serviceName: string): Promise<number[]> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/task`);\n };\n\n /** Get this object properties */\n getLoadBalancingTaskByServiceNameAndTaskId = (\n serviceName: string,\n taskId: number\n ): Promise<IpLoadBalancingTask> => {\n return this.ovh.request('GET', `/ip/loadBalancing/${serviceName}/task/${taskId}`);\n };\n\n /** List available services */\n listService = (): Promise<string[]> => {\n return this.ovh.request('GET', '/ip/service');\n };\n\n /** Get this object properties */\n getServiceByServiceName = (serviceName: string): Promise<IpServiceIp> => {\n return this.ovh.request('GET', `/ip/service/${serviceName}`);\n };\n\n /** Alter this object properties */\n updateServiceByServiceName = (serviceName: string, body: IpServiceIp): Promise<void> => {\n return this.ovh.request('PUT', `/ip/service/${serviceName}`, body);\n };\n\n /** Launch a contact change procedure */\n launchServiceChangeContactByServiceName = (\n serviceName: string,\n body: { contactAdmin?: string; contactBilling?: string; contactTech?: string }\n ): Promise<number[]> => {\n return this.ovh.request('POST', `/ip/service/${serviceName}/changeContact`, body);\n };\n\n /** Confirm termination of your service */\n confirmServiceTerminationByServiceName = (\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', `/ip/service/${serviceName}/confirmTermination`, body);\n };\n\n /** Get this object properties */\n getServiceServiceInfosByServiceName = (serviceName: string): Promise<ServicesService> => {\n return this.ovh.request('GET', `/ip/service/${serviceName}/serviceInfos`);\n };\n\n /** Alter this object properties */\n updateServiceServiceInfosByServiceName = (\n serviceName: string,\n body: ServicesService\n ): Promise<void> => {\n return this.ovh.request('PUT', `/ip/service/${serviceName}/serviceInfos`, body);\n };\n\n /** Terminate your service */\n postServiceTerminateByServiceName = (serviceName: string): Promise<string> => {\n return this.ovh.request('POST', `/ip/service/${serviceName}/terminate`);\n };\n\n /** Get this object properties */\n getByIp = (ip: string): Promise<IpIp> => {\n return this.ovh.request('GET', `/ip/${ip}`);\n };\n\n /** Alter this object properties */\n updateByIp = (ip: string, body: IpIp): Promise<void> => {\n return this.ovh.request('PUT', `/ip/${ip}`, body);\n };\n\n /** Anti-Hack blocked IP */\n getAntihackByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/antihack`);\n };\n\n /** Get this object properties */\n getAntihackByIpAndIpBlocked = (ip: string, ipBlocked: string): Promise<IpBlockedIp> => {\n return this.ovh.request('GET', `/ip/${ip}/antihack/${ipBlocked}`);\n };\n\n /** Unblock this IP */\n postAntihackUnblockByIpAndIpBlocked = (ip: string, ipBlocked: string): Promise<void> => {\n return this.ovh.request('POST', `/ip/${ip}/antihack/${ipBlocked}/unblock`);\n };\n\n /** ARP blocked IP */\n getArpByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/arp`);\n };\n\n /** Get this object properties */\n getArpByIpAndIpBlocked = (ip: string, ipBlocked: string): Promise<IpArpBlockedIp> => {\n return this.ovh.request('GET', `/ip/${ip}/arp/${ipBlocked}`);\n };\n\n /** Unblock this IP */\n postArpUnblockByIpAndIpBlocked = (ip: string, ipBlocked: string): Promise<void> => {\n return this.ovh.request('POST', `/ip/${ip}/arp/${ipBlocked}/unblock`);\n };\n\n /** Change organisation of this IP */\n updateOrgByIp = (ip: string, body: { organisation: string }): Promise<IpIpTask> => {\n return this.ovh.request('POST', `/ip/${ip}/changeOrg`, body);\n };\n\n /** Reverse delegation on IPv6 subnet */\n getDelegationByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/delegation`);\n };\n\n /** Add target for reverse delegation on IPv6 subnet */\n addDelegationByIp = (ip: string, body: { target: string }): Promise<IpReverseDelegation> => {\n return this.ovh.request('POST', `/ip/${ip}/delegation`, body);\n };\n\n /** Delete a target for reverse delegation on IPv6 subnet */\n deleteDelegationByIpAndTarget = (ip: string, target: string): Promise<void> => {\n return this.ovh.request('DELETE', `/ip/${ip}/delegation/${target}`);\n };\n\n /** Get this object properties */\n getDelegationByIpAndTarget = (ip: string, target: string): Promise<IpReverseDelegation> => {\n return this.ovh.request('GET', `/ip/${ip}/delegation/${target}`);\n };\n\n /** Ip under firewall */\n getFirewallByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/firewall`);\n };\n\n /** AntiDDOS option. Add new IP on firewall */\n postFirewallByIp = (ip: string, body: { ipOnFirewall: string }): Promise<IpFirewallIp> => {\n return this.ovh.request('POST', `/ip/${ip}/firewall`, body);\n };\n\n /** AntiDDOS option. Delete IP and rules from firewall */\n deleteFirewallByIpAndIpOnFirewall = (ip: string, ipOnFirewall: string): Promise<string> => {\n return this.ovh.request('DELETE', `/ip/${ip}/firewall/${ipOnFirewall}`);\n };\n\n /** Get this object properties */\n getFirewallByIpAndIpOnFirewall = (ip: string, ipOnFirewall: string): Promise<IpFirewallIp> => {\n return this.ovh.request('GET', `/ip/${ip}/firewall/${ipOnFirewall}`);\n };\n\n /** Alter this object properties */\n updateFirewallByIpAndIpOnFirewall = (\n ip: string,\n ipOnFirewall: string,\n body: IpFirewallIp\n ): Promise<void> => {\n return this.ovh.request('PUT', `/ip/${ip}/firewall/${ipOnFirewall}`, body);\n };\n\n /** Rules for this IP */\n getFirewallRuleByIpAndIpOnFirewall = (ip: string, ipOnFirewall: string): Promise<number[]> => {\n return this.ovh.request('GET', `/ip/${ip}/firewall/${ipOnFirewall}/rule`);\n };\n\n /** AntiDDOS option. Add new rule on your IP */\n postFirewallRuleByIpAndIpOnFirewall = (\n ip: string,\n ipOnFirewall: string,\n body: {\n action: IpFirewallActionEnum;\n destinationPort?: number;\n protocol: IpFirewallProtocolEnum;\n sequence: IpFirewallSequenceRangeEnum;\n source?: string;\n sourcePort?: number;\n tcpOption?: IpFirewallOptionTCP;\n }\n ): Promise<IpFirewallNetworkRule> => {\n return this.ovh.request('POST', `/ip/${ip}/firewall/${ipOnFirewall}/rule`, body);\n };\n\n /** AntiDDOS option. Delete rule */\n deleteFirewallRuleByIpAndIpOnFirewallAndSequence = (\n ip: string,\n ipOnFirewall: string,\n sequence: number\n ): Promise<IpFirewallNetworkRule> => {\n return this.ovh.request('DELETE', `/ip/${ip}/firewall/${ipOnFirewall}/rule/${sequence}`);\n };\n\n /** Get this object properties */\n getFirewallRuleByIpAndIpOnFirewallAndSequence = (\n ip: string,\n ipOnFirewall: string,\n sequence: number\n ): Promise<IpFirewallNetworkRule> => {\n return this.ovh.request('GET', `/ip/${ip}/firewall/${ipOnFirewall}/rule/${sequence}`);\n };\n\n /** Ip under game anti-ddos */\n getGameByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/game`);\n };\n\n /** Get this object properties */\n getGameByIpAndIpOnGame = (ip: string, ipOnGame: string): Promise<IpGameMitigation> => {\n return this.ovh.request('GET', `/ip/${ip}/game/${ipOnGame}`);\n };\n\n /** Alter this object properties */\n updateGameByIpAndIpOnGame = (\n ip: string,\n ipOnGame: string,\n body: IpGameMitigation\n ): Promise<void> => {\n return this.ovh.request('PUT', `/ip/${ip}/game/${ipOnGame}`, body);\n };\n\n /** IDs of rules configured for this IP */\n getGameRuleByIpAndIpOnGame = (ip: string, ipOnGame: string): Promise<number[]> => {\n return this.ovh.request('GET', `/ip/${ip}/game/${ipOnGame}/rule`);\n };\n\n /** Add new rule on your IP */\n addGameRuleByIpAndIpOnGame = (\n ip: string,\n ipOnGame: string,\n body: { ports: number; protocol: IpGameMitigationRuleProtocolEnum }\n ): Promise<IpGameMitigationRule> => {\n return this.ovh.request('POST', `/ip/${ip}/game/${ipOnGame}/rule`, body);\n };\n\n /** Delete rule */\n deleteGameRuleByIpAndIpOnGameAndId = (\n id: number,\n ip: string,\n ipOnGame: string\n ): Promise<IpGameMitigationRule> => {\n return this.ovh.request('DELETE', `/ip/${ip}/game/${ipOnGame}/rule/${id}`);\n };\n\n /** Get this object properties */\n getGameRuleByIpAndIpOnGameAndId = (\n id: number,\n ip: string,\n ipOnGame: string\n ): Promise<IpGameMitigationRule> => {\n return this.ovh.request('GET', `/ip/${ip}/game/${ipOnGame}/rule/${id}`);\n };\n\n /** Cloud Linux licenses associated to this IP */\n getLicenseCloudLinuxByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/cloudLinux`);\n };\n\n /** Cpanel licenses associated to this IP */\n getLicenseCpanelByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/cpanel`);\n };\n\n /** DirectAdmin licenses associated to this IP */\n getLicenseDirectadminByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/directadmin`);\n };\n\n /** Plesk licenses associated to this IP */\n getLicensePleskByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/plesk`);\n };\n\n /** SQL Server licenses associated to this IP */\n getLicenseSqlserverByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/sqlserver`);\n };\n\n /** Virtuozzo licenses associated to this IP */\n getLicenseVirtuozzoByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/virtuozzo`);\n };\n\n /** Windows licenses associated to this IP */\n getLicenseWindowsByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/windows`);\n };\n\n /** WorkLight licenses associated to this IP */\n getLicenseWorklightByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/license/worklight`);\n };\n\n /** Get this object properties */\n getMigrationTokenByIp = (ip: string): Promise<IpIpMigrationToken> => {\n return this.ovh.request('GET', `/ip/${ip}/migrationToken`);\n };\n\n /** Generate a migration token */\n postMigrationTokenByIp = (\n ip: string,\n body: { customerId: string }\n ): Promise<IpIpMigrationToken> => {\n return this.ovh.request('POST', `/ip/${ip}/migrationToken`, body);\n };\n\n /** Ip under mitigation */\n getMitigationByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/mitigation`);\n };\n\n /** AntiDDOS option. Add new IP on permanent mitigation */\n postMitigationByIp = (ip: string, body: { ipOnMitigation: string }): Promise<IpMitigationIp> => {\n return this.ovh.request('POST', `/ip/${ip}/mitigation`, body);\n };\n\n /** AntiDDOS option. Delete IP from mitigation */\n deleteMitigationByIpAndIpOnMitigation = (\n ip: string,\n ipOnMitigation: string\n ): Promise<IpMitigationIp> => {\n return this.ovh.request('DELETE', `/ip/${ip}/mitigation/${ipOnMitigation}`);\n };\n\n /** Get this object properties */\n getMitigationByIpAndIpOnMitigation = (\n ip: string,\n ipOnMitigation: string\n ): Promise<IpMitigationIp> => {\n return this.ovh.request('GET', `/ip/${ip}/mitigation/${ipOnMitigation}`);\n };\n\n /** Alter this object properties */\n updateMitigationByIpAndIpOnMitigation = (\n ip: string,\n ipOnMitigation: string,\n body: IpMitigationIp\n ): Promise<void> => {\n return this.ovh.request('PUT', `/ip/${ip}/mitigation/${ipOnMitigation}`, body);\n };\n\n /** AntiDDOS option. Get statistics about your traffic in and out during this mitigation */\n getMitigationStatsByIpAndIpOnMitigation = (\n ip: string,\n ipOnMitigation: string\n ): Promise<IpMitigationStats[]> => {\n return this.ovh.request('GET', `/ip/${ip}/mitigation/${ipOnMitigation}/stats`);\n };\n\n /** AntiDDOS option. Get top stream on your ip on a specific timestamp */\n getMitigationTopStreamByIpAndIpOnMitigation = (\n ip: string,\n ipOnMitigation: string\n ): Promise<IpMitigationDetailedStats[]> => {\n return this.ovh.request('GET', `/ip/${ip}/mitigation/${ipOnMitigation}/topStream`);\n };\n\n /** Manage mitigation profile on your IPs */\n getMitigationProfilesByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/mitigationProfiles`);\n };\n\n /** Create new profile for one of your ip */\n createMitigationProfilesByIp = (\n ip: string,\n body: {\n autoMitigationTimeOut: IpMitigationProfileAutoMitigationTimeOutEnum;\n ipMitigationProfile: string;\n }\n ): Promise<IpMitigationProfile> => {\n return this.ovh.request('POST', `/ip/${ip}/mitigationProfiles`, body);\n };\n\n /** Delete mitigation profile */\n deleteMitigationProfilesByIpAndIpMitigationProfile = (\n ip: string,\n ipMitigationProfile: string\n ): Promise<void> => {\n return this.ovh.request('DELETE', `/ip/${ip}/mitigationProfiles/${ipMitigationProfile}`);\n };\n\n /** Get this object properties */\n getMitigationProfilesByIpAndIpMitigationProfile = (\n ip: string,\n ipMitigationProfile: string\n ): Promise<IpMitigationProfile> => {\n return this.ovh.request('GET', `/ip/${ip}/mitigationProfiles/${ipMitigationProfile}`);\n };\n\n /** Alter this object properties */\n updateMitigationProfilesByIpAndIpMitigationProfile = (\n ip: string,\n ipMitigationProfile: string,\n body: IpMitigationProfile\n ): Promise<void> => {\n return this.ovh.request('PUT', `/ip/${ip}/mitigationProfiles/${ipMitigationProfile}`, body);\n };\n\n /** List services available as a destination */\n listMoveByIp = (ip: string): Promise<IpDestinations> => {\n return this.ovh.request('GET', `/ip/${ip}/move`);\n };\n\n /** Move this IP to another service */\n postMoveByIp = (ip: string, body: { nexthop?: string; to: string }): Promise<IpIpTask> => {\n return this.ovh.request('POST', `/ip/${ip}/move`, body);\n };\n\n /** Park this IP */\n postParkByIp = (ip: string): Promise<IpIpTask> => {\n return this.ovh.request('POST', `/ip/${ip}/park`);\n };\n\n /** Ip under anti-phishing */\n getPhishingByIp = (ip: string): Promise<number[]> => {\n return this.ovh.request('GET', `/ip/${ip}/phishing`);\n };\n\n /** Get this object properties */\n getPhishingByIpAndId = (id: number, ip: string): Promise<IpAntiphishing> => {\n return this.ovh.request('GET', `/ip/${ip}/phishing/${id}`);\n };\n\n /** Reverse on your ip */\n getReverseByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/reverse`);\n };\n\n /** Add reverse on an ip */\n addReverseByIp = (\n ip: string,\n body: { ipReverse: string; reverse: string }\n ): Promise<IpReverseIp> => {\n return this.ovh.request('POST', `/ip/${ip}/reverse`, body);\n };\n\n /** Delete a reverse on one IP */\n deleteReverseByIpAndIpReverse = (ip: string, ipReverse: string): Promise<void> => {\n return this.ovh.request('DELETE', `/ip/${ip}/reverse/${ipReverse}`);\n };\n\n /** Get this object properties */\n getReverseByIpAndIpReverse = (ip: string, ipReverse: string): Promise<IpReverseIp> => {\n return this.ovh.request('GET', `/ip/${ip}/reverse/${ipReverse}`);\n };\n\n /** Get this object properties */\n getRipeByIp = (ip: string): Promise<IpRipeInfos> => {\n return this.ovh.request('GET', `/ip/${ip}/ripe`);\n };\n\n /** Alter this object properties */\n updateRipeByIp = (ip: string, body: IpRipeInfos): Promise<void> => {\n return this.ovh.request('PUT', `/ip/${ip}/ripe`, body);\n };\n\n /** Ip spamming */\n getSpamByIp = (ip: string): Promise<string[]> => {\n return this.ovh.request('GET', `/ip/${ip}/spam`);\n };\n\n /** Get this object properties */\n getSpamByIpAndIpSpamming = (ip: string, ipSpamming: string): Promise<IpSpamIp> => {\n return this.ovh.request('GET', `/ip/${ip}/spam/${ipSpamming}`);\n };\n\n /** Get statistics about the email traffic */\n getSpamStatsByIpAndIpSpamming = (ip: string, ipSpamming: string): Promise<IpSpamStats[]> => {\n return this.ovh.request('GET', `/ip/${ip}/spam/${ipSpamming}/stats`);\n };\n\n /** Release the ip from anti-spam system */\n postSpamUnblockByIpAndIpSpamming = (ip: string, ipSpamming: string): Promise<IpSpamIp> => {\n return this.ovh.request('POST', `/ip/${ip}/spam/${ipSpamming}/unblock`);\n };\n\n /** IP tasks */\n getTaskByIp = (ip: string): Promise<number[]> => {\n return this.ovh.request('GET', `/ip/${ip}/task`);\n };\n\n /** Get this object properties */\n getTaskByIpAndTaskId = (ip: string, taskId: number): Promise<IpIpTask> => {\n return this.ovh.request('GET', `/ip/${ip}/task/${taskId}`);\n };\n\n /** Delete a failover IP */\n postTerminateByIp = (ip: string): Promise<IpIpTask> => {\n return this.ovh.request('POST', `/ip/${ip}/terminate`);\n };\n}\n\nexport { IpHandler };\n"],"mappings":"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","names":["IpHandler","ovh","serviceName","body","backend","srcPort","taskId","ip","ipBlocked","target","ipOnFirewall","sequence","ipOnGame","id","ipOnMitigation","ipMitigationProfile","ipReverse","ipSpamming"]}