Skip to content

App ​

The App resource allows you to manage AWS OpsWorks Apps and their configuration settings within the AWS ecosystem.

Minimal Example ​

Create a basic OpsWorks app with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const myApp = await AWS.OpsWorks.App("myFirstApp", {
  Name: "MyFirstApp",
  StackId: "arn:aws:opsworks:us-west-2:123456789012:stack/abcd1234-56ef-78gh-90ij-klmnopqrst",
  Type: "web",
  EnableSsl: true
});

Advanced Configuration ​

Configure an OpsWorks app with a custom source and environment variables for more complex applications.

ts
const advancedApp = await AWS.OpsWorks.App("advancedApp", {
  Name: "AdvancedApp",
  StackId: "arn:aws:opsworks:us-west-2:123456789012:stack/abcd1234-56ef-78gh-90ij-klmnopqrst",
  Type: "web",
  AppSource: {
    Type: "git",
    Url: "https://github.com/myrepo/myapp.git",
    SshKey: "my-ssh-key"
  },
  Environment: [
    { Name: "DATABASE_URL", Value: "mysql://user:pass@hostname:3306/dbname" },
    { Name: "NODE_ENV", Value: "production" }
  ],
  Attributes: {
    "DeployHook": "https://hooks.example.com/deploy"
  }
});

SSL Configuration ​

Create an OpsWorks app with SSL configuration for secure connections.

ts
const sslApp = await AWS.OpsWorks.App("sslApp", {
  Name: "SslApp",
  StackId: "arn:aws:opsworks:us-west-2:123456789012:stack/abcd1234-56ef-78gh-90ij-klmnopqrst",
  Type: "web",
  EnableSsl: true,
  SslConfiguration: {
    Certificate: "-----BEGIN CERTIFICATE-----\n...certificate...\n-----END CERTIFICATE-----",
    PrivateKey: "-----BEGIN PRIVATE KEY-----\n...private_key...\n-----END PRIVATE KEY-----",
    Chain: "-----BEGIN CERTIFICATE-----\n...chain...\n-----END CERTIFICATE-----"
  }
});

Multiple Data Sources ​

Create an OpsWorks app that utilizes multiple data sources for enhanced functionality.

ts
const multiDataSourceApp = await AWS.OpsWorks.App("multiDataSourceApp", {
  Name: "MultiDataSourceApp",
  StackId: "arn:aws:opsworks:us-west-2:123456789012:stack/abcd1234-56ef-78gh-90ij-klmnopqrst",
  Type: "web",
  DataSources: [
    {
      Type: "database",
      Arn: "arn:aws:rds:us-west-2:123456789012:db:mydatabase",
      DatabaseName: "mydatabase"
    },
    {
      Type: "filesystem",
      Arn: "arn:aws:elasticfilesystem:us-west-2:123456789012:file-system/fs-12345678",
      MountPoint: "/mnt/myfs"
    }
  ]
});