UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

370 lines 10.5 kB
import * as Core from 'cloudflare/core'; import { APIResource } from 'cloudflare/resource'; import * as MembersAPI from 'cloudflare/resources/accounts/members'; import * as RolesAPI from 'cloudflare/resources/accounts/roles'; import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflare/pagination'; export declare class Members extends APIResource { /** * Add a user to the list of members for this account. */ create(params: MemberCreateParams, options?: Core.RequestOptions): Core.APIPromise<AccountMemberWithID>; /** * Modify an account member. */ update(memberId: string, params: MemberUpdateParams, options?: Core.RequestOptions): Core.APIPromise<AccountMember>; /** * List all members of an account. */ list(params: MemberListParams, options?: Core.RequestOptions): Core.PagePromise<MemberListResponsesV4PagePaginationArray, MemberListResponse>; /** * Remove a member from an account. */ delete(memberId: string, params: MemberDeleteParams, options?: Core.RequestOptions): Core.APIPromise<MemberDeleteResponse | null>; /** * Get information about a specific member of an account. */ get(memberId: string, params: MemberGetParams, options?: Core.RequestOptions): Core.APIPromise<AccountMember>; } export declare class MemberListResponsesV4PagePaginationArray extends V4PagePaginationArray<MemberListResponse> { } export interface AccountMember { /** * Membership identifier tag. */ id: string; /** * Roles assigned to this member. */ roles: Array<AccountMember.Role>; status: unknown; user: AccountMember.User; } export declare namespace AccountMember { interface Role { /** * Role identifier tag. */ id: string; /** * Description of role's permissions. */ description: string; /** * Role name. */ name: string; permissions: Role.Permissions; } namespace Role { interface Permissions { analytics?: Permissions.Analytics; billing?: Permissions.Billing; cache_purge?: Permissions.CachePurge; dns?: Permissions.DNS; dns_records?: Permissions.DNSRecords; lb?: Permissions.Lb; logs?: Permissions.Logs; organization?: Permissions.Organization; ssl?: Permissions.SSL; waf?: Permissions.WAF; zone_settings?: Permissions.ZoneSettings; zones?: Permissions.Zones; } namespace Permissions { interface Analytics { read?: boolean; write?: boolean; } interface Billing { read?: boolean; write?: boolean; } interface CachePurge { read?: boolean; write?: boolean; } interface DNS { read?: boolean; write?: boolean; } interface DNSRecords { read?: boolean; write?: boolean; } interface Lb { read?: boolean; write?: boolean; } interface Logs { read?: boolean; write?: boolean; } interface Organization { read?: boolean; write?: boolean; } interface SSL { read?: boolean; write?: boolean; } interface WAF { read?: boolean; write?: boolean; } interface ZoneSettings { read?: boolean; write?: boolean; } interface Zones { read?: boolean; write?: boolean; } } } interface User { /** * The contact email address of the user. */ email: string; /** * Identifier */ id?: string; /** * User's first name */ first_name?: string | null; /** * User's last name */ last_name?: string | null; /** * Indicates whether two-factor authentication is enabled for the user account. * Does not apply to API authentication. */ two_factor_authentication_enabled?: boolean; } } export interface AccountMemberWithID { /** * Membership identifier tag. */ id: string; /** * Roles assigned to this member. */ roles: Array<AccountMemberWithID.Role>; status: unknown; user: AccountMemberWithID.User; /** * The unique activation code for the account membership. */ code?: string; } export declare namespace AccountMemberWithID { interface Role { /** * Role identifier tag. */ id: string; /** * Description of role's permissions. */ description: string; /** * Role name. */ name: string; permissions: Role.Permissions; } namespace Role { interface Permissions { analytics?: Permissions.Analytics; billing?: Permissions.Billing; cache_purge?: Permissions.CachePurge; dns?: Permissions.DNS; dns_records?: Permissions.DNSRecords; lb?: Permissions.Lb; logs?: Permissions.Logs; organization?: Permissions.Organization; ssl?: Permissions.SSL; waf?: Permissions.WAF; zone_settings?: Permissions.ZoneSettings; zones?: Permissions.Zones; } namespace Permissions { interface Analytics { read?: boolean; write?: boolean; } interface Billing { read?: boolean; write?: boolean; } interface CachePurge { read?: boolean; write?: boolean; } interface DNS { read?: boolean; write?: boolean; } interface DNSRecords { read?: boolean; write?: boolean; } interface Lb { read?: boolean; write?: boolean; } interface Logs { read?: boolean; write?: boolean; } interface Organization { read?: boolean; write?: boolean; } interface SSL { read?: boolean; write?: boolean; } interface WAF { read?: boolean; write?: boolean; } interface ZoneSettings { read?: boolean; write?: boolean; } interface Zones { read?: boolean; write?: boolean; } } } interface User { /** * The contact email address of the user. */ email: string; /** * Identifier */ id?: string; /** * User's first name */ first_name?: string | null; /** * User's last name */ last_name?: string | null; /** * Indicates whether two-factor authentication is enabled for the user account. * Does not apply to API authentication. */ two_factor_authentication_enabled?: boolean; } } export interface MemberListResponse { /** * Identifier */ id: string; /** * The contact email address of the user. */ email: string; /** * Member Name. */ name: string | null; /** * Roles assigned to this Member. */ roles: Array<RolesAPI.Role>; /** * A member's status in the organization. */ status: 'accepted' | 'invited'; } export interface MemberDeleteResponse { /** * Identifier */ id: string; } export interface MemberCreateParams { /** * Path param: */ account_id: unknown; /** * Body param: The contact email address of the user. */ email: string; /** * Body param: Array of roles associated with this member. */ roles: Array<string>; /** * Body param: */ status?: 'accepted' | 'pending'; } export interface MemberUpdateParams { /** * Path param: */ account_id: unknown; /** * Body param: Roles assigned to this member. */ roles: Array<MemberUpdateParams.Role>; } export declare namespace MemberUpdateParams { interface Role { /** * Role identifier tag. */ id: string; } } export interface MemberListParams extends V4PagePaginationArrayParams { /** * Path param: */ account_id: unknown; /** * Query param: Direction to order results. */ direction?: 'asc' | 'desc'; /** * Query param: Field to order results by. */ order?: 'user.first_name' | 'user.last_name' | 'user.email' | 'status'; /** * Query param: A member's status in the account. */ status?: 'accepted' | 'pending' | 'rejected'; } export interface MemberDeleteParams { account_id: unknown; } export interface MemberGetParams { account_id: unknown; } export declare namespace Members { export import AccountMember = MembersAPI.AccountMember; export import AccountMemberWithID = MembersAPI.AccountMemberWithID; export import MemberListResponse = MembersAPI.MemberListResponse; export import MemberDeleteResponse = MembersAPI.MemberDeleteResponse; export import MemberListResponsesV4PagePaginationArray = MembersAPI.MemberListResponsesV4PagePaginationArray; export import MemberCreateParams = MembersAPI.MemberCreateParams; export import MemberUpdateParams = MembersAPI.MemberUpdateParams; export import MemberListParams = MembersAPI.MemberListParams; export import MemberDeleteParams = MembersAPI.MemberDeleteParams; export import MemberGetParams = MembersAPI.MemberGetParams; } //# sourceMappingURL=members.d.ts.map