@linode/api-v4
Version:
JavaScript wrapper around the Linode APIv4
105 lines • 4.9 kB
TypeScript
import { Filter, Params, ResourcePage as Page } from '../types';
import { CreateIPv6RangePayload, IPAddress, IPAssignmentPayload, IPRange, IPRangeInformation, IPSharingPayload } from './types';
/**
* Returns a paginated list of IP Addresses on your Account, excluding private
* addresses.
*
*/
export declare const getIPs: (params?: Params, filters?: Filter) => Promise<Page<IPAddress>>;
/**
* Returns information about a single IP Address on your Account.
*
* @param address { string } The address to operate on.
*/
export declare const getIP: (address: string) => Promise<IPAddress>;
/**
* Sets RDNS on an IP Address. Forward DNS must already be set up for reverse
* DNS to be applied. If you set the RDNS to null for public IPv4 addresses,
* it will be reset to the default members.linode.com RDNS value.
*
* @param address { string } The address to operate on.
* @param rdns { string } The reverse DNS assigned to this address. For public
* IPv4 addresses, this will be set to a default value provided by Linode if not
* explicitly set.
*/
export declare const updateIP: (address: string, rdns?: string | null) => Promise<IPAddress>;
/**
* Allocates a new IPv4 Address on your Account. The Linode must be configured
* to support additional addresses - please open a support ticket requesting
* additional addresses before attempting allocation
*
* @param payload { Object }
* @param payload.type { string } The type of address you are requesting. Only
* IPv4 addresses may be allocated through this endpoint.
* @param payload.public { boolean } Whether to create a public or private IPv4
* address.
* @param payload.linode_id { number } The ID of a Linode you you have access to
* that this address will be allocated to.
*/
export declare const allocateIp: (payload: any) => Promise<IPAddress>;
/**
* Assign multiple IPs to multiple Linodes in one Region. This allows swapping,
* shuffling, or otherwise reorganizing IPv4 Addresses/IPv6 Ranges to your Linodes.
* When the assignment is finished, all Linodes must end up with at least one public
* IPv4 and no more than one private IPv4.
*
* @param payload { Object }
* @param payload.region { string } The ID of the Region in which these
* assignments are to take place. All IPs and Linodes must exist in this Region.
* @param payload.assignments { Object[] } The ID of the Region in which these
* assignments are to take place. All IPs and Linodes must exist in this Region.
*/
export declare const assignAddresses: (payload: IPAssignmentPayload) => Promise<{}>;
/**
* [Legacy endpoint used until IPv6 sharing is flagged on everywhere]
* Configure shared IPs. A shared IP may be brought up on a Linode other than
* the one it lists in its response. This can be used to allow one Linode to
* begin serving requests should another become unresponsive.
*
* @param payload { Object }
* @param payload.linode_id { number } The ID of the Linode that the addresses
* will be shared with.
* @param payload.ips { string[] } A list of IPs that will be shared with this
* Linode. When this is finished, the given Linode will be able to bring up
* these addresses in addition to the Linodes that these addresses belong to.
* You must have access to all of these addresses and they must be in the same
* Region as the Linode.
*/
export declare const shareAddressesv4: (payload: IPSharingPayload) => Promise<{}>;
/**
* Configure shared IPs. A shared IP may be brought up on a Linode other than
* the one it lists in its response. This can be used to allow one Linode to
* begin serving requests should another become unresponsive.
*
* @param payload { Object }
* @param payload.linode_id { number } The ID of the Linode that the addresses
* will be shared with.
* @param payload.ips { string[] } A list of IPs that will be shared with this
* Linode. When this is finished, the given Linode will be able to bring up
* these addresses in addition to the Linodes that these addresses belong to.
* You must have access to all of these addresses and they must be in the same
* Region as the Linode.
*/
export declare const shareAddresses: (payload: IPSharingPayload) => Promise<{}>;
/**
* Displays the IPv6 pools on your Account.
*
*/
export declare const getIPv6Pools: (params?: Params) => Promise<Page<IPRange>>;
/**
* View IPv6 range information.
*
*/
export declare const getIPv6Ranges: (params?: Params, filter?: Filter) => Promise<Page<IPRange>>;
/**
* Returns information about a single IPv6 range on your Account.
*
* @param range { string } The range address to operate on.
*/
export declare const getIPv6RangeInfo: (range: string, params?: Params) => Promise<IPRangeInformation>;
/**
* Allows self-serving range creation by the customer
*
*/
export declare const createIPv6Range: (payload: CreateIPv6RangePayload) => Promise<{}>;
//# sourceMappingURL=networking.d.ts.map