import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LoginProfile { Password ! : Value < string > ; PasswordResetRequired ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Policy { PolicyDocument ! : { [ key ] : any ; } ; PolicyName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface UserProperties { Groups ? : List < Value < string > > ; LoginProfile ? : LoginProfile ; ManagedPolicyArns ? : List < Value < string > > ; Path ? : Value < string > ; PermissionsBoundary ? : Value < string > ; Policies ? : List < Policy > ; Tags ? : List < ResourceTag > ; UserName ? : Value < string > ; } export default class User extends ResourceBase < UserProperties > { static LoginProfile = LoginProfile ; static Policy = Policy ; constructor ( properties ? ) { super ( 'AWS::IAM::User' , properties || { } ) ; } }