import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class RegionalConfiguration { ReplicationGroupId ? : Value < string > ; ReplicationGroupRegion ? : Value < string > ; ReshardingConfigurations ? : List < ReshardingConfiguration > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ReshardingConfiguration { NodeGroupId ? : Value < string > ; PreferredAvailabilityZones ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GlobalReplicationGroupMember { ReplicationGroupId ? : Value < string > ; ReplicationGroupRegion ? : Value < string > ; Role ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface GlobalReplicationGroupProperties { GlobalReplicationGroupIdSuffix ? : Value < string > ; AutomaticFailoverEnabled ? : Value < boolean > ; CacheNodeType ? : Value < string > ; EngineVersion ? : Value < string > ; CacheParameterGroupName ? : Value < string > ; GlobalNodeGroupCount ? : Value < number > ; GlobalReplicationGroupDescription ? : Value < string > ; Members : List < GlobalReplicationGroupMember > ; RegionalConfigurations ? : List < RegionalConfiguration > ; } export default class GlobalReplicationGroup extends ResourceBase < GlobalReplicationGroupProperties > { static RegionalConfiguration = RegionalConfiguration ; static ReshardingConfiguration = ReshardingConfiguration ; static GlobalReplicationGroupMember = GlobalReplicationGroupMember ; constructor ( properties ) { super ( 'AWS::ElastiCache::GlobalReplicationGroup' , properties ) ; } }