import * as core from "@terrascript/core"; export interface EnvironmentArgs extends core.SchemaArgs { key: string | core.StringOut; secure?: boolean | core.BooleanOut; value: string | core.StringOut; } export class Environment extends core.Schema { @core.attr(String) public key!: string | core.StringOut; @core.attr(Boolean) public secure?: boolean | core.BooleanOut; @core.attr(String) public value!: string | core.StringOut; } export interface AppSourceArgs extends core.SchemaArgs { password?: string | core.StringOut; revision?: string | core.StringOut; sshKey?: string | core.StringOut; type: string | core.StringOut; url?: string | core.StringOut; username?: string | core.StringOut; } export class AppSource extends core.Schema { @core.attr(String) public password?: string | core.StringOut; @core.attr(String) public revision?: string | core.StringOut; @core.attr(String) public sshKey?: string | core.StringOut; @core.attr(String) public type!: string | core.StringOut; @core.attr(String) public url?: string | core.StringOut; @core.attr(String) public username?: string | core.StringOut; } export interface SslConfigurationArgs extends core.SchemaArgs { certificate: string | core.StringOut; chain?: string | core.StringOut; privateKey: string | core.StringOut; } export class SslConfiguration extends core.Schema { @core.attr(String) public certificate!: string | core.StringOut; @core.attr(String) public chain?: string | core.StringOut; @core.attr(String) public privateKey!: string | core.StringOut; } export interface ApplicationArgs extends core.ResourceArgs { /** * (Optional) SCM configuration of the app as described below. */ appSource?: core.Array | core.ArrayOut; /** * (Optional) Run bundle install when deploying for application of type `rails`. */ autoBundleOnDeploy?: string | core.StringOut; /** * (Optional) Specify activity and workflow workers for your app using the aws-flow gem. */ awsFlowRubySettings?: string | core.StringOut; /** * (Optional) The data source's ARN. */ dataSourceArn?: string | core.StringOut; /** * (Optional) The database name. */ dataSourceDatabaseName?: string | core.StringOut; /** * (Optional) The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, * or `RdsDbInstance`. */ dataSourceType?: string | core.StringOut; /** * (Optional) A description of the app. */ description?: string | core.StringOut; /** * (Optional) Subfolder for the document root for application of type `rails`. */ documentRoot?: string | core.StringOut; /** * (Optional) A list of virtual host alias. */ domains?: core.Array | core.ArrayOut; /** * (Optional) Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.pr * ivate_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. */ enableSsl?: boolean | core.BooleanOut; /** * (Optional) Object to define environment variables. Object is described below. */ environment?: core.Array | core.ArrayOut; /** * (Required) A human-readable name for the application. */ name: string | core.StringOut; /** * (Required if `type` = `rails`) The name of the Rails environment for application of type `rails`. */ railsEnv?: string | core.StringOut; /** * (Required) A short, machine-readable name for the application. This can only be defined on resource * creation and ignored on resource update. */ shortName?: string | core.StringOut; /** * (Optional) The SSL configuration of the app. Object is described below. */ sslConfiguration?: | core.Array | core.ArrayOut; /** * (Required) The id of the stack the application will belong to. */ stackId: string | core.StringOut; /** * (Required) Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `sta * tic` or `other`. */ type: string | core.StringOut; } export class Application extends core.Resource { /** * (Optional) SCM configuration of the app as described below. */ @core.attr(AppSource, { computed: true, kind: "array" }) public appSource?: core.Array | core.ArrayOut; /** * (Optional) Run bundle install when deploying for application of type `rails`. */ @core.attr(String) public autoBundleOnDeploy?: string | core.StringOut; /** * (Optional) Specify activity and workflow workers for your app using the aws-flow gem. */ @core.attr(String) public awsFlowRubySettings?: string | core.StringOut; /** * (Optional) The data source's ARN. */ @core.attr(String) public dataSourceArn?: string | core.StringOut; /** * (Optional) The database name. */ @core.attr(String) public dataSourceDatabaseName?: string | core.StringOut; /** * (Optional) The data source's type one of `AutoSelectOpsworksMysqlInstance`, `OpsworksMysqlInstance`, * or `RdsDbInstance`. */ @core.attr(String) public dataSourceType?: string | core.StringOut; /** * (Optional) A description of the app. */ @core.attr(String) public description?: string | core.StringOut; /** * (Optional) Subfolder for the document root for application of type `rails`. */ @core.attr(String) public documentRoot?: string | core.StringOut; /** * (Optional) A list of virtual host alias. */ @core.attr(String, { kind: "array" }) public domains?: core.Array | core.ArrayOut; /** * (Optional) Whether to enable SSL for the app. This must be set in order to let `ssl_configuration.pr * ivate_key`, `ssl_configuration.certificate` and `ssl_configuration.chain` take effect. */ @core.attr(Boolean) public enableSsl?: boolean | core.BooleanOut; /** * (Optional) Object to define environment variables. Object is described below. */ @core.attr(Environment, { kind: "array" }) public environment?: core.Array | core.ArrayOut; /** * The id of the application. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) A human-readable name for the application. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required if `type` = `rails`) The name of the Rails environment for application of type `rails`. */ @core.attr(String) public railsEnv?: string | core.StringOut; /** * (Required) A short, machine-readable name for the application. This can only be defined on resource * creation and ignored on resource update. */ @core.attr(String, { computed: true }) public shortName?: string | core.StringOut; /** * (Optional) The SSL configuration of the app. Object is described below. */ @core.attr(SslConfiguration, { kind: "array" }) public sslConfiguration?: | core.Array | core.ArrayOut; /** * (Required) The id of the stack the application will belong to. */ @core.attr(String) public stackId!: string | core.StringOut; /** * (Required) Opsworks application type. One of `aws-flow-ruby`, `java`, `rails`, `php`, `nodejs`, `sta * tic` or `other`. */ @core.attr(String) public type!: string | core.StringOut; constructor(name: string, args?: ApplicationArgs) { super(name, "aws_opsworks_application", args); } public override getNamespace(): string { return "aws_opsworks"; } }