import { Construct, PolicyPrincipal, PolicyStatement, Token } from '@aws-cdk/cdk'; import { GroupArn } from './iam.generated'; import { IIdentityResource, IPrincipal, Policy } from './policy'; import { User } from './user'; export interface GroupProps { /** * A name for the IAM group. For valid values, see the GroupName parameter * for the CreateGroup action in the IAM API Reference. If you don't specify * a name, AWS CloudFormation generates a unique physical ID and uses that * ID for the group name. * * If you specify a name, you must specify the CAPABILITY_NAMED_IAM value to * acknowledge your template's capabilities. For more information, see * Acknowledging IAM Resources in AWS CloudFormation Templates. * * @default Generated by CloudFormation (recommended) */ groupName?: string; /** * A list of ARNs for managed policies associated with group. * @default No managed policies. */ managedPolicyArns?: any[]; /** * The path to the group. For more information about paths, see [IAM * Identifiers](http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html) * in the IAM User Guide. */ path?: string; } export declare class Group extends Construct implements IIdentityResource, IPrincipal { /** * The runtime name of this group. */ readonly groupName: GroupName; /** * The ARN of this group. */ readonly groupArn: GroupArn; /** * An "AWS" policy principal that represents this group. */ readonly principal: PolicyPrincipal; private readonly managedPolicies; private readonly attachedPolicies; private defaultPolicy?; constructor(parent: Construct, name: string, props?: GroupProps); /** * Attaches a managed policy to this group. * @param arn The ARN of the managed policy to attach. */ attachManagedPolicy(arn: any): void; /** * Attaches a policy to this group. * @param policy The policy to attach. */ attachInlinePolicy(policy: Policy): void; /** * Adds a user to this group. */ addUser(user: User): void; /** * Adds an IAM statement to the default policy. */ addToPolicy(statement: PolicyStatement): void; } export declare class GroupName extends Token { }