awscdkamplifyalpha

package module
v2.0.0-alpha.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

README

AWS Amplify Construct Library


The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.


The AWS Amplify Console provides a Git-based workflow for deploying and hosting fullstack serverless web applications. A fullstack serverless app consists of a backend built with cloud resources such as GraphQL or REST APIs, file and data storage, and a frontend built with single page application frameworks such as React, Angular, Vue, or Gatsby.

Setting up an app with branches, custom rules and a domain

To set up an Amplify Console app, define an App:

import * as codebuild from 'aws-cdk-lib/aws-codebuild';
import * as amplify from '@aws-cdk/aws-amplify-alpha';
import * as cdk from 'aws-cdk-lib';

const amplifyApp = new amplify.App(this, 'MyApp', {
  sourceCodeProvider: new amplify.GitHubSourceCodeProvider({
    owner: '<user>',
    repository: '<repo>',
    oauthToken: cdk.SecretValue.secretsManager('my-github-token')
  }),
  buildSpec: codebuild.BuildSpec.fromObjectToYaml({ // Alternatively add a `amplify.yml` to the repo
    version: '1.0',
    frontend: {
      phases: {
        preBuild: {
          commands: [
            'yarn'
          ]
        },
        build: {
          commands: [
            'yarn build'
          ]
        }
      },
      artifacts: {
        baseDirectory: 'public',
        files:
        - '**/*'
      }
    }
  })
});

To connect your App to GitLab, use the GitLabSourceCodeProvider:

const amplifyApp = new amplify.App(this, 'MyApp', {
  sourceCodeProvider: new amplify.GitLabSourceCodeProvider({
    owner: '<user>',
    repository: '<repo>',
    oauthToken: cdk.SecretValue.secretsManager('my-gitlab-token')
  })
});

To connect your App to CodeCommit, use the CodeCommitSourceCodeProvider:

const repository = new codecommit.Repository(this, 'Repo', {
  repositoryName: 'my-repo'
});

const amplifyApp = new amplify.App(this, 'App', {
  sourceCodeProvider: new amplify.CodeCommitSourceCodeProvider({ repository })
});

The IAM role associated with the App will automatically be granted the permission to pull the CodeCommit repository.

Add branches:

const master = amplifyApp.addBranch('master'); // `id` will be used as repo branch name
const dev = amplifyApp.addBranch('dev');
dev.addEnvironment('STAGE', 'dev');

Auto build and pull request preview are enabled by default.

Add custom rules for redirection:

amplifyApp.addCustomRule({
  source: '/docs/specific-filename.html',
  target: '/documents/different-filename.html',
  status: amplify.RedirectStatus.TEMPORARY_REDIRECT
});

When working with a single page application (SPA), use the CustomRule.SINGLE_PAGE_APPLICATION_REDIRECT to set up a 200 rewrite for all files to index.html except for the following file extensions: css, gif, ico, jpg, js, png, txt, svg, woff, ttf, map, json, webmanifest.

mySinglePageApp.addCustomRule(amplify.CustomRule.SINGLE_PAGE_APPLICATION_REDIRECT);

Add a domain and map sub domains to branches:

const domain = amplifyApp.addDomain('example.com', {
  enableAutoSubdomain: true, // in case subdomains should be auto registered for branches
  autoSubdomainCreationPatterns: ['*', 'pr*'], // regex for branches that should auto register subdomains
});
domain.mapRoot(master); // map master branch to domain root
domain.mapSubDomain(master, 'www');
domain.mapSubDomain(dev); // sub domain prefix defaults to branch name

Restricting access

Password protect the app with basic auth by specifying the basicAuth prop.

Use BasicAuth.fromCredentials when referencing an existing secret:

const amplifyApp = new amplify.App(this, 'MyApp', {
  repository: 'https://github.com/<user>/<repo>',
  oauthToken: cdk.SecretValue.secretsManager('my-github-token'),
  basicAuth: amplify.BasicAuth.fromCredentials('username', cdk.SecretValue.secretsManager('my-github-token'))
});

Use BasicAuth.fromGeneratedPassword to generate a password in Secrets Manager:

const amplifyApp = new amplify.App(this, 'MyApp', {
  repository: 'https://github.com/<user>/<repo>',
  oauthToken: cdk.SecretValue.secretsManager('my-github-token'),
  basicAuth: amplify.BasicAuth.fromGeneratedPassword('username')
});

Basic auth can be added to specific branches:

app.addBranch('feature/next', {
  basicAuth: amplify.BasicAuth.fromGeneratedPassword('username')
});

Automatically creating and deleting branches

Use the autoBranchCreation and autoBranchDeletion props to control creation/deletion of branches:

const amplifyApp = new amplify.App(this, 'MyApp', {
  repository: 'https://github.com/<user>/<repo>',
  oauthToken: cdk.SecretValue.secretsManager('my-github-token'),
  autoBranchCreation: { // Automatically connect branches that match a pattern set
    patterns: ['feature/*', 'test/*']
  }
  autoBranchDeletion: true, // Automatically disconnect a branch when you delete a branch from your repository
});

Adding custom response headers

Use the customResponseHeaders prop to configure custom response headers for an Amplify app:

const amplifyApp = new amplify.App(stack, 'App', {
  sourceCodeProvider: new amplify.GitHubSourceCodeProvider({
    owner: '<user>',
    repository: '<repo>',
    oauthToken: cdk.SecretValue.secretsManager('my-github-token')
  }),
  customResponseHeaders: [
    {
      pattern: '*.json',
      headers: {
        'custom-header-name-1': 'custom-header-value-1',
        'custom-header-name-2': 'custom-header-value-2',
      },
    },
    {
      pattern: '/path/*',
      headers: {
        'custom-header-name-1': 'custom-header-value-2',
      },
    },
  ],
});

Documentation

Overview

The CDK Construct Library for AWS::Amplify

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func App_IsConstruct

func App_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func App_IsResource

func App_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Branch_IsConstruct

func Branch_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Branch_IsResource

func Branch_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Domain_IsConstruct

func Domain_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Domain_IsResource

func Domain_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewApp_Override

func NewApp_Override(a App, scope constructs.Construct, id *string, props *AppProps)

Experimental.

func NewBasicAuth_Override

func NewBasicAuth_Override(b BasicAuth, props *BasicAuthProps)

Experimental.

func NewBranch_Override

func NewBranch_Override(b Branch, scope constructs.Construct, id *string, props *BranchProps)

Experimental.

func NewCodeCommitSourceCodeProvider_Override

func NewCodeCommitSourceCodeProvider_Override(c CodeCommitSourceCodeProvider, props *CodeCommitSourceCodeProviderProps)

Experimental.

func NewCustomRule_Override

func NewCustomRule_Override(c CustomRule, options *CustomRuleOptions)

Experimental.

func NewDomain_Override

func NewDomain_Override(d Domain, scope constructs.Construct, id *string, props *DomainProps)

Experimental.

func NewGitHubSourceCodeProvider_Override

func NewGitHubSourceCodeProvider_Override(g GitHubSourceCodeProvider, props *GitHubSourceCodeProviderProps)

Experimental.

func NewGitLabSourceCodeProvider_Override

func NewGitLabSourceCodeProvider_Override(g GitLabSourceCodeProvider, props *GitLabSourceCodeProviderProps)

Experimental.

Types

type App

type App interface {
	awscdk.Resource
	IApp
	awsiam.IGrantable
	AppId() *string
	AppName() *string
	Arn() *string
	DefaultDomain() *string
	Env() *awscdk.ResourceEnvironment
	GrantPrincipal() awsiam.IPrincipal
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddAutoBranchEnvironment(name *string, value *string) App
	AddBranch(id *string, options *BranchOptions) Branch
	AddCustomRule(rule CustomRule) App
	AddDomain(id *string, options *DomainOptions) Domain
	AddEnvironment(name *string, value *string) App
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

An Amplify Console application.

TODO: EXAMPLE

Experimental.

func NewApp

func NewApp(scope constructs.Construct, id *string, props *AppProps) App

Experimental.

type AppProps

type AppProps struct {
	// The name for the application.
	// Experimental.
	AppName *string `json:"appName"`
	// The auto branch creation configuration.
	//
	// Use this to automatically create
	// branches that match a certain pattern.
	// Experimental.
	AutoBranchCreation *AutoBranchCreation `json:"autoBranchCreation"`
	// Automatically disconnect a branch in the Amplify Console when you delete a branch from your Git repository.
	// Experimental.
	AutoBranchDeletion *bool `json:"autoBranchDeletion"`
	// The Basic Auth configuration.
	//
	// Use this to set password protection at an
	// app level to all your branches.
	// Experimental.
	BasicAuth BasicAuth `json:"basicAuth"`
	// BuildSpec for the application.
	//
	// Alternatively, add a `amplify.yml`
	// file to the repository.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html
	//
	// Experimental.
	BuildSpec awscodebuild.BuildSpec `json:"buildSpec"`
	// The custom HTTP response headers for an Amplify app.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/custom-headers.html
	//
	// Experimental.
	CustomResponseHeaders *[]*CustomResponseHeader `json:"customResponseHeaders"`
	// Custom rewrite/redirect rules for the application.
	// Experimental.
	CustomRules *[]CustomRule `json:"customRules"`
	// A description for the application.
	// Experimental.
	Description *string `json:"description"`
	// Environment variables for the application.
	//
	// All environment variables that you add are encrypted to prevent rogue
	// access so you can use them to store secret information.
	// Experimental.
	EnvironmentVariables *map[string]*string `json:"environmentVariables"`
	// The IAM service role to associate with the application.
	//
	// The App
	// implements IGrantable.
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// The source code provider for this application.
	// Experimental.
	SourceCodeProvider ISourceCodeProvider `json:"sourceCodeProvider"`
}

Properties for an App.

TODO: EXAMPLE

Experimental.

type AutoBranchCreation

type AutoBranchCreation struct {
	// Whether to enable auto building for the auto created branch.
	// Experimental.
	AutoBuild *bool `json:"autoBuild"`
	// The Basic Auth configuration.
	//
	// Use this to set password protection for
	// the auto created branch.
	// Experimental.
	BasicAuth BasicAuth `json:"basicAuth"`
	// Build spec for the auto created branch.
	// Experimental.
	BuildSpec awscodebuild.BuildSpec `json:"buildSpec"`
	// Environment variables for the auto created branch.
	//
	// All environment variables that you add are encrypted to prevent rogue
	// access so you can use them to store secret information.
	// Experimental.
	EnvironmentVariables *map[string]*string `json:"environmentVariables"`
	// Automated branch creation glob patterns.
	// Experimental.
	Patterns *[]*string `json:"patterns"`
	// The dedicated backend environment for the pull request previews of the auto created branch.
	// Experimental.
	PullRequestEnvironmentName *string `json:"pullRequestEnvironmentName"`
	// Whether to enable pull request preview for the auto created branch.
	// Experimental.
	PullRequestPreview *bool `json:"pullRequestPreview"`
	// Stage for the auto created branch.
	// Experimental.
	Stage *string `json:"stage"`
}

Auto branch creation configuration.

TODO: EXAMPLE

Experimental.

type BasicAuth

type BasicAuth interface {
	Bind(scope constructs.Construct, id *string) *BasicAuthConfig
}

Basic Auth configuration.

TODO: EXAMPLE

Experimental.

func BasicAuth_FromCredentials

func BasicAuth_FromCredentials(username *string, password awscdk.SecretValue) BasicAuth

Creates a Basic Auth configuration from a username and a password. Experimental.

func BasicAuth_FromGeneratedPassword

func BasicAuth_FromGeneratedPassword(username *string, encryptionKey awskms.IKey) BasicAuth

Creates a Basic Auth configuration with a password generated in Secrets Manager. Experimental.

func NewBasicAuth

func NewBasicAuth(props *BasicAuthProps) BasicAuth

Experimental.

type BasicAuthConfig

type BasicAuthConfig struct {
	// Whether to enable Basic Auth.
	// Experimental.
	EnableBasicAuth *bool `json:"enableBasicAuth"`
	// The password.
	// Experimental.
	Password *string `json:"password"`
	// The username.
	// Experimental.
	Username *string `json:"username"`
}

A Basic Auth configuration.

TODO: EXAMPLE

Experimental.

type BasicAuthProps

type BasicAuthProps struct {
	// The encryption key to use to encrypt the password when it's generated in Secrets Manager.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey"`
	// The password.
	// Experimental.
	Password awscdk.SecretValue `json:"password"`
	// The username.
	// Experimental.
	Username *string `json:"username"`
}

Properties for a BasicAuth.

TODO: EXAMPLE

Experimental.

type Branch

type Branch interface {
	awscdk.Resource
	IBranch
	Arn() *string
	BranchName() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddEnvironment(name *string, value *string) Branch
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

An Amplify Console branch.

TODO: EXAMPLE

Experimental.

func NewBranch

func NewBranch(scope constructs.Construct, id *string, props *BranchProps) Branch

Experimental.

type BranchOptions

type BranchOptions struct {
	// Whether to enable auto building for the branch.
	// Experimental.
	AutoBuild *bool `json:"autoBuild"`
	// The Basic Auth configuration.
	//
	// Use this to set password protection for
	// the branch
	// Experimental.
	BasicAuth BasicAuth `json:"basicAuth"`
	// The name of the branch.
	// Experimental.
	BranchName *string `json:"branchName"`
	// BuildSpec for the branch.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html
	//
	// Experimental.
	BuildSpec awscodebuild.BuildSpec `json:"buildSpec"`
	// A description for the branch.
	// Experimental.
	Description *string `json:"description"`
	// Environment variables for the branch.
	//
	// All environment variables that you add are encrypted to prevent rogue
	// access so you can use them to store secret information.
	// Experimental.
	EnvironmentVariables *map[string]*string `json:"environmentVariables"`
	// The dedicated backend environment for the pull request previews.
	// Experimental.
	PullRequestEnvironmentName *string `json:"pullRequestEnvironmentName"`
	// Whether to enable pull request preview for the branch.
	// Experimental.
	PullRequestPreview *bool `json:"pullRequestPreview"`
	// Stage for the branch.
	// Experimental.
	Stage *string `json:"stage"`
}

Options to add a branch to an application.

TODO: EXAMPLE

Experimental.

type BranchProps

type BranchProps struct {
	// Whether to enable auto building for the branch.
	// Experimental.
	AutoBuild *bool `json:"autoBuild"`
	// The Basic Auth configuration.
	//
	// Use this to set password protection for
	// the branch
	// Experimental.
	BasicAuth BasicAuth `json:"basicAuth"`
	// The name of the branch.
	// Experimental.
	BranchName *string `json:"branchName"`
	// BuildSpec for the branch.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html
	//
	// Experimental.
	BuildSpec awscodebuild.BuildSpec `json:"buildSpec"`
	// A description for the branch.
	// Experimental.
	Description *string `json:"description"`
	// Environment variables for the branch.
	//
	// All environment variables that you add are encrypted to prevent rogue
	// access so you can use them to store secret information.
	// Experimental.
	EnvironmentVariables *map[string]*string `json:"environmentVariables"`
	// The dedicated backend environment for the pull request previews.
	// Experimental.
	PullRequestEnvironmentName *string `json:"pullRequestEnvironmentName"`
	// Whether to enable pull request preview for the branch.
	// Experimental.
	PullRequestPreview *bool `json:"pullRequestPreview"`
	// Stage for the branch.
	// Experimental.
	Stage *string `json:"stage"`
	// The application within which the branch must be created.
	// Experimental.
	App IApp `json:"app"`
}

Properties for a Branch.

TODO: EXAMPLE

Experimental.

type CodeCommitSourceCodeProvider

type CodeCommitSourceCodeProvider interface {
	ISourceCodeProvider
	Bind(app App) *SourceCodeProviderConfig
}

CodeCommit source code provider.

TODO: EXAMPLE

Experimental.

func NewCodeCommitSourceCodeProvider

func NewCodeCommitSourceCodeProvider(props *CodeCommitSourceCodeProviderProps) CodeCommitSourceCodeProvider

Experimental.

type CodeCommitSourceCodeProviderProps

type CodeCommitSourceCodeProviderProps struct {
	// The CodeCommit repository.
	// Experimental.
	Repository awscodecommit.IRepository `json:"repository"`
}

Properties for a CodeCommit source code provider.

TODO: EXAMPLE

Experimental.

type CustomResponseHeader

type CustomResponseHeader struct {
	// The map of custom headers to be applied.
	// Experimental.
	Headers *map[string]*string `json:"headers"`
	// These custom headers will be applied to all URL file paths that match this pattern.
	// Experimental.
	Pattern *string `json:"pattern"`
}

Custom response header of an Amplify App.

TODO: EXAMPLE

Experimental.

type CustomRule

type CustomRule interface {
	Condition() *string
	Source() *string
	Status() RedirectStatus
	Target() *string
}

Custom rewrite/redirect rule for an Amplify App.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/amplify/latest/userguide/redirects.html

Experimental.

func CustomRule_SINGLE_PAGE_APPLICATION_REDIRECT

func CustomRule_SINGLE_PAGE_APPLICATION_REDIRECT() CustomRule

func NewCustomRule

func NewCustomRule(options *CustomRuleOptions) CustomRule

Experimental.

type CustomRuleOptions

type CustomRuleOptions struct {
	// The condition for a URL rewrite or redirect rule, e.g. country code.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/redirects.html
	//
	// Experimental.
	Condition *string `json:"condition"`
	// The source pattern for a URL rewrite or redirect rule.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/redirects.html
	//
	// Experimental.
	Source *string `json:"source"`
	// The status code for a URL rewrite or redirect rule.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/redirects.html
	//
	// Experimental.
	Status RedirectStatus `json:"status"`
	// The target pattern for a URL rewrite or redirect rule.
	// See: https://docs.aws.amazon.com/amplify/latest/userguide/redirects.html
	//
	// Experimental.
	Target *string `json:"target"`
}

Options for a custom rewrite/redirect rule for an Amplify App.

TODO: EXAMPLE

Experimental.

type Domain

type Domain interface {
	awscdk.Resource
	Arn() *string
	CertificateRecord() *string
	DomainAutoSubDomainCreationPatterns() *[]*string
	DomainAutoSubDomainIamRole() *string
	DomainEnableAutoSubDomain() awscdk.IResolvable
	DomainName() *string
	DomainStatus() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	StatusReason() *string
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	MapRoot(branch IBranch) Domain
	MapSubDomain(branch IBranch, prefix *string) Domain
	ToString() *string
}

An Amplify Console domain.

TODO: EXAMPLE

Experimental.

func NewDomain

func NewDomain(scope constructs.Construct, id *string, props *DomainProps) Domain

Experimental.

type DomainOptions

type DomainOptions struct {
	// Branches which should automatically create subdomains.
	// Experimental.
	AutoSubdomainCreationPatterns *[]*string `json:"autoSubdomainCreationPatterns"`
	// The name of the domain.
	// Experimental.
	DomainName *string `json:"domainName"`
	// Automatically create subdomains for connected branches.
	// Experimental.
	EnableAutoSubdomain *bool `json:"enableAutoSubdomain"`
	// Subdomains.
	// Experimental.
	SubDomains *[]*SubDomain `json:"subDomains"`
}

Options to add a domain to an application.

TODO: EXAMPLE

Experimental.

type DomainProps

type DomainProps struct {
	// Branches which should automatically create subdomains.
	// Experimental.
	AutoSubdomainCreationPatterns *[]*string `json:"autoSubdomainCreationPatterns"`
	// The name of the domain.
	// Experimental.
	DomainName *string `json:"domainName"`
	// Automatically create subdomains for connected branches.
	// Experimental.
	EnableAutoSubdomain *bool `json:"enableAutoSubdomain"`
	// Subdomains.
	// Experimental.
	SubDomains *[]*SubDomain `json:"subDomains"`
	// The application to which the domain must be connected.
	// Experimental.
	App IApp `json:"app"`
	// The IAM role with access to Route53 when using enableAutoSubdomain.
	// Experimental.
	AutoSubDomainIamRole awsiam.IRole `json:"autoSubDomainIamRole"`
}

Properties for a Domain.

TODO: EXAMPLE

Experimental.

type GitHubSourceCodeProvider

type GitHubSourceCodeProvider interface {
	ISourceCodeProvider
	Bind(_app App) *SourceCodeProviderConfig
}

GitHub source code provider.

TODO: EXAMPLE

Experimental.

func NewGitHubSourceCodeProvider

func NewGitHubSourceCodeProvider(props *GitHubSourceCodeProviderProps) GitHubSourceCodeProvider

Experimental.

type GitHubSourceCodeProviderProps

type GitHubSourceCodeProviderProps struct {
	// A personal access token with the `repo` scope.
	// Experimental.
	OauthToken awscdk.SecretValue `json:"oauthToken"`
	// The user or organization owning the repository.
	// Experimental.
	Owner *string `json:"owner"`
	// The name of the repository.
	// Experimental.
	Repository *string `json:"repository"`
}

Properties for a GitHub source code provider.

TODO: EXAMPLE

Experimental.

type GitLabSourceCodeProvider

type GitLabSourceCodeProvider interface {
	ISourceCodeProvider
	Bind(_app App) *SourceCodeProviderConfig
}

GitLab source code provider.

TODO: EXAMPLE

Experimental.

func NewGitLabSourceCodeProvider

func NewGitLabSourceCodeProvider(props *GitLabSourceCodeProviderProps) GitLabSourceCodeProvider

Experimental.

type GitLabSourceCodeProviderProps

type GitLabSourceCodeProviderProps struct {
	// A personal access token with the `repo` scope.
	// Experimental.
	OauthToken awscdk.SecretValue `json:"oauthToken"`
	// The user or organization owning the repository.
	// Experimental.
	Owner *string `json:"owner"`
	// The name of the repository.
	// Experimental.
	Repository *string `json:"repository"`
}

Properties for a GitLab source code provider.

TODO: EXAMPLE

Experimental.

type IApp

type IApp interface {
	awscdk.IResource
	// The application id.
	// Experimental.
	AppId() *string
}

An Amplify Console application. Experimental.

func App_FromAppId

func App_FromAppId(scope constructs.Construct, id *string, appId *string) IApp

Import an existing application. Experimental.

type IBranch

type IBranch interface {
	awscdk.IResource
	// The name of the branch.
	// Experimental.
	BranchName() *string
}

A branch. Experimental.

func Branch_FromBranchName

func Branch_FromBranchName(scope constructs.Construct, id *string, branchName *string) IBranch

Import an existing branch. Experimental.

type ISourceCodeProvider

type ISourceCodeProvider interface {
	// Binds the source code provider to an app.
	// Experimental.
	Bind(app App) *SourceCodeProviderConfig
}

A source code provider. Experimental.

type RedirectStatus

type RedirectStatus string

The status code for a URL rewrite or redirect rule. Experimental.

const (
	RedirectStatus_NOT_FOUND          RedirectStatus = "NOT_FOUND"
	RedirectStatus_NOT_FOUND_REWRITE  RedirectStatus = "NOT_FOUND_REWRITE"
	RedirectStatus_PERMANENT_REDIRECT RedirectStatus = "PERMANENT_REDIRECT"
	RedirectStatus_REWRITE            RedirectStatus = "REWRITE"
	RedirectStatus_TEMPORARY_REDIRECT RedirectStatus = "TEMPORARY_REDIRECT"
)

type SourceCodeProviderConfig

type SourceCodeProviderConfig struct {
	// Personal Access token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key.
	//
	// Token is not stored.
	//
	// Either `accessToken` or `oauthToken` must be specified if `repository`
	// is sepcified.
	// Experimental.
	AccessToken awscdk.SecretValue `json:"accessToken"`
	// OAuth token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key.
	//
	// OAuth token is not stored.
	//
	// Either `accessToken` or `oauthToken` must be specified if `repository`
	// is sepcified.
	// Experimental.
	OauthToken awscdk.SecretValue `json:"oauthToken"`
	// The repository for the application.
	//
	// Must use the `HTTPS` protocol.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	Repository *string `json:"repository"`
}

Configuration for the source code provider.

TODO: EXAMPLE

Experimental.

type SubDomain

type SubDomain struct {
	// The branch.
	// Experimental.
	Branch IBranch `json:"branch"`
	// The prefix.
	//
	// Use ” to map to the root of the domain
	// Experimental.
	Prefix *string `json:"prefix"`
}

Sub domain settings.

TODO: EXAMPLE

Experimental.

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL