import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class ProvisionalConfiguration { MaxTimeToLiveInMinutes ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ConsumptionConfiguration { RenewType ? : Value < string > ; ProvisionalConfiguration ? : ProvisionalConfiguration ; BorrowConfiguration ? : BorrowConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class IssuerData { Name ! : Value < string > ; SignKey ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BorrowConfiguration { MaxTimeToLiveInMinutes ! : Value < number > ; AllowEarlyCheckIn ! : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Metadata { Name ! : Value < string > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Entitlement { Name ! : Value < string > ; Value ? : Value < string > ; MaxCount ? : Value < number > ; Overage ? : Value < boolean > ; Unit ! : Value < string > ; AllowCheckIn ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ValidityDateFormat { Begin ! : Value < string > ; End ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface LicenseProperties { ProductSKU ? : Value < string > ; Issuer : IssuerData ; LicenseName : Value < string > ; ProductName : Value < string > ; HomeRegion : Value < string > ; Validity : ValidityDateFormat ; Entitlements : List < Entitlement > ; Beneficiary ? : Value < string > ; ConsumptionConfiguration : ConsumptionConfiguration ; LicenseMetadata ? : List < Metadata > ; Status ? : Value < string > ; } export default class License extends ResourceBase < LicenseProperties > { static ProvisionalConfiguration = ProvisionalConfiguration ; static ConsumptionConfiguration = ConsumptionConfiguration ; static IssuerData = IssuerData ; static BorrowConfiguration = BorrowConfiguration ; static Metadata = Metadata ; static Entitlement = Entitlement ; static ValidityDateFormat = ValidityDateFormat ; constructor ( properties ) { super ( 'AWS::LicenseManager::License' , properties ) ; } }