import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LogList { Audit ? : Value < boolean > ; General ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class User { Username ! : Value < string > ; Groups ? : List < Value < string > > ; ConsoleAccess ? : Value < boolean > ; Password ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LdapServerMetadata { Hosts ! : List < Value < string > > ; UserRoleName ? : Value < string > ; UserSearchMatching ! : Value < string > ; RoleName ? : Value < string > ; UserBase ! : Value < string > ; UserSearchSubtree ? : Value < boolean > ; RoleSearchMatching ! : Value < string > ; ServiceAccountUsername ! : Value < string > ; RoleBase ! : Value < string > ; ServiceAccountPassword ! : Value < string > ; RoleSearchSubtree ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EncryptionOptions { KmsKeyId ? : Value < string > ; UseAwsOwnedKey ! : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class MaintenanceWindow { DayOfWeek ! : Value < string > ; TimeOfDay ! : Value < string > ; TimeZone ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TagsEntry { Value ! : Value < string > ; Key ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ConfigurationId { Revision ! : Value < number > ; Id ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface BrokerProperties { SecurityGroups ? : List < Value < string > > ; StorageType ? : Value < string > ; EngineVersion : Value < string > ; Configuration ? : ConfigurationId ; AuthenticationStrategy ? : Value < string > ; MaintenanceWindowStartTime ? : MaintenanceWindow ; HostInstanceType : Value < string > ; AutoMinorVersionUpgrade : Value < boolean > ; Users : List < User > ; Logs ? : LogList ; SubnetIds ? : List < Value < string > > ; BrokerName : Value < string > ; LdapServerMetadata ? : LdapServerMetadata ; DeploymentMode : Value < string > ; EngineType : Value < string > ; PubliclyAccessible : Value < boolean > ; EncryptionOptions ? : EncryptionOptions ; Tags ? : List < TagsEntry > ; } export default class Broker extends ResourceBase < BrokerProperties > { static LogList = LogList ; static User = User ; static LdapServerMetadata = LdapServerMetadata ; static EncryptionOptions = EncryptionOptions ; static MaintenanceWindow = MaintenanceWindow ; static TagsEntry = TagsEntry ; static ConfigurationId = ConfigurationId ; constructor ( properties ) { super ( 'AWS::AmazonMQ::Broker' , properties ) ; } }