import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class HostedZoneTag { Key ! : Value < string > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HostedZoneConfig { Comment ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class QueryLoggingConfig { CloudWatchLogsLogGroupArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VPC { VPCId ! : Value < string > ; VPCRegion ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface HostedZoneProperties { HostedZoneConfig ? : HostedZoneConfig ; HostedZoneTags ? : List < HostedZoneTag > ; Name : Value < string > ; QueryLoggingConfig ? : QueryLoggingConfig ; VPCs ? : List < VPC > ; } export default class HostedZone extends ResourceBase < HostedZoneProperties > { static HostedZoneTag = HostedZoneTag ; static HostedZoneConfig = HostedZoneConfig ; static QueryLoggingConfig = QueryLoggingConfig ; static VPC = VPC ; constructor ( properties ) { super ( 'AWS::Route53::HostedZone' , properties ) ; } }