App Args
data class AppArgs(val accessToken: Output<String>? = null, val autoBranchCreationConfig: Output<AppAutoBranchCreationConfigArgs>? = null, val autoBranchCreationPatterns: Output<List<String>>? = null, val basicAuthCredentials: Output<String>? = null, val buildSpec: Output<String>? = null, val customRules: Output<List<AppCustomRuleArgs>>? = null, val description: Output<String>? = null, val enableAutoBranchCreation: Output<Boolean>? = null, val enableBasicAuth: Output<Boolean>? = null, val enableBranchAutoBuild: Output<Boolean>? = null, val enableBranchAutoDeletion: Output<Boolean>? = null, val environmentVariables: Output<Map<String, String>>? = null, val iamServiceRoleArn: Output<String>? = null, val name: Output<String>? = null, val oauthToken: Output<String>? = null, val platform: Output<String>? = null, val repository: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<AppArgs>
/* /* /* 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
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()
.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"))
.repository("https://github.com/example/app")
.build());
}
}
Content copied to clipboard
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:
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()
.accessToken("...")
.repository("https://github.com/example/app")
.build());
}
}
Content copied to clipboard
Auto Branch Creation
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()
.autoBranchCreationConfig(AppAutoBranchCreationConfigArgs.builder()
.enableAutoBuild(true)
.build())
.autoBranchCreationPatterns(
"*",
"*/**")
.enableAutoBranchCreation(true)
.build());
}
}
Content copied to clipboard
Rewrites and Redirects
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()
.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());
}
}
Content copied to clipboard
Custom Image
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()
.environmentVariables(Map.of("_CUSTOM_IMAGE", "node:16"))
.build());
}
}
Content copied to clipboard
Import
Amplify App can be imported using Amplify App ID (appId), e.g.,
$ pulumi import aws:amplify/app:App example d2ypk4k47z8u6
Content copied to clipboard
App ID can be obtained from App ARN (e.g., arn:aws:amplify:us-east-1:12345678:apps/d2ypk4k47z8u6
).
Constructors
Link copied to clipboard
fun AppArgs(accessToken: Output<String>? = null, autoBranchCreationConfig: Output<AppAutoBranchCreationConfigArgs>? = null, autoBranchCreationPatterns: Output<List<String>>? = null, basicAuthCredentials: Output<String>? = null, buildSpec: Output<String>? = null, customRules: Output<List<AppCustomRuleArgs>>? = null, description: Output<String>? = null, enableAutoBranchCreation: Output<Boolean>? = null, enableBasicAuth: Output<Boolean>? = null, enableBranchAutoBuild: Output<Boolean>? = null, enableBranchAutoDeletion: Output<Boolean>? = null, environmentVariables: Output<Map<String, String>>? = null, iamServiceRoleArn: Output<String>? = null, name: Output<String>? = null, oauthToken: Output<String>? = null, platform: Output<String>? = null, repository: Output<String>? = null, tags: Output<Map<String, String>>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard