cloudflare
Version:
The official TypeScript library for the Cloudflare API
179 lines • 5.57 kB
TypeScript
import { APIResource } from "../../core/resource.js";
import { APIPromise } from "../../core/api-promise.js";
import { PagePromise, V4PagePaginationArray, type V4PagePaginationArrayParams } from "../../core/pagination.js";
import { RequestOptions } from "../../internal/request-options.js";
export declare class BasePermissionGroups extends APIResource {
static readonly _key: readonly ['iam', 'permissionGroups'];
/**
* List all the permissions groups for an account.
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const permissionGroupListResponse of client.iam.permissionGroups.list(
* { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
* )) {
* // ...
* }
* ```
*/
list(params: PermissionGroupListParams, options?: RequestOptions): PagePromise<PermissionGroupListResponsesV4PagePaginationArray, PermissionGroupListResponse>;
/**
* Get information about a specific permission group in an account.
*
* @example
* ```ts
* const permissionGroup =
* await client.iam.permissionGroups.get(
* '023e105f4ecef8ad9ca31a8372d0c353',
* { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
* );
* ```
*/
get(permissionGroupID: string, params: PermissionGroupGetParams, options?: RequestOptions): APIPromise<PermissionGroupGetResponse>;
}
export declare class PermissionGroups extends BasePermissionGroups {
}
export type PermissionGroupListResponsesV4PagePaginationArray = V4PagePaginationArray<PermissionGroupListResponse>;
/**
* A named group of permissions that map to a group of operations against
* resources.
*/
export interface PermissionGroupListResponse {
/**
* Identifier of the permission group.
*/
id: string;
/**
* Attributes associated to the permission group.
*/
meta?: PermissionGroupListResponse.Meta;
/**
* Name of the permission group.
*/
name?: string;
}
export declare namespace PermissionGroupListResponse {
/**
* Attributes associated to the permission group.
*/
interface Meta {
/**
* A category used to group permission groups.
*/
category?: string;
/**
* Indicates whether the permission group is deprecated.
*/
deprecated?: string;
/**
* Additional information about the permission group.
*/
description?: string;
/**
* Indicates whether the permission group can be edited.
*/
editable?: string;
/**
* The planned end-of-life date and time, when provided.
*/
eol_at?: string;
/**
* A label identifying the permission group.
*/
label?: string;
/**
* The scope associated with the permission group.
*/
scopes?: string;
/**
* Indicates the permission group's availability or visibility.
*/
visibility?: string;
}
}
/**
* A named group of permissions that map to a group of operations against
* resources.
*/
export interface PermissionGroupGetResponse {
/**
* Identifier of the permission group.
*/
id: string;
/**
* Attributes associated to the permission group.
*/
meta?: PermissionGroupGetResponse.Meta;
/**
* Name of the permission group.
*/
name?: string;
}
export declare namespace PermissionGroupGetResponse {
/**
* Attributes associated to the permission group.
*/
interface Meta {
/**
* A category used to group permission groups.
*/
category?: string;
/**
* Indicates whether the permission group is deprecated.
*/
deprecated?: string;
/**
* Additional information about the permission group.
*/
description?: string;
/**
* Indicates whether the permission group can be edited.
*/
editable?: string;
/**
* The planned end-of-life date and time, when provided.
*/
eol_at?: string;
/**
* A label identifying the permission group.
*/
label?: string;
/**
* The scope associated with the permission group.
*/
scopes?: string;
/**
* Indicates the permission group's availability or visibility.
*/
visibility?: string;
}
}
export interface PermissionGroupListParams extends V4PagePaginationArrayParams {
/**
* Path param: Account identifier tag.
*/
account_id: string;
/**
* Query param: ID of the permission group to be fetched.
*/
id?: string;
/**
* Query param: Label of the permission group to be fetched.
*/
label?: string;
/**
* Query param: Name of the permission group to be fetched.
*/
name?: string;
}
export interface PermissionGroupGetParams {
/**
* Account identifier tag.
*/
account_id: string;
}
export declare namespace PermissionGroups {
export { type PermissionGroupListResponse as PermissionGroupListResponse, type PermissionGroupGetResponse as PermissionGroupGetResponse, type PermissionGroupListResponsesV4PagePaginationArray as PermissionGroupListResponsesV4PagePaginationArray, type PermissionGroupListParams as PermissionGroupListParams, type PermissionGroupGetParams as PermissionGroupGetParams, };
}
//# sourceMappingURL=permission-groups.d.ts.map