import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class DataSource { Arn ? : Value < string > ; DatabaseName ? : Value < string > ; Type ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SslConfiguration { Certificate ? : Value < string > ; Chain ? : Value < string > ; PrivateKey ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EnvironmentVariable { Key ! : Value < string > ; Secure ? : Value < boolean > ; Value ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Source { Password ? : Value < string > ; Revision ? : Value < string > ; SshKey ? : Value < string > ; Type ? : Value < string > ; Url ? : Value < string > ; Username ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface AppProperties { AppSource ? : Source ; Attributes ? : { [ key ] : Value < string > ; } ; DataSources ? : List < DataSource > ; Description ? : Value < string > ; Domains ? : List < Value < string > > ; EnableSsl ? : Value < boolean > ; Environment ? : List < EnvironmentVariable > ; Name : Value < string > ; Shortname ? : Value < string > ; SslConfiguration ? : SslConfiguration ; StackId : Value < string > ; Type : Value < string > ; } export default class App extends ResourceBase < AppProperties > { static DataSource = DataSource ; static SslConfiguration = SslConfiguration ; static EnvironmentVariable = EnvironmentVariable ; static Source = Source ; constructor ( properties ) { super ( 'AWS::OpsWorks::App' , properties ) ; } }