@cloud-copilot/iam-policy
Version:
An ORM for AWS IAM policies
41 lines • 1.13 kB
TypeScript
import { Statement } from '../statements/statement.js';
export interface Policy<T = undefined> {
/**
* The version of the policy
*/
version(): string | undefined;
/**
* The ID of the policy
*/
id(): string | undefined;
/**
* The statements in the policy
*/
statements(): Statement[];
/**
* Whether the statement is an array
*/
statementIsArray(): boolean;
/**
* The raw policy object as JSON
*/
toJSON(): any;
/**
* Metadata is any object to store additional information about the policy.
* Up to you as a user to define the type of the metadata and is optional.
*/
metadata(): T;
}
export declare class PolicyImpl<T = undefined> implements Policy<T> {
private readonly policyObject;
private readonly theMetadata?;
constructor(policyObject: any, theMetadata?: T | undefined);
version(): string | undefined;
id(): string | undefined;
statements(): Statement[];
private newStatements;
statementIsArray(): boolean;
toJSON(): any;
metadata(): T;
}
//# sourceMappingURL=policy.d.ts.map