1. Packages
  2. AWS Classic
  3. API Docs
  4. amplify
  5. App

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.28.1 published on Thursday, Mar 28, 2024 by Pulumi

aws.amplify.App

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.28.1 published on Thursday, Mar 28, 2024 by Pulumi

    Provides an Amplify App resource, a fullstack serverless app hosted on the AWS Amplify Console.

    Note: When you create/update an Amplify App from the provider, you may end up with the error “BadRequestException: You should at least provide one valid token” because of authentication issues. See the section “Repository with Tokens” below.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.amplify.App("example", {
        name: "example",
        repository: "https://github.com/example/app",
        buildSpec: `version: 0.1
    frontend:
      phases:
        preBuild:
          commands:
            - yarn install
        build:
          commands:
            - yarn run build
      artifacts:
        baseDirectory: build
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*
    `,
        customRules: [{
            source: "/<*>",
            status: "404",
            target: "/index.html",
        }],
        environmentVariables: {
            ENV: "test",
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.amplify.App("example",
        name="example",
        repository="https://github.com/example/app",
        build_spec="""version: 0.1
    frontend:
      phases:
        preBuild:
          commands:
            - yarn install
        build:
          commands:
            - yarn run build
      artifacts:
        baseDirectory: build
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*
    """,
        custom_rules=[aws.amplify.AppCustomRuleArgs(
            source="/<*>",
            status="404",
            target="/index.html",
        )],
        environment_variables={
            "ENV": "test",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := amplify.NewApp(ctx, "example", &amplify.AppArgs{
    			Name:       pulumi.String("example"),
    			Repository: pulumi.String("https://github.com/example/app"),
    			BuildSpec: pulumi.String(`version: 0.1
    frontend:
      phases:
        preBuild:
          commands:
            - yarn install
        build:
          commands:
            - yarn run build
      artifacts:
        baseDirectory: build
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*
    `),
    			CustomRules: amplify.AppCustomRuleArray{
    				&amplify.AppCustomRuleArgs{
    					Source: pulumi.String("/<*>"),
    					Status: pulumi.String("404"),
    					Target: pulumi.String("/index.html"),
    				},
    			},
    			EnvironmentVariables: pulumi.StringMap{
    				"ENV": pulumi.String("test"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Amplify.App("example", new()
        {
            Name = "example",
            Repository = "https://github.com/example/app",
            BuildSpec = @"version: 0.1
    frontend:
      phases:
        preBuild:
          commands:
            - yarn install
        build:
          commands:
            - yarn run build
      artifacts:
        baseDirectory: build
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*
    ",
            CustomRules = new[]
            {
                new Aws.Amplify.Inputs.AppCustomRuleArgs
                {
                    Source = "/<*>",
                    Status = "404",
                    Target = "/index.html",
                },
            },
            EnvironmentVariables = 
            {
                { "ENV", "test" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.amplify.App;
    import com.pulumi.aws.amplify.AppArgs;
    import com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new App("example", AppArgs.builder()        
                .name("example")
                .repository("https://github.com/example/app")
                .buildSpec("""
    version: 0.1
    frontend:
      phases:
        preBuild:
          commands:
            - yarn install
        build:
          commands:
            - yarn run build
      artifacts:
        baseDirectory: build
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*
                """)
                .customRules(AppCustomRuleArgs.builder()
                    .source("/<*>")
                    .status("404")
                    .target("/index.html")
                    .build())
                .environmentVariables(Map.of("ENV", "test"))
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:amplify:App
        properties:
          name: example
          repository: https://github.com/example/app
          buildSpec: |
            version: 0.1
            frontend:
              phases:
                preBuild:
                  commands:
                    - yarn install
                build:
                  commands:
                    - yarn run build
              artifacts:
                baseDirectory: build
                files:
                  - '**/*'
              cache:
                paths:
                  - node_modules/**/*        
          customRules:
            - source: /<*>
              status: '404'
              target: /index.html
          environmentVariables:
            ENV: test
    

    Repository with Tokens

    If you create a new Amplify App with the repository argument, you also need to set oauth_token or access_token for authentication. For GitHub, get a personal access token and set access_token as follows:

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.amplify.App("example", {
        name: "example",
        repository: "https://github.com/example/app",
        accessToken: "...",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.amplify.App("example",
        name="example",
        repository="https://github.com/example/app",
        access_token="...")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := amplify.NewApp(ctx, "example", &amplify.AppArgs{
    			Name:        pulumi.String("example"),
    			Repository:  pulumi.String("https://github.com/example/app"),
    			AccessToken: pulumi.String("..."),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Amplify.App("example", new()
        {
            Name = "example",
            Repository = "https://github.com/example/app",
            AccessToken = "...",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.amplify.App;
    import com.pulumi.aws.amplify.AppArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new App("example", AppArgs.builder()        
                .name("example")
                .repository("https://github.com/example/app")
                .accessToken("...")
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:amplify:App
        properties:
          name: example
          repository: https://github.com/example/app
          accessToken: '...'
    

    You can omit access_token if you import an existing Amplify App created by the Amplify Console (using OAuth for authentication).

    Auto Branch Creation

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.amplify.App("example", {
        name: "example",
        enableAutoBranchCreation: true,
        autoBranchCreationPatterns: [
            "*",
            "*/**",
        ],
        autoBranchCreationConfig: {
            enableAutoBuild: true,
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.amplify.App("example",
        name="example",
        enable_auto_branch_creation=True,
        auto_branch_creation_patterns=[
            "*",
            "*/**",
        ],
        auto_branch_creation_config=aws.amplify.AppAutoBranchCreationConfigArgs(
            enable_auto_build=True,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := amplify.NewApp(ctx, "example", &amplify.AppArgs{
    			Name:                     pulumi.String("example"),
    			EnableAutoBranchCreation: pulumi.Bool(true),
    			AutoBranchCreationPatterns: pulumi.StringArray{
    				pulumi.String("*"),
    				pulumi.String("*/**"),
    			},
    			AutoBranchCreationConfig: &amplify.AppAutoBranchCreationConfigArgs{
    				EnableAutoBuild: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Amplify.App("example", new()
        {
            Name = "example",
            EnableAutoBranchCreation = true,
            AutoBranchCreationPatterns = new[]
            {
                "*",
                "*/**",
            },
            AutoBranchCreationConfig = new Aws.Amplify.Inputs.AppAutoBranchCreationConfigArgs
            {
                EnableAutoBuild = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.amplify.App;
    import com.pulumi.aws.amplify.AppArgs;
    import com.pulumi.aws.amplify.inputs.AppAutoBranchCreationConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new App("example", AppArgs.builder()        
                .name("example")
                .enableAutoBranchCreation(true)
                .autoBranchCreationPatterns(            
                    "*",
                    "*/**")
                .autoBranchCreationConfig(AppAutoBranchCreationConfigArgs.builder()
                    .enableAutoBuild(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:amplify:App
        properties:
          name: example
          enableAutoBranchCreation: true # The default patterns added by the Amplify Console.
          autoBranchCreationPatterns:
            - '*'
            - '*/**'
          autoBranchCreationConfig:
            enableAutoBuild: true
    

    Basic Authorization

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    import * as std from "@pulumi/std";
    
    const example = new aws.amplify.App("example", {
        name: "example",
        enableBasicAuth: true,
        basicAuthCredentials: std.base64encode({
            input: "username1:password1",
        }).then(invoke => invoke.result),
    });
    
    import pulumi
    import pulumi_aws as aws
    import pulumi_std as std
    
    example = aws.amplify.App("example",
        name="example",
        enable_basic_auth=True,
        basic_auth_credentials=std.base64encode(input="username1:password1").result)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    			Input: "username1:password1",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = amplify.NewApp(ctx, "example", &amplify.AppArgs{
    			Name:                 pulumi.String("example"),
    			EnableBasicAuth:      pulumi.Bool(true),
    			BasicAuthCredentials: invokeBase64encode.Result,
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Amplify.App("example", new()
        {
            Name = "example",
            EnableBasicAuth = true,
            BasicAuthCredentials = Std.Base64encode.Invoke(new()
            {
                Input = "username1:password1",
            }).Apply(invoke => invoke.Result),
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.amplify.App;
    import com.pulumi.aws.amplify.AppArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new App("example", AppArgs.builder()        
                .name("example")
                .enableBasicAuth(true)
                .basicAuthCredentials(StdFunctions.base64encode(Base64encodeArgs.builder()
                    .input("username1:password1")
                    .build()).result())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:amplify:App
        properties:
          name: example
          enableBasicAuth: true
          basicAuthCredentials:
            fn::invoke:
              Function: std:base64encode
              Arguments:
                input: username1:password1
              Return: result
    

    Rewrites and Redirects

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.amplify.App("example", {
        name: "example",
        customRules: [
            {
                source: "/api/<*>",
                status: "200",
                target: "https://api.example.com/api/<*>",
            },
            {
                source: "</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>",
                status: "200",
                target: "/index.html",
            },
        ],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.amplify.App("example",
        name="example",
        custom_rules=[
            aws.amplify.AppCustomRuleArgs(
                source="/api/<*>",
                status="200",
                target="https://api.example.com/api/<*>",
            ),
            aws.amplify.AppCustomRuleArgs(
                source="</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>",
                status="200",
                target="/index.html",
            ),
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := amplify.NewApp(ctx, "example", &amplify.AppArgs{
    			Name: pulumi.String("example"),
    			CustomRules: amplify.AppCustomRuleArray{
    				&amplify.AppCustomRuleArgs{
    					Source: pulumi.String("/api/<*>"),
    					Status: pulumi.String("200"),
    					Target: pulumi.String("https://api.example.com/api/<*>"),
    				},
    				&amplify.AppCustomRuleArgs{
    					Source: pulumi.String("</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>"),
    					Status: pulumi.String("200"),
    					Target: pulumi.String("/index.html"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Amplify.App("example", new()
        {
            Name = "example",
            CustomRules = new[]
            {
                new Aws.Amplify.Inputs.AppCustomRuleArgs
                {
                    Source = "/api/<*>",
                    Status = "200",
                    Target = "https://api.example.com/api/<*>",
                },
                new Aws.Amplify.Inputs.AppCustomRuleArgs
                {
                    Source = "</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>",
                    Status = "200",
                    Target = "/index.html",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.amplify.App;
    import com.pulumi.aws.amplify.AppArgs;
    import com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new App("example", AppArgs.builder()        
                .name("example")
                .customRules(            
                    AppCustomRuleArgs.builder()
                        .source("/api/<*>")
                        .status("200")
                        .target("https://api.example.com/api/<*>")
                        .build(),
                    AppCustomRuleArgs.builder()
                        .source("</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>")
                        .status("200")
                        .target("/index.html")
                        .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:amplify:App
        properties:
          name: example
          customRules:
            - source: /api/<*>
              status: '200'
              target: https://api.example.com/api/<*>
            - source: </^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>
              status: '200'
              target: /index.html
    

    Custom Image

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.amplify.App("example", {
        name: "example",
        environmentVariables: {
            _CUSTOM_IMAGE: "node:16",
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.amplify.App("example",
        name="example",
        environment_variables={
            "_CUSTOM_IMAGE": "node:16",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := amplify.NewApp(ctx, "example", &amplify.AppArgs{
    			Name: pulumi.String("example"),
    			EnvironmentVariables: pulumi.StringMap{
    				"_CUSTOM_IMAGE": pulumi.String("node:16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Amplify.App("example", new()
        {
            Name = "example",
            EnvironmentVariables = 
            {
                { "_CUSTOM_IMAGE", "node:16" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.amplify.App;
    import com.pulumi.aws.amplify.AppArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new App("example", AppArgs.builder()        
                .name("example")
                .environmentVariables(Map.of("_CUSTOM_IMAGE", "node:16"))
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:amplify:App
        properties:
          name: example
          environmentVariables:
            _CUSTOM_IMAGE: node:16
    

    Custom Headers

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.amplify.App("example", {
        name: "example",
        customHeaders: `customHeaders:
      - pattern: '**'
        headers:
          - key: 'Strict-Transport-Security'
            value: 'max-age=31536000; includeSubDomains'
          - key: 'X-Frame-Options'
            value: 'SAMEORIGIN'
          - key: 'X-XSS-Protection'
            value: '1; mode=block'
          - key: 'X-Content-Type-Options'
            value: 'nosniff'
          - key: 'Content-Security-Policy'
            value: "default-src 'self'"
    `,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.amplify.App("example",
        name="example",
        custom_headers="""customHeaders:
      - pattern: '**'
        headers:
          - key: 'Strict-Transport-Security'
            value: 'max-age=31536000; includeSubDomains'
          - key: 'X-Frame-Options'
            value: 'SAMEORIGIN'
          - key: 'X-XSS-Protection'
            value: '1; mode=block'
          - key: 'X-Content-Type-Options'
            value: 'nosniff'
          - key: 'Content-Security-Policy'
            value: "default-src 'self'"
    """)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := amplify.NewApp(ctx, "example", &amplify.AppArgs{
    			Name: pulumi.String("example"),
    			CustomHeaders: pulumi.String(`customHeaders:
      - pattern: '**'
        headers:
          - key: 'Strict-Transport-Security'
            value: 'max-age=31536000; includeSubDomains'
          - key: 'X-Frame-Options'
            value: 'SAMEORIGIN'
          - key: 'X-XSS-Protection'
            value: '1; mode=block'
          - key: 'X-Content-Type-Options'
            value: 'nosniff'
          - key: 'Content-Security-Policy'
            value: "default-src 'self'"
    `),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Amplify.App("example", new()
        {
            Name = "example",
            CustomHeaders = @"customHeaders:
      - pattern: '**'
        headers:
          - key: 'Strict-Transport-Security'
            value: 'max-age=31536000; includeSubDomains'
          - key: 'X-Frame-Options'
            value: 'SAMEORIGIN'
          - key: 'X-XSS-Protection'
            value: '1; mode=block'
          - key: 'X-Content-Type-Options'
            value: 'nosniff'
          - key: 'Content-Security-Policy'
            value: ""default-src 'self'""
    ",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.amplify.App;
    import com.pulumi.aws.amplify.AppArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new App("example", AppArgs.builder()        
                .name("example")
                .customHeaders("""
    customHeaders:
      - pattern: '**'
        headers:
          - key: 'Strict-Transport-Security'
            value: 'max-age=31536000; includeSubDomains'
          - key: 'X-Frame-Options'
            value: 'SAMEORIGIN'
          - key: 'X-XSS-Protection'
            value: '1; mode=block'
          - key: 'X-Content-Type-Options'
            value: 'nosniff'
          - key: 'Content-Security-Policy'
            value: "default-src 'self'"
                """)
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:amplify:App
        properties:
          name: example
          customHeaders: |
            customHeaders:
              - pattern: '**'
                headers:
                  - key: 'Strict-Transport-Security'
                    value: 'max-age=31536000; includeSubDomains'
                  - key: 'X-Frame-Options'
                    value: 'SAMEORIGIN'
                  - key: 'X-XSS-Protection'
                    value: '1; mode=block'
                  - key: 'X-Content-Type-Options'
                    value: 'nosniff'
                  - key: 'Content-Security-Policy'
                    value: "default-src 'self'"        
    

    Create App Resource

    new App(name: string, args?: AppArgs, opts?: CustomResourceOptions);
    @overload
    def App(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            access_token: Optional[str] = None,
            auto_branch_creation_config: Optional[AppAutoBranchCreationConfigArgs] = None,
            auto_branch_creation_patterns: Optional[Sequence[str]] = None,
            basic_auth_credentials: Optional[str] = None,
            build_spec: Optional[str] = None,
            custom_headers: Optional[str] = None,
            custom_rules: Optional[Sequence[AppCustomRuleArgs]] = None,
            description: Optional[str] = None,
            enable_auto_branch_creation: Optional[bool] = None,
            enable_basic_auth: Optional[bool] = None,
            enable_branch_auto_build: Optional[bool] = None,
            enable_branch_auto_deletion: Optional[bool] = None,
            environment_variables: Optional[Mapping[str, str]] = None,
            iam_service_role_arn: Optional[str] = None,
            name: Optional[str] = None,
            oauth_token: Optional[str] = None,
            platform: Optional[str] = None,
            repository: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None)
    @overload
    def App(resource_name: str,
            args: Optional[AppArgs] = None,
            opts: Optional[ResourceOptions] = None)
    func NewApp(ctx *Context, name string, args *AppArgs, opts ...ResourceOption) (*App, error)
    public App(string name, AppArgs? args = null, CustomResourceOptions? opts = null)
    public App(String name, AppArgs args)
    public App(String name, AppArgs args, CustomResourceOptions options)
    
    type: aws:amplify:App
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    App Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The App resource accepts the following input properties:

    AccessToken string
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    AutoBranchCreationConfig AppAutoBranchCreationConfig
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    AutoBranchCreationPatterns List<string>
    Automated branch creation glob patterns for an Amplify app.
    BasicAuthCredentials string
    Credentials for basic authorization for an Amplify app.
    BuildSpec string
    The build specification (build spec) for an Amplify app.
    CustomHeaders string
    The custom HTTP headers for an Amplify app.
    CustomRules List<AppCustomRule>
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    Description string
    Description for an Amplify app.
    EnableAutoBranchCreation bool
    Enables automated branch creation for an Amplify app.
    EnableBasicAuth bool
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    EnableBranchAutoBuild bool
    Enables auto-building of branches for the Amplify App.
    EnableBranchAutoDeletion bool
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    EnvironmentVariables Dictionary<string, string>
    Environment variables map for an Amplify app.
    IamServiceRoleArn string
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    Name string
    Name for an Amplify app.
    OauthToken string
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    Platform string
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    Repository string
    Repository for an Amplify app.
    Tags Dictionary<string, string>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    AccessToken string
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    AutoBranchCreationConfig AppAutoBranchCreationConfigArgs
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    AutoBranchCreationPatterns []string
    Automated branch creation glob patterns for an Amplify app.
    BasicAuthCredentials string
    Credentials for basic authorization for an Amplify app.
    BuildSpec string
    The build specification (build spec) for an Amplify app.
    CustomHeaders string
    The custom HTTP headers for an Amplify app.
    CustomRules []AppCustomRuleArgs
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    Description string
    Description for an Amplify app.
    EnableAutoBranchCreation bool
    Enables automated branch creation for an Amplify app.
    EnableBasicAuth bool
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    EnableBranchAutoBuild bool
    Enables auto-building of branches for the Amplify App.
    EnableBranchAutoDeletion bool
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    EnvironmentVariables map[string]string
    Environment variables map for an Amplify app.
    IamServiceRoleArn string
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    Name string
    Name for an Amplify app.
    OauthToken string
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    Platform string
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    Repository string
    Repository for an Amplify app.
    Tags map[string]string
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    accessToken String
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    autoBranchCreationConfig AppAutoBranchCreationConfig
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    autoBranchCreationPatterns List<String>
    Automated branch creation glob patterns for an Amplify app.
    basicAuthCredentials String
    Credentials for basic authorization for an Amplify app.
    buildSpec String
    The build specification (build spec) for an Amplify app.
    customHeaders String
    The custom HTTP headers for an Amplify app.
    customRules List<AppCustomRule>
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    description String
    Description for an Amplify app.
    enableAutoBranchCreation Boolean
    Enables automated branch creation for an Amplify app.
    enableBasicAuth Boolean
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enableBranchAutoBuild Boolean
    Enables auto-building of branches for the Amplify App.
    enableBranchAutoDeletion Boolean
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environmentVariables Map<String,String>
    Environment variables map for an Amplify app.
    iamServiceRoleArn String
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name String
    Name for an Amplify app.
    oauthToken String
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform String
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    repository String
    Repository for an Amplify app.
    tags Map<String,String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    accessToken string
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    autoBranchCreationConfig AppAutoBranchCreationConfig
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    autoBranchCreationPatterns string[]
    Automated branch creation glob patterns for an Amplify app.
    basicAuthCredentials string
    Credentials for basic authorization for an Amplify app.
    buildSpec string
    The build specification (build spec) for an Amplify app.
    customHeaders string
    The custom HTTP headers for an Amplify app.
    customRules AppCustomRule[]
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    description string
    Description for an Amplify app.
    enableAutoBranchCreation boolean
    Enables automated branch creation for an Amplify app.
    enableBasicAuth boolean
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enableBranchAutoBuild boolean
    Enables auto-building of branches for the Amplify App.
    enableBranchAutoDeletion boolean
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environmentVariables {[key: string]: string}
    Environment variables map for an Amplify app.
    iamServiceRoleArn string
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name string
    Name for an Amplify app.
    oauthToken string
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform string
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    repository string
    Repository for an Amplify app.
    tags {[key: string]: string}
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    access_token str
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    auto_branch_creation_config AppAutoBranchCreationConfigArgs
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    auto_branch_creation_patterns Sequence[str]
    Automated branch creation glob patterns for an Amplify app.
    basic_auth_credentials str
    Credentials for basic authorization for an Amplify app.
    build_spec str
    The build specification (build spec) for an Amplify app.
    custom_headers str
    The custom HTTP headers for an Amplify app.
    custom_rules Sequence[AppCustomRuleArgs]
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    description str
    Description for an Amplify app.
    enable_auto_branch_creation bool
    Enables automated branch creation for an Amplify app.
    enable_basic_auth bool
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enable_branch_auto_build bool
    Enables auto-building of branches for the Amplify App.
    enable_branch_auto_deletion bool
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environment_variables Mapping[str, str]
    Environment variables map for an Amplify app.
    iam_service_role_arn str
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name str
    Name for an Amplify app.
    oauth_token str
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform str
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    repository str
    Repository for an Amplify app.
    tags Mapping[str, str]
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    accessToken String
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    autoBranchCreationConfig Property Map
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    autoBranchCreationPatterns List<String>
    Automated branch creation glob patterns for an Amplify app.
    basicAuthCredentials String
    Credentials for basic authorization for an Amplify app.
    buildSpec String
    The build specification (build spec) for an Amplify app.
    customHeaders String
    The custom HTTP headers for an Amplify app.
    customRules List<Property Map>
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    description String
    Description for an Amplify app.
    enableAutoBranchCreation Boolean
    Enables automated branch creation for an Amplify app.
    enableBasicAuth Boolean
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enableBranchAutoBuild Boolean
    Enables auto-building of branches for the Amplify App.
    enableBranchAutoDeletion Boolean
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environmentVariables Map<String>
    Environment variables map for an Amplify app.
    iamServiceRoleArn String
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name String
    Name for an Amplify app.
    oauthToken String
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform String
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    repository String
    Repository for an Amplify app.
    tags Map<String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the App resource produces the following output properties:

    Arn string
    ARN of the Amplify app.
    DefaultDomain string
    Default domain for the Amplify app.
    Id string
    The provider-assigned unique ID for this managed resource.
    ProductionBranches List<AppProductionBranch>
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    Arn string
    ARN of the Amplify app.
    DefaultDomain string
    Default domain for the Amplify app.
    Id string
    The provider-assigned unique ID for this managed resource.
    ProductionBranches []AppProductionBranch
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn String
    ARN of the Amplify app.
    defaultDomain String
    Default domain for the Amplify app.
    id String
    The provider-assigned unique ID for this managed resource.
    productionBranches List<AppProductionBranch>
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn string
    ARN of the Amplify app.
    defaultDomain string
    Default domain for the Amplify app.
    id string
    The provider-assigned unique ID for this managed resource.
    productionBranches AppProductionBranch[]
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn str
    ARN of the Amplify app.
    default_domain str
    Default domain for the Amplify app.
    id str
    The provider-assigned unique ID for this managed resource.
    production_branches Sequence[AppProductionBranch]
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    arn String
    ARN of the Amplify app.
    defaultDomain String
    Default domain for the Amplify app.
    id String
    The provider-assigned unique ID for this managed resource.
    productionBranches List<Property Map>
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    Look up Existing App Resource

    Get an existing App resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AppState, opts?: CustomResourceOptions): App
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            access_token: Optional[str] = None,
            arn: Optional[str] = None,
            auto_branch_creation_config: Optional[AppAutoBranchCreationConfigArgs] = None,
            auto_branch_creation_patterns: Optional[Sequence[str]] = None,
            basic_auth_credentials: Optional[str] = None,
            build_spec: Optional[str] = None,
            custom_headers: Optional[str] = None,
            custom_rules: Optional[Sequence[AppCustomRuleArgs]] = None,
            default_domain: Optional[str] = None,
            description: Optional[str] = None,
            enable_auto_branch_creation: Optional[bool] = None,
            enable_basic_auth: Optional[bool] = None,
            enable_branch_auto_build: Optional[bool] = None,
            enable_branch_auto_deletion: Optional[bool] = None,
            environment_variables: Optional[Mapping[str, str]] = None,
            iam_service_role_arn: Optional[str] = None,
            name: Optional[str] = None,
            oauth_token: Optional[str] = None,
            platform: Optional[str] = None,
            production_branches: Optional[Sequence[AppProductionBranchArgs]] = None,
            repository: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None) -> App
    func GetApp(ctx *Context, name string, id IDInput, state *AppState, opts ...ResourceOption) (*App, error)
    public static App Get(string name, Input<string> id, AppState? state, CustomResourceOptions? opts = null)
    public static App get(String name, Output<String> id, AppState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccessToken string
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    Arn string
    ARN of the Amplify app.
    AutoBranchCreationConfig AppAutoBranchCreationConfig
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    AutoBranchCreationPatterns List<string>
    Automated branch creation glob patterns for an Amplify app.
    BasicAuthCredentials string
    Credentials for basic authorization for an Amplify app.
    BuildSpec string
    The build specification (build spec) for an Amplify app.
    CustomHeaders string
    The custom HTTP headers for an Amplify app.
    CustomRules List<AppCustomRule>
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    DefaultDomain string
    Default domain for the Amplify app.
    Description string
    Description for an Amplify app.
    EnableAutoBranchCreation bool
    Enables automated branch creation for an Amplify app.
    EnableBasicAuth bool
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    EnableBranchAutoBuild bool
    Enables auto-building of branches for the Amplify App.
    EnableBranchAutoDeletion bool
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    EnvironmentVariables Dictionary<string, string>
    Environment variables map for an Amplify app.
    IamServiceRoleArn string
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    Name string
    Name for an Amplify app.
    OauthToken string
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    Platform string
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    ProductionBranches List<AppProductionBranch>
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    Repository string
    Repository for an Amplify app.
    Tags Dictionary<string, string>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    AccessToken string
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    Arn string
    ARN of the Amplify app.
    AutoBranchCreationConfig AppAutoBranchCreationConfigArgs
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    AutoBranchCreationPatterns []string
    Automated branch creation glob patterns for an Amplify app.
    BasicAuthCredentials string
    Credentials for basic authorization for an Amplify app.
    BuildSpec string
    The build specification (build spec) for an Amplify app.
    CustomHeaders string
    The custom HTTP headers for an Amplify app.
    CustomRules []AppCustomRuleArgs
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    DefaultDomain string
    Default domain for the Amplify app.
    Description string
    Description for an Amplify app.
    EnableAutoBranchCreation bool
    Enables automated branch creation for an Amplify app.
    EnableBasicAuth bool
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    EnableBranchAutoBuild bool
    Enables auto-building of branches for the Amplify App.
    EnableBranchAutoDeletion bool
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    EnvironmentVariables map[string]string
    Environment variables map for an Amplify app.
    IamServiceRoleArn string
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    Name string
    Name for an Amplify app.
    OauthToken string
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    Platform string
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    ProductionBranches []AppProductionBranchArgs
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    Repository string
    Repository for an Amplify app.
    Tags map[string]string
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    accessToken String
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    arn String
    ARN of the Amplify app.
    autoBranchCreationConfig AppAutoBranchCreationConfig
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    autoBranchCreationPatterns List<String>
    Automated branch creation glob patterns for an Amplify app.
    basicAuthCredentials String
    Credentials for basic authorization for an Amplify app.
    buildSpec String
    The build specification (build spec) for an Amplify app.
    customHeaders String
    The custom HTTP headers for an Amplify app.
    customRules List<AppCustomRule>
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    defaultDomain String
    Default domain for the Amplify app.
    description String
    Description for an Amplify app.
    enableAutoBranchCreation Boolean
    Enables automated branch creation for an Amplify app.
    enableBasicAuth Boolean
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enableBranchAutoBuild Boolean
    Enables auto-building of branches for the Amplify App.
    enableBranchAutoDeletion Boolean
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environmentVariables Map<String,String>
    Environment variables map for an Amplify app.
    iamServiceRoleArn String
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name String
    Name for an Amplify app.
    oauthToken String
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform String
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    productionBranches List<AppProductionBranch>
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    repository String
    Repository for an Amplify app.
    tags Map<String,String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    accessToken string
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    arn string
    ARN of the Amplify app.
    autoBranchCreationConfig AppAutoBranchCreationConfig
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    autoBranchCreationPatterns string[]
    Automated branch creation glob patterns for an Amplify app.
    basicAuthCredentials string
    Credentials for basic authorization for an Amplify app.
    buildSpec string
    The build specification (build spec) for an Amplify app.
    customHeaders string
    The custom HTTP headers for an Amplify app.
    customRules AppCustomRule[]
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    defaultDomain string
    Default domain for the Amplify app.
    description string
    Description for an Amplify app.
    enableAutoBranchCreation boolean
    Enables automated branch creation for an Amplify app.
    enableBasicAuth boolean
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enableBranchAutoBuild boolean
    Enables auto-building of branches for the Amplify App.
    enableBranchAutoDeletion boolean
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environmentVariables {[key: string]: string}
    Environment variables map for an Amplify app.
    iamServiceRoleArn string
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name string
    Name for an Amplify app.
    oauthToken string
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform string
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    productionBranches AppProductionBranch[]
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    repository string
    Repository for an Amplify app.
    tags {[key: string]: string}
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    access_token str
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    arn str
    ARN of the Amplify app.
    auto_branch_creation_config AppAutoBranchCreationConfigArgs
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    auto_branch_creation_patterns Sequence[str]
    Automated branch creation glob patterns for an Amplify app.
    basic_auth_credentials str
    Credentials for basic authorization for an Amplify app.
    build_spec str
    The build specification (build spec) for an Amplify app.
    custom_headers str
    The custom HTTP headers for an Amplify app.
    custom_rules Sequence[AppCustomRuleArgs]
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    default_domain str
    Default domain for the Amplify app.
    description str
    Description for an Amplify app.
    enable_auto_branch_creation bool
    Enables automated branch creation for an Amplify app.
    enable_basic_auth bool
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enable_branch_auto_build bool
    Enables auto-building of branches for the Amplify App.
    enable_branch_auto_deletion bool
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environment_variables Mapping[str, str]
    Environment variables map for an Amplify app.
    iam_service_role_arn str
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name str
    Name for an Amplify app.
    oauth_token str
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform str
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    production_branches Sequence[AppProductionBranchArgs]
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    repository str
    Repository for an Amplify app.
    tags Mapping[str, str]
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    accessToken String
    Personal access token for a third-party source control system for an Amplify app. The personal access token is used to create a webhook and a read-only deploy key. The token is not stored.
    arn String
    ARN of the Amplify app.
    autoBranchCreationConfig Property Map
    Automated branch creation configuration for an Amplify app. An auto_branch_creation_config block is documented below.
    autoBranchCreationPatterns List<String>
    Automated branch creation glob patterns for an Amplify app.
    basicAuthCredentials String
    Credentials for basic authorization for an Amplify app.
    buildSpec String
    The build specification (build spec) for an Amplify app.
    customHeaders String
    The custom HTTP headers for an Amplify app.
    customRules List<Property Map>
    Custom rewrite and redirect rules for an Amplify app. A custom_rule block is documented below.
    defaultDomain String
    Default domain for the Amplify app.
    description String
    Description for an Amplify app.
    enableAutoBranchCreation Boolean
    Enables automated branch creation for an Amplify app.
    enableBasicAuth Boolean
    Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
    enableBranchAutoBuild Boolean
    Enables auto-building of branches for the Amplify App.
    enableBranchAutoDeletion Boolean
    Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
    environmentVariables Map<String>
    Environment variables map for an Amplify app.
    iamServiceRoleArn String
    AWS Identity and Access Management (IAM) service role for an Amplify app.
    name String
    Name for an Amplify app.
    oauthToken String
    OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key. The OAuth token is not stored.
    platform String
    Platform or framework for an Amplify app. Valid values: WEB, WEB_COMPUTE. Default value: WEB.
    productionBranches List<Property Map>
    Describes the information about a production branch for an Amplify app. A production_branch block is documented below.
    repository String
    Repository for an Amplify app.
    tags Map<String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:Please use tags instead.

    Supporting Types

    AppAutoBranchCreationConfig, AppAutoBranchCreationConfigArgs

    BasicAuthCredentials string
    Basic authorization credentials for the autocreated branch.
    BuildSpec string
    Build specification (build spec) for the autocreated branch.
    EnableAutoBuild bool
    Enables auto building for the autocreated branch.
    EnableBasicAuth bool
    Enables basic authorization for the autocreated branch.
    EnablePerformanceMode bool
    Enables performance mode for the branch.
    EnablePullRequestPreview bool
    Enables pull request previews for the autocreated branch.
    EnvironmentVariables Dictionary<string, string>
    Environment variables for the autocreated branch.
    Framework string
    Framework for the autocreated branch.
    PullRequestEnvironmentName string
    Amplify environment name for the pull request.
    Stage string
    Describes the current stage for the autocreated branch. Valid values: PRODUCTION, BETA, DEVELOPMENT, EXPERIMENTAL, PULL_REQUEST.
    BasicAuthCredentials string
    Basic authorization credentials for the autocreated branch.
    BuildSpec string
    Build specification (build spec) for the autocreated branch.
    EnableAutoBuild bool
    Enables auto building for the autocreated branch.
    EnableBasicAuth bool
    Enables basic authorization for the autocreated branch.
    EnablePerformanceMode bool
    Enables performance mode for the branch.
    EnablePullRequestPreview bool
    Enables pull request previews for the autocreated branch.
    EnvironmentVariables map[string]string
    Environment variables for the autocreated branch.
    Framework string
    Framework for the autocreated branch.
    PullRequestEnvironmentName string
    Amplify environment name for the pull request.
    Stage string
    Describes the current stage for the autocreated branch. Valid values: PRODUCTION, BETA, DEVELOPMENT, EXPERIMENTAL, PULL_REQUEST.
    basicAuthCredentials String
    Basic authorization credentials for the autocreated branch.
    buildSpec String
    Build specification (build spec) for the autocreated branch.
    enableAutoBuild Boolean
    Enables auto building for the autocreated branch.
    enableBasicAuth Boolean
    Enables basic authorization for the autocreated branch.
    enablePerformanceMode Boolean
    Enables performance mode for the branch.
    enablePullRequestPreview Boolean
    Enables pull request previews for the autocreated branch.
    environmentVariables Map<String,String>
    Environment variables for the autocreated branch.
    framework String
    Framework for the autocreated branch.
    pullRequestEnvironmentName String
    Amplify environment name for the pull request.
    stage String
    Describes the current stage for the autocreated branch. Valid values: PRODUCTION, BETA, DEVELOPMENT, EXPERIMENTAL, PULL_REQUEST.
    basicAuthCredentials string
    Basic authorization credentials for the autocreated branch.
    buildSpec string
    Build specification (build spec) for the autocreated branch.
    enableAutoBuild boolean
    Enables auto building for the autocreated branch.
    enableBasicAuth boolean
    Enables basic authorization for the autocreated branch.
    enablePerformanceMode boolean
    Enables performance mode for the branch.
    enablePullRequestPreview boolean
    Enables pull request previews for the autocreated branch.
    environmentVariables {[key: string]: string}
    Environment variables for the autocreated branch.
    framework string
    Framework for the autocreated branch.
    pullRequestEnvironmentName string
    Amplify environment name for the pull request.
    stage string
    Describes the current stage for the autocreated branch. Valid values: PRODUCTION, BETA, DEVELOPMENT, EXPERIMENTAL, PULL_REQUEST.
    basic_auth_credentials str
    Basic authorization credentials for the autocreated branch.
    build_spec str
    Build specification (build spec) for the autocreated branch.
    enable_auto_build bool
    Enables auto building for the autocreated branch.
    enable_basic_auth bool
    Enables basic authorization for the autocreated branch.
    enable_performance_mode bool
    Enables performance mode for the branch.
    enable_pull_request_preview bool
    Enables pull request previews for the autocreated branch.
    environment_variables Mapping[str, str]
    Environment variables for the autocreated branch.
    framework str
    Framework for the autocreated branch.
    pull_request_environment_name str
    Amplify environment name for the pull request.
    stage str
    Describes the current stage for the autocreated branch. Valid values: PRODUCTION, BETA, DEVELOPMENT, EXPERIMENTAL, PULL_REQUEST.
    basicAuthCredentials String
    Basic authorization credentials for the autocreated branch.
    buildSpec String
    Build specification (build spec) for the autocreated branch.
    enableAutoBuild Boolean
    Enables auto building for the autocreated branch.
    enableBasicAuth Boolean
    Enables basic authorization for the autocreated branch.
    enablePerformanceMode Boolean
    Enables performance mode for the branch.
    enablePullRequestPreview Boolean
    Enables pull request previews for the autocreated branch.
    environmentVariables Map<String>
    Environment variables for the autocreated branch.
    framework String
    Framework for the autocreated branch.
    pullRequestEnvironmentName String
    Amplify environment name for the pull request.
    stage String
    Describes the current stage for the autocreated branch. Valid values: PRODUCTION, BETA, DEVELOPMENT, EXPERIMENTAL, PULL_REQUEST.

    AppCustomRule, AppCustomRuleArgs

    Source string
    Source pattern for a URL rewrite or redirect rule.
    Target string
    Target pattern for a URL rewrite or redirect rule.
    Condition string
    Condition for a URL rewrite or redirect rule, such as a country code.
    Status string
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    Source string
    Source pattern for a URL rewrite or redirect rule.
    Target string
    Target pattern for a URL rewrite or redirect rule.
    Condition string
    Condition for a URL rewrite or redirect rule, such as a country code.
    Status string
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    source String
    Source pattern for a URL rewrite or redirect rule.
    target String
    Target pattern for a URL rewrite or redirect rule.
    condition String
    Condition for a URL rewrite or redirect rule, such as a country code.
    status String
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    source string
    Source pattern for a URL rewrite or redirect rule.
    target string
    Target pattern for a URL rewrite or redirect rule.
    condition string
    Condition for a URL rewrite or redirect rule, such as a country code.
    status string
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    source str
    Source pattern for a URL rewrite or redirect rule.
    target str
    Target pattern for a URL rewrite or redirect rule.
    condition str
    Condition for a URL rewrite or redirect rule, such as a country code.
    status str
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    source String
    Source pattern for a URL rewrite or redirect rule.
    target String
    Target pattern for a URL rewrite or redirect rule.
    condition String
    Condition for a URL rewrite or redirect rule, such as a country code.
    status String
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.

    AppProductionBranch, AppProductionBranchArgs

    BranchName string
    Branch name for the production branch.
    LastDeployTime string
    Last deploy time of the production branch.
    Status string
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    ThumbnailUrl string
    Thumbnail URL for the production branch.
    BranchName string
    Branch name for the production branch.
    LastDeployTime string
    Last deploy time of the production branch.
    Status string
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    ThumbnailUrl string
    Thumbnail URL for the production branch.
    branchName String
    Branch name for the production branch.
    lastDeployTime String
    Last deploy time of the production branch.
    status String
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    thumbnailUrl String
    Thumbnail URL for the production branch.
    branchName string
    Branch name for the production branch.
    lastDeployTime string
    Last deploy time of the production branch.
    status string
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    thumbnailUrl string
    Thumbnail URL for the production branch.
    branch_name str
    Branch name for the production branch.
    last_deploy_time str
    Last deploy time of the production branch.
    status str
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    thumbnail_url str
    Thumbnail URL for the production branch.
    branchName String
    Branch name for the production branch.
    lastDeployTime String
    Last deploy time of the production branch.
    status String
    Status code for a URL rewrite or redirect rule. Valid values: 200, 301, 302, 404, 404-200.
    thumbnailUrl String
    Thumbnail URL for the production branch.

    Import

    Using pulumi import, import Amplify App using Amplify App ID (appId). For example:

    $ pulumi import aws:amplify/app:App example d2ypk4k47z8u6
    

    App ID can be obtained from App ARN (e.g., arn:aws:amplify:us-east-1:12345678:apps/d2ypk4k47z8u6).

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.28.1 published on Thursday, Mar 28, 2024 by Pulumi