node-ovh-ts
Version:
OVH API wrapper library for TypeScript
347 lines (344 loc) • 21.2 kB
TypeScript
import { EmailDomainTaskFilter } from '../models/EmailDomainTaskFilter.js';
import { EmailDomainAcl } from '../models/EmailDomainAcl.js';
import { EmailDomainDomainService } from '../models/EmailDomainDomainService.js';
import { DomainDomainFilterActionEnum } from '../models/DomainDomainFilterActionEnum.js';
import { EmailDomainRedirectionChangeRedirectionCreation } from '../models/EmailDomainRedirectionChangeRedirectionCreation.js';
import { EmailDomainRedirectionCreation } from '../models/EmailDomainRedirectionCreation.js';
import { EmailDomainMigrationService } from '../models/EmailDomainMigrationService.js';
import { EmailDomainMigrationAccount } from '../models/EmailDomainMigrationAccount.js';
import { ServicesService } from '../models/ServicesService.js';
import { DomainDomainMXFilterEnum } from '../models/DomainDomainMXFilterEnum.js';
import { EmailDomainTaskSpecialAccount } from '../models/EmailDomainTaskSpecialAccount.js';
import { EmailDomainModerator } from '../models/EmailDomainModerator.js';
import { DomainDomainSummary } from '../models/DomainDomainSummary.js';
import { DomainZoneRecord } from '../models/DomainZoneRecord.js';
import { EmailDomainAccountDelegated } from '../models/EmailDomainAccountDelegated.js';
import { DomainDomainFilterOperandEnum } from '../models/DomainDomainFilterOperandEnum.js';
import { EmailDomainFilter } from '../models/EmailDomainFilter.js';
import { EmailDomainRedirectionGlobal } from '../models/EmailDomainRedirectionGlobal.js';
import { DomainDomainMlOptionsStruct } from '../models/DomainDomainMlOptionsStruct.js';
import { DomainDomainMlLanguageEnum } from '../models/DomainDomainMlLanguageEnum.js';
import { EmailDomainMigrationCheckStruct } from '../models/EmailDomainMigrationCheckStruct.js';
import { DomainDomainUsageAccountStruct } from '../models/DomainDomainUsageAccountStruct.js';
import { EmailDomainMailingList } from '../models/EmailDomainMailingList.js';
import { EmailDomainResponderAccount } from '../models/EmailDomainResponderAccount.js';
import { DomainDomainQuota } from '../models/DomainDomainQuota.js';
import { EmailDomainAccount } from '../models/EmailDomainAccount.js';
import { EmailDomainSubscriber } from '../models/EmailDomainSubscriber.js';
import { EmailDomainTaskMl } from '../models/EmailDomainTaskMl.js';
import { EmailDomainRule } from '../models/EmailDomainRule.js';
import { ServiceTerminationReasonEnum } from '../models/ServiceTerminationReasonEnum.js';
import { EmailDomainResponder } from '../models/EmailDomainResponder.js';
import { DomainDomainMlLimits } from '../models/DomainDomainMlLimits.js';
import { EmailDomainDelegation } from '../models/EmailDomainDelegation.js';
import { EmailDomainTaskPop } from '../models/EmailDomainTaskPop.js';
import OVHBase from '../ovh.js';
import '../models/DomainDomainStatusEnum.js';
import '../models/EmailDomainMigrationServiceType.js';
import '../models/ServiceStateEnum.js';
import '../models/ServiceRenewType.js';
import '../models/ServiceRenewalTypeEnum.js';
import '../models/DomainDomainSpecialAccountActionEnum.js';
import '../models/DomainDomainSpecialAccountTypeEnum.js';
import '../models/ZoneNamedResolutionFieldTypeEnum.js';
import '../models/EmailDomainMigrationCheckResultStruct.js';
import '../models/EmailDomainMigrationCheckCodeEnum.js';
import '../models/DomainDomainPopActionEnum.js';
import '../endpoints.js';
declare class EmailDomainHandler {
ovh: OVHBase;
constructor(ovh: OVHBase);
/** List available services */
listDomain: () => Promise<string[]>;
/** Delegated emails */
getDomainDelegatedAccount: () => Promise<string[]>;
/** Get this object properties */
getDomainDelegatedAccountByEmail: (email: string) => Promise<EmailDomainAccountDelegated>;
/** Alter this object properties */
updateDomainDelegatedAccountByEmail: (email: string, body: EmailDomainAccountDelegated) => Promise<void>;
/** Change mailbox password (length : [9;30], no space at begin and end, no accent) */
updateDomainDelegatedAccountPasswordByEmail: (email: string, body: {
password: string;
}) => Promise<EmailDomainTaskPop>;
/** Get filters */
getDomainDelegatedAccountFilterByEmail: (email: string) => Promise<string[]>;
/** Create new filter for account */
createDomainDelegatedAccountFilterByEmail: (email: string, body: {
action: DomainDomainFilterActionEnum;
actionParam?: string;
active: boolean;
header: string;
name: string;
operand: DomainDomainFilterOperandEnum;
priority: number;
value: string;
}) => Promise<EmailDomainTaskFilter>;
/** Delete an existing filter */
deleteDomainDelegatedAccountFilterByEmailAndName: (email: string, name: string) => Promise<EmailDomainTaskFilter[]>;
/** Get this object properties */
getDomainDelegatedAccountFilterByEmailAndName: (email: string, name: string) => Promise<EmailDomainFilter>;
/** Change filter activity */
updateDomainDelegatedAccountFilterActivityByEmailAndName: (email: string, name: string, body: {
activity: boolean;
}) => Promise<EmailDomainTaskFilter>;
/** Change filter priority */
updateDomainDelegatedAccountFilterPriorityByEmailAndName: (email: string, name: string, body: {
priority: number;
}) => Promise<EmailDomainTaskFilter>;
/** Get rules */
getDomainDelegatedAccountFilterRuleByEmailAndName: (email: string, name: string) => Promise<number[]>;
/** Create new rule for filter */
createDomainDelegatedAccountFilterRuleByEmailAndName: (email: string, name: string, body: {
header: string;
operand: DomainDomainFilterOperandEnum;
value: string;
}) => Promise<EmailDomainTaskFilter>;
/** Delete an existing filter */
deleteDomainDelegatedAccountFilterRuleByEmailAndNameAndId: (email: string, id: number, name: string) => Promise<EmailDomainTaskFilter[]>;
/** Get this object properties */
getDomainDelegatedAccountFilterRuleByEmailAndNameAndId: (email: string, id: number, name: string) => Promise<EmailDomainRule>;
/** Delete an existing responder in server */
deleteDomainDelegatedAccountResponderByEmail: (email: string) => Promise<EmailDomainTaskSpecialAccount>;
/** Get this object properties */
getDomainDelegatedAccountResponderByEmail: (email: string) => Promise<EmailDomainResponderAccount>;
/** Create new responder in server */
createDomainDelegatedAccountResponderByEmail: (email: string, body: {
content: string;
copy: boolean;
copyTo?: string;
from?: Date;
to?: Date;
}) => Promise<EmailDomainTaskSpecialAccount>;
/** Alter this object properties */
updateDomainDelegatedAccountResponderByEmail: (email: string, body: EmailDomainResponderAccount) => Promise<void>;
/** Update usage of account */
updateDomainDelegatedAccountUsageByEmail: (email: string) => Promise<void>;
/** usage of account */
postDomainDelegatedAccountUsageByEmail: (email: string) => Promise<DomainDomainUsageAccountStruct>;
/** Get limits of mailing list */
getDomainMailingListLimits: () => Promise<DomainDomainMlLimits>;
/** Get this object properties */
getDomainByDomain: (domain: string) => Promise<EmailDomainDomainService>;
/** Get accounts */
getDomainAccountByDomain: (domain: string) => Promise<string[]>;
/** Create new mailbox in server */
createDomainAccountByDomain: (domain: string, body: {
accountName: string;
description?: string;
password: string;
size?: number;
}) => Promise<EmailDomainTaskPop>;
/** Delete an existing mailbox in server */
deleteDomainAccountByDomainAndAccountName: (accountName: string, domain: string) => Promise<EmailDomainTaskPop>;
/** Get this object properties */
getDomainAccountByDomainAndAccountName: (accountName: string, domain: string) => Promise<EmailDomainAccount>;
/** Alter this object properties */
updateDomainAccountByDomainAndAccountName: (accountName: string, domain: string, body: EmailDomainAccount) => Promise<void>;
/** Change mailbox password (length : [9;30], no space at begin and end, no accent) */
updateDomainAccountPasswordByDomainAndAccountName: (accountName: string, domain: string, body: {
password: string;
}) => Promise<EmailDomainTaskPop>;
/** Get delegations */
getDomainAccountDelegationByDomainAndAccountName: (accountName: string, domain: string) => Promise<string[]>;
/** Create delegation for this account */
createDomainAccountDelegationByDomainAndAccountName: (accountName: string, domain: string, body: {
accountId: string;
}) => Promise<string>;
/** Delete an existing delegation */
deleteDomainAccountDelegationByDomainAndAccountNameAndAccountId: (accountId: string, accountName: string, domain: string) => Promise<string>;
/** Get this object properties */
getDomainAccountDelegationByDomainAndAccountNameAndAccountId: (accountId: string, accountName: string, domain: string) => Promise<EmailDomainDelegation>;
/** Get filters */
getDomainAccountFilterByDomainAndAccountName: (accountName: string, domain: string) => Promise<string[]>;
/** Create new filter for account */
createDomainAccountFilterByDomainAndAccountName: (accountName: string, domain: string, body: {
action: DomainDomainFilterActionEnum;
actionParam?: string;
active: boolean;
header: string;
name: string;
operand: DomainDomainFilterOperandEnum;
priority: number;
value: string;
}) => Promise<EmailDomainTaskFilter>;
/** Delete an existing filter */
deleteDomainAccountFilterByDomainAndAccountNameAndName: (accountName: string, domain: string, name: string) => Promise<EmailDomainTaskFilter[]>;
/** Get this object properties */
getDomainAccountFilterByDomainAndAccountNameAndName: (accountName: string, domain: string, name: string) => Promise<EmailDomainFilter>;
/** Change filter activity */
updateDomainAccountFilterActivityByDomainAndAccountNameAndName: (accountName: string, domain: string, name: string, body: {
activity: boolean;
}) => Promise<EmailDomainTaskFilter>;
/** Change filter priority */
updateDomainAccountFilterPriorityByDomainAndAccountNameAndName: (accountName: string, domain: string, name: string, body: {
priority: number;
}) => Promise<EmailDomainTaskFilter>;
/** Get rules */
getDomainAccountFilterRuleByDomainAndAccountNameAndName: (accountName: string, domain: string, name: string) => Promise<number[]>;
/** Create new rule for filter */
createDomainAccountFilterRuleByDomainAndAccountNameAndName: (accountName: string, domain: string, name: string, body: {
header: string;
operand: DomainDomainFilterOperandEnum;
value: string;
}) => Promise<EmailDomainTaskFilter>;
/** Delete an existing filter */
deleteDomainAccountFilterRuleByDomainAndAccountNameAndNameAndId: (accountName: string, domain: string, id: number, name: string) => Promise<EmailDomainTaskFilter[]>;
/** Get this object properties */
getDomainAccountFilterRuleByDomainAndAccountNameAndNameAndId: (accountName: string, domain: string, id: number, name: string) => Promise<EmailDomainRule>;
/** Get migration service */
getDomainAccountMigrateByDomainAndAccountName: (accountName: string, domain: string) => Promise<string[]>;
/** Get this object properties */
getDomainAccountMigrateByDomainAndAccountNameAndDestinationServiceName: (accountName: string, destinationServiceName: string, domain: string) => Promise<EmailDomainMigrationService>;
/** List of email address available for migration */
listDomainAccountMigrateDestinationEmailAddressByDomainAndAccountNameAndDestinationServiceName: (accountName: string, destinationServiceName: string, domain: string) => Promise<string[]>;
/** Get this object properties */
getDomainAccountMigrateDestinationEmailAddressByDomainAndAccountNameAndDestinationServiceNameAndDestinationEmailAddress: (accountName: string, destinationEmailAddress: string, destinationServiceName: string, domain: string) => Promise<EmailDomainMigrationAccount>;
/** Check if it's possible to migrate */
checkDomainAccountMigrateDestinationEmailAddressMigrateByDomainAndAccountNameAndDestinationServiceNameAndDestinationEmailAddress: (accountName: string, destinationEmailAddress: string, destinationServiceName: string, domain: string) => Promise<EmailDomainMigrationCheckStruct>;
/** Migrate account to destination account */
postDomainAccountMigrateDestinationEmailAddressMigrateByDomainAndAccountNameAndDestinationServiceNameAndDestinationEmailAddress: (accountName: string, destinationEmailAddress: string, destinationServiceName: string, domain: string, body: {
password: string;
}) => Promise<EmailDomainTaskPop>;
/** Update usage of account */
updateDomainAccountUsageByDomainAndAccountName: (accountName: string, domain: string) => Promise<void>;
/** usage of account */
getDomainAccountUsageByDomainAndAccountName: (accountName: string, domain: string) => Promise<DomainDomainUsageAccountStruct>;
/** Get ACL on your domain */
getDomainAclByDomain: (domain: string) => Promise<string[]>;
/** Create new ACL */
createDomainAclByDomain: (domain: string, body: {
accountId: string;
}) => Promise<EmailDomainAcl>;
/** Delete ACL */
deleteDomainAclByDomainAndAccountId: (accountId: string, domain: string) => Promise<void>;
/** Get this object properties */
getDomainAclByDomainAndAccountId: (accountId: string, domain: string) => Promise<EmailDomainAcl>;
/** Launch a contact change procedure */
launchDomainChangeContactByDomain: (domain: string, body: {
contactAdmin?: string;
contactBilling?: string;
contactTech?: string;
}) => Promise<number[]>;
/** Change MX filter, so change MX DNS records */
updateDomainDnsMXFilterByDomain: (domain: string, body: {
customTarget?: string;
mxFilter: DomainDomainMXFilterEnum;
subDomain?: string;
}) => Promise<void>;
/** Confirm termination of your email service */
confirmDomainTerminationByDomain: (domain: string, body: {
commentary?: string;
reason?: ServiceTerminationReasonEnum;
token: string;
}) => Promise<string>;
/** Domain MX filter */
getDomainDnsMXFilterByDomain: (domain: string) => Promise<DomainDomainMXFilterEnum>;
/** Domain MX records */
getDomainDnsMXRecordsByDomain: (domain: string) => Promise<string[]>;
/** Get mailing lists */
getDomainMailingListByDomain: (domain: string) => Promise<string[]>;
/** Create new mailingList */
createDomainMailingListByDomain: (domain: string, body: {
language: DomainDomainMlLanguageEnum;
name: string;
options: DomainDomainMlOptionsStruct;
ownerEmail: string;
replyTo?: string;
}) => Promise<EmailDomainTaskMl>;
/** Delete existing Mailing list */
deleteDomainMailingListByDomainAndName: (domain: string, name: string) => Promise<EmailDomainTaskMl>;
/** Get this object properties */
getDomainMailingListByDomainAndName: (domain: string, name: string) => Promise<EmailDomainMailingList>;
/** Alter this object properties */
updateDomainMailingListByDomainAndName: (domain: string, name: string, body: EmailDomainMailingList) => Promise<void>;
/** Change mailing list options */
updateDomainMailingListOptionsByDomainAndName: (domain: string, name: string, body: {
options: DomainDomainMlOptionsStruct;
}) => Promise<EmailDomainTaskMl>;
/** List of moderators */
listDomainMailingModeratorByDomainAndName: (domain: string, name: string) => Promise<string[]>;
/** Add moderator to mailing list */
addDomainMailingListModeratorByDomainAndName: (domain: string, name: string, body: {
email: string;
}) => Promise<EmailDomainTaskMl>;
/** Delete existing moderator */
deleteDomainMailingListModeratorByDomainAndNameAndEmail: (domain: string, email: string, name: string) => Promise<EmailDomainTaskMl>;
/** Get this object properties */
getDomainMailingListModeratorByDomainAndNameAndEmail: (domain: string, email: string, name: string) => Promise<EmailDomainModerator>;
/** Send moderators list and subscribers list of this mailing list by email */
sendDomainMailingListListByEmailByDomainAndName: (domain: string, name: string, body: {
email: string;
}) => Promise<EmailDomainTaskMl>;
/** List of subscribers */
listDomainMailingSubscriberByDomainAndName: (domain: string, name: string) => Promise<string[]>;
/** Add subscriber to mailing list */
addDomainMailingListSubscriberByDomainAndName: (domain: string, name: string, body: {
email: string;
}) => Promise<EmailDomainTaskMl>;
/** Delete existing subscriber */
deleteDomainMailingListSubscriberByDomainAndNameAndEmail: (domain: string, email: string, name: string) => Promise<EmailDomainTaskMl>;
/** Get this object properties */
getDomainMailingListSubscriberByDomainAndNameAndEmail: (domain: string, email: string, name: string) => Promise<EmailDomainSubscriber>;
/** Create delegation of domain with same nic than V3 */
createDomainMigrateDelegationV3toV6ByDomain: (domain: string) => Promise<void>;
/** List all quotas for this domain */
listDomainQuotaByDomain: (domain: string) => Promise<DomainDomainQuota>;
/** Recommended domain DNS records */
getDomainRecommendedDNSRecordsByDomain: (domain: string) => Promise<DomainZoneRecord[]>;
/** Get redirections */
getDomainRedirectionByDomain: (domain: string) => Promise<string[]>;
/** Create new redirection in server */
createDomainRedirectionByDomain: (domain: string, body: EmailDomainRedirectionCreation) => Promise<EmailDomainTaskSpecialAccount>;
/** Delete an existing redirection in server */
deleteDomainRedirectionByDomainAndId: (domain: string, id: string) => Promise<EmailDomainTaskSpecialAccount>;
/** Get this object properties */
getDomainRedirectionByDomainAndId: (domain: string, id: string) => Promise<EmailDomainRedirectionGlobal>;
/** Change redirection */
updateDomainRedirectionRedirectionByDomainAndId: (domain: string, id: string, body: EmailDomainRedirectionChangeRedirectionCreation) => Promise<EmailDomainTaskSpecialAccount>;
/** Get responders */
getDomainResponderByDomain: (domain: string) => Promise<string[]>;
/** Create new responder in server */
createDomainResponderByDomain: (domain: string, body: {
account: string;
content: string;
copy: boolean;
copyTo?: string;
from?: Date;
to?: Date;
}) => Promise<EmailDomainTaskSpecialAccount>;
/** Delete an existing responder in server */
deleteDomainResponderByDomainAndAccount: (account: string, domain: string) => Promise<EmailDomainTaskSpecialAccount>;
/** Get this object properties */
getDomainResponderByDomainAndAccount: (account: string, domain: string) => Promise<EmailDomainResponder>;
/** Alter this object properties */
updateDomainResponderByDomainAndAccount: (account: string, domain: string, body: EmailDomainResponder) => Promise<void>;
/** Get this object properties */
getDomainServiceInfosByDomain: (domain: string) => Promise<ServicesService>;
/** Alter this object properties */
updateDomainServiceInfosByDomain: (domain: string, body: ServicesService) => Promise<void>;
/** Summary for this domain */
getDomainSummaryByDomain: (domain: string) => Promise<DomainDomainSummary>;
/** Get account tasks */
getDomainTaskAccountByDomain: (domain: string) => Promise<number[]>;
/** Get this object properties */
getDomainTaskAccountByDomainAndId: (domain: string, id: number) => Promise<EmailDomainTaskPop>;
/** Get filter tasks */
getDomainTaskFilterByDomain: (domain: string) => Promise<number[]>;
/** Get this object properties */
getDomainTaskFilterByDomainAndId: (domain: string, id: number) => Promise<EmailDomainTaskFilter>;
/** Get Mailing List tasks */
getDomainTaskMailinglistByDomain: (domain: string) => Promise<number[]>;
/** Get this object properties */
getDomainTaskMailinglistByDomainAndId: (domain: string, id: number) => Promise<EmailDomainTaskMl>;
/** Get redirection tasks */
getDomainTaskRedirectionByDomain: (domain: string) => Promise<string[]>;
/** Get this object properties */
getDomainTaskRedirectionByDomainAndId: (domain: string, id: string) => Promise<EmailDomainTaskSpecialAccount>;
/** Get responder tasks */
getDomainTaskResponderByDomain: (domain: string) => Promise<number[]>;
/** Get this object properties */
getDomainTaskResponderByDomainAndId: (domain: string, id: number) => Promise<EmailDomainTaskSpecialAccount>;
/** Terminate your email service */
postDomainTerminateByDomain: (domain: string) => Promise<string>;
}
export { EmailDomainHandler };