@linode/api-v4
Version:
JavaScript wrapper around the Linode APIv4
151 lines • 5.98 kB
TypeScript
import type { Filter, ResourcePage as Page, Params } from '../types';
import type { AddSharegroupImagesPayload, AddSharegroupMemberPayload, CreateSharegroupPayload, GenerateSharegroupTokenPayload, Image, Sharegroup, SharegroupMember, SharegroupToken, UpdateSharegroupImagePayload, UpdateSharegroupMemberPayload, UpdateSharegroupPayload } from './types';
/**
* Create a Image Sharegroup.
*
* @param data { createSharegroupPayload } the sharegroup details
*/
export declare const createSharegroup: (data: CreateSharegroupPayload) => Promise<Sharegroup>;
/**
* Add Images to the Sharegroup
*
* @param sharegroupId { string } ID of the sharegroup to add images
* @param data { AddSharegroupImagesPayload } the image details
*/
export declare const addImagesToSharegroup: (sharegroupId: number, data: AddSharegroupImagesPayload) => Promise<Sharegroup>;
/**
* Add Member to the Sharegroup
*
* @param sharegroupId {string} ID of the Sharegroup to add member
* @param data {AddSharegroupMemberPayload} the Member details
*/
export declare const addMembersToSharegroup: (sharegroupId: number, data: AddSharegroupMemberPayload) => Promise<Sharegroup>;
/**
* Generate user token for the Sharegroup
*
* @param data {GenerateSharegroupTokenPayload} the token details
*/
export declare const generateSharegroupToken: (data: GenerateSharegroupTokenPayload) => Promise<SharegroupToken>;
/**
* Returns a paginated list of Sharegroups
*/
export declare const getSharegroups: (params?: Params, filters?: Filter) => Promise<Page<Sharegroup>>;
/**
* Lists all the sharegroups a given private image is present in.
*
* @param imageId { string } ID of the Image to look up.
*/
export declare const getSharegroupsFromImage: (imageId: string, params?: Params, filters?: Filter) => Promise<Page<Sharegroup>>;
/**
* Get information about a single Sharegroup
*
* @param sharegroupId {string} ID of the Sharegroup to look up
*/
export declare const getSharegroup: (sharegroupId: string) => Promise<Sharegroup>;
/**
* Get details of the Sharegroup the token has been accepted into
*
* @param token_uuid {string} Token UUID of the user
*/
export declare const getSharegroupFromToken: (token_uuid: string) => void;
/**
* Get a paginated list of Images present in a Sharegroup
*
* @param sharegroupId {string} ID of the Sharegroup to look up
*/
export declare const getSharegroupImages: (sharegroupId: string, params?: Params, filters?: Filter) => Promise<Page<Image>>;
/**
* Get a paginated list of Sharegroup Images the token has been accepted into
*
* @param token_uuid {string} Token UUID of the user
*/
export declare const getSharegroupImagesFromToken: (token_uuid: string, params?: Params, filters?: Filter) => void;
/**
* Get a paginated list of members part of the Sharegroup
*
* @param sharegroupId {string} ID of the Sharegroup to look up
*/
export declare const getSharegroupMembers: (sharegroupId: string, params?: Params, filters?: Filter) => void;
/**
* Get member details of a user from the Sharegroup
*
* @param sharegroupId {string} ID of the Sharegroup to look up
* @param token_uuid {string} Token UUID of the user to look up
*/
export declare const getSharegroupMember: (sharegroupId: string, token_uuid: string) => void;
/**
* Returns a paginated list of tokens created by the user
*/
export declare const getUserSharegroupTokens: (params?: Params, filters?: Filter) => void;
/**
* Get details about a specific token created by the user
*
* @param token_uuid Token UUID of the user to look up
*/
export declare const getUserSharegroupToken: (token_uuid: string) => void;
/**
* Update a Sharegroup.
*
* @param sharegroupId {string} ID of the Sharegroup to update
* @param data { updateSharegroupPayload } the sharegroup details
*/
export declare const updateSharegroup: (sharegroupId: string, data: UpdateSharegroupPayload) => Promise<Sharegroup>;
/**
* Update an Image in a Sharegroup.
*
* @param sharegroupId {string} ID of the Sharegroup the image belongs to
* @param imageId {string} ID of the Image to update
* @param data { UpdateSharegroupImagePayload } the updated image details
*/
interface UpdateSharegroupImage {
data: UpdateSharegroupImagePayload;
imageId: string;
sharegroupId: string;
}
export declare const updateSharegroupImage: ({ sharegroupId, imageId, data, }: UpdateSharegroupImage) => Promise<Image>;
/**
* Update a Sharegroup member's label
*
* @param token_uuid {string} token UUID of the user
* @param data {UpdateSharegroupMemberPayload} the updated label
*/
interface UpdateSharegroupMember {
data: UpdateSharegroupMemberPayload;
sharegroupId: string;
token_uuid: string;
}
export declare const updateSharegroupMember: ({ sharegroupId, token_uuid, data, }: UpdateSharegroupMember) => Promise<SharegroupMember>;
/**
* Update a user token's label
*
* @param token_uuid {string} token UUID of the user
* @param data {UpdateSharegroupMemberPayload} the updated label
*/
export declare const updateSharegroupToken: (token_uuid: string, data: UpdateSharegroupMemberPayload) => Promise<SharegroupToken>;
/**
* Delete a sharegroup
*
* @param sharegroupId {string} ID of the sharegroup to delete
*/
export declare const deleteSharegroup: (sharegroupId: string) => Promise<{}>;
/**
* Delete a sharegroup Image
*
* @param sharegroupId {string} ID of the sharegroup to delete
* @param imageId {string} ID of the image to delete
*/
export declare const deleteSharegroupImage: (sharegroupId: string, imageId: string) => Promise<{}>;
/**
* Delete a sharegroup Member
*
* @param token_uuid {string} Token UUID of the member to delete
*/
export declare const deleteSharegroupMember: (sharegroupId: string, token_uuid: string) => Promise<{}>;
/**
* Delete a user token
*
* @param token_uuid {string} Token UUID of the user to delete
*/
export declare const deleteSharegroupToken: (token_uuid: string) => Promise<{}>;
export {};
//# sourceMappingURL=sharegroup.d.ts.map