amplify

package
v5.43.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	pulumi.CustomResourceState

	// 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.
	AccessToken pulumi.StringPtrOutput `pulumi:"accessToken"`
	// ARN of the Amplify app.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Automated branch creation configuration for an Amplify app. An `autoBranchCreationConfig` block is documented below.
	AutoBranchCreationConfig AppAutoBranchCreationConfigOutput `pulumi:"autoBranchCreationConfig"`
	// Automated branch creation glob patterns for an Amplify app.
	AutoBranchCreationPatterns pulumi.StringArrayOutput `pulumi:"autoBranchCreationPatterns"`
	// Credentials for basic authorization for an Amplify app.
	BasicAuthCredentials pulumi.StringPtrOutput `pulumi:"basicAuthCredentials"`
	// The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.
	BuildSpec pulumi.StringOutput `pulumi:"buildSpec"`
	// Custom rewrite and redirect rules for an Amplify app. A `customRule` block is documented below.
	CustomRules AppCustomRuleArrayOutput `pulumi:"customRules"`
	// Default domain for the Amplify app.
	DefaultDomain pulumi.StringOutput `pulumi:"defaultDomain"`
	// Description for an Amplify app.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Enables automated branch creation for an Amplify app.
	EnableAutoBranchCreation pulumi.BoolPtrOutput `pulumi:"enableAutoBranchCreation"`
	// Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
	EnableBasicAuth pulumi.BoolPtrOutput `pulumi:"enableBasicAuth"`
	// Enables auto-building of branches for the Amplify App.
	EnableBranchAutoBuild pulumi.BoolPtrOutput `pulumi:"enableBranchAutoBuild"`
	// Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
	EnableBranchAutoDeletion pulumi.BoolPtrOutput `pulumi:"enableBranchAutoDeletion"`
	// Environment variables map for an Amplify app.
	EnvironmentVariables pulumi.StringMapOutput `pulumi:"environmentVariables"`
	// AWS Identity and Access Management (IAM) service role for an Amplify app.
	IamServiceRoleArn pulumi.StringPtrOutput `pulumi:"iamServiceRoleArn"`
	// Name for an Amplify app.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	OauthToken pulumi.StringPtrOutput `pulumi:"oauthToken"`
	// Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.
	Platform pulumi.StringPtrOutput `pulumi:"platform"`
	// Describes the information about a production branch for an Amplify app. A `productionBranch` block is documented below.
	ProductionBranches AppProductionBranchArrayOutput `pulumi:"productionBranches"`
	// Repository for an Amplify app.
	Repository pulumi.StringPtrOutput `pulumi:"repository"`
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an Amplify App resource, a fullstack serverless app hosted on the [AWS Amplify Console](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).

> **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

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/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{
			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"),
			},
			Repository: pulumi.String("https://github.com/example/app"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Repository with Tokens

If you create a new Amplify App with the `repository` argument, you also need to set `oauthToken` or `accessToken` for authentication. For GitHub, get a [personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) and set `accessToken` as follows:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/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{
			AccessToken: pulumi.String("..."),
			Repository:  pulumi.String("https://github.com/example/app"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

You can omit `accessToken` if you import an existing Amplify App created by the Amplify Console (using OAuth for authentication). ### Auto Branch Creation

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/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{
			AutoBranchCreationConfig: &amplify.AppAutoBranchCreationConfigArgs{
				EnableAutoBuild: pulumi.Bool(true),
			},
			AutoBranchCreationPatterns: pulumi.StringArray{
				pulumi.String("*"),
				pulumi.String("*/**"),
			},
			EnableAutoBranchCreation: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Rewrites and Redirects

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/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{
			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
	})
}

``` ### Custom Image

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/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{
			EnvironmentVariables: pulumi.StringMap{
				"_CUSTOM_IMAGE": pulumi.String("node:16"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Amplify App can be imported using Amplify App ID (appId), e.g.,

```sh

$ 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`).

func GetApp

func GetApp(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AppState, opts ...pulumi.ResourceOption) (*App, error)

GetApp gets an existing App resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewApp

func NewApp(ctx *pulumi.Context,
	name string, args *AppArgs, opts ...pulumi.ResourceOption) (*App, error)

NewApp registers a new resource with the given unique name, arguments, and options.

func (*App) ElementType

func (*App) ElementType() reflect.Type

func (*App) ToAppOutput

func (i *App) ToAppOutput() AppOutput

func (*App) ToAppOutputWithContext

func (i *App) ToAppOutputWithContext(ctx context.Context) AppOutput

type AppArgs

type AppArgs struct {
	// 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.
	AccessToken pulumi.StringPtrInput
	// Automated branch creation configuration for an Amplify app. An `autoBranchCreationConfig` block is documented below.
	AutoBranchCreationConfig AppAutoBranchCreationConfigPtrInput
	// Automated branch creation glob patterns for an Amplify app.
	AutoBranchCreationPatterns pulumi.StringArrayInput
	// Credentials for basic authorization for an Amplify app.
	BasicAuthCredentials pulumi.StringPtrInput
	// The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.
	BuildSpec pulumi.StringPtrInput
	// Custom rewrite and redirect rules for an Amplify app. A `customRule` block is documented below.
	CustomRules AppCustomRuleArrayInput
	// Description for an Amplify app.
	Description pulumi.StringPtrInput
	// Enables automated branch creation for an Amplify app.
	EnableAutoBranchCreation pulumi.BoolPtrInput
	// Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
	EnableBasicAuth pulumi.BoolPtrInput
	// Enables auto-building of branches for the Amplify App.
	EnableBranchAutoBuild pulumi.BoolPtrInput
	// Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
	EnableBranchAutoDeletion pulumi.BoolPtrInput
	// Environment variables map for an Amplify app.
	EnvironmentVariables pulumi.StringMapInput
	// AWS Identity and Access Management (IAM) service role for an Amplify app.
	IamServiceRoleArn pulumi.StringPtrInput
	// Name for an Amplify app.
	Name pulumi.StringPtrInput
	// 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.
	OauthToken pulumi.StringPtrInput
	// Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.
	Platform pulumi.StringPtrInput
	// Repository for an Amplify app.
	Repository pulumi.StringPtrInput
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a App resource.

func (AppArgs) ElementType

func (AppArgs) ElementType() reflect.Type

type AppArray

type AppArray []AppInput

func (AppArray) ElementType

func (AppArray) ElementType() reflect.Type

func (AppArray) ToAppArrayOutput

func (i AppArray) ToAppArrayOutput() AppArrayOutput

func (AppArray) ToAppArrayOutputWithContext

func (i AppArray) ToAppArrayOutputWithContext(ctx context.Context) AppArrayOutput

type AppArrayInput

type AppArrayInput interface {
	pulumi.Input

	ToAppArrayOutput() AppArrayOutput
	ToAppArrayOutputWithContext(context.Context) AppArrayOutput
}

AppArrayInput is an input type that accepts AppArray and AppArrayOutput values. You can construct a concrete instance of `AppArrayInput` via:

AppArray{ AppArgs{...} }

type AppArrayOutput

type AppArrayOutput struct{ *pulumi.OutputState }

func (AppArrayOutput) ElementType

func (AppArrayOutput) ElementType() reflect.Type

func (AppArrayOutput) Index

func (AppArrayOutput) ToAppArrayOutput

func (o AppArrayOutput) ToAppArrayOutput() AppArrayOutput

func (AppArrayOutput) ToAppArrayOutputWithContext

func (o AppArrayOutput) ToAppArrayOutputWithContext(ctx context.Context) AppArrayOutput

type AppAutoBranchCreationConfig

type AppAutoBranchCreationConfig struct {
	// Basic authorization credentials for the autocreated branch.
	BasicAuthCredentials *string `pulumi:"basicAuthCredentials"`
	// Build specification (build spec) for the autocreated branch.
	BuildSpec *string `pulumi:"buildSpec"`
	// Enables auto building for the autocreated branch.
	EnableAutoBuild *bool `pulumi:"enableAutoBuild"`
	// Enables basic authorization for the autocreated branch.
	EnableBasicAuth *bool `pulumi:"enableBasicAuth"`
	// Enables performance mode for the branch.
	EnablePerformanceMode *bool `pulumi:"enablePerformanceMode"`
	// Enables pull request previews for the autocreated branch.
	EnablePullRequestPreview *bool `pulumi:"enablePullRequestPreview"`
	// Environment variables for the autocreated branch.
	EnvironmentVariables map[string]string `pulumi:"environmentVariables"`
	// Framework for the autocreated branch.
	Framework *string `pulumi:"framework"`
	// Amplify environment name for the pull request.
	PullRequestEnvironmentName *string `pulumi:"pullRequestEnvironmentName"`
	// Describes the current stage for the autocreated branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.
	Stage *string `pulumi:"stage"`
}

type AppAutoBranchCreationConfigArgs

type AppAutoBranchCreationConfigArgs struct {
	// Basic authorization credentials for the autocreated branch.
	BasicAuthCredentials pulumi.StringPtrInput `pulumi:"basicAuthCredentials"`
	// Build specification (build spec) for the autocreated branch.
	BuildSpec pulumi.StringPtrInput `pulumi:"buildSpec"`
	// Enables auto building for the autocreated branch.
	EnableAutoBuild pulumi.BoolPtrInput `pulumi:"enableAutoBuild"`
	// Enables basic authorization for the autocreated branch.
	EnableBasicAuth pulumi.BoolPtrInput `pulumi:"enableBasicAuth"`
	// Enables performance mode for the branch.
	EnablePerformanceMode pulumi.BoolPtrInput `pulumi:"enablePerformanceMode"`
	// Enables pull request previews for the autocreated branch.
	EnablePullRequestPreview pulumi.BoolPtrInput `pulumi:"enablePullRequestPreview"`
	// Environment variables for the autocreated branch.
	EnvironmentVariables pulumi.StringMapInput `pulumi:"environmentVariables"`
	// Framework for the autocreated branch.
	Framework pulumi.StringPtrInput `pulumi:"framework"`
	// Amplify environment name for the pull request.
	PullRequestEnvironmentName pulumi.StringPtrInput `pulumi:"pullRequestEnvironmentName"`
	// Describes the current stage for the autocreated branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.
	Stage pulumi.StringPtrInput `pulumi:"stage"`
}

func (AppAutoBranchCreationConfigArgs) ElementType

func (AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigOutput

func (i AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigOutput() AppAutoBranchCreationConfigOutput

func (AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigOutputWithContext

func (i AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigOutputWithContext(ctx context.Context) AppAutoBranchCreationConfigOutput

func (AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigPtrOutput

func (i AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigPtrOutput() AppAutoBranchCreationConfigPtrOutput

func (AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigPtrOutputWithContext

func (i AppAutoBranchCreationConfigArgs) ToAppAutoBranchCreationConfigPtrOutputWithContext(ctx context.Context) AppAutoBranchCreationConfigPtrOutput

type AppAutoBranchCreationConfigInput

type AppAutoBranchCreationConfigInput interface {
	pulumi.Input

	ToAppAutoBranchCreationConfigOutput() AppAutoBranchCreationConfigOutput
	ToAppAutoBranchCreationConfigOutputWithContext(context.Context) AppAutoBranchCreationConfigOutput
}

AppAutoBranchCreationConfigInput is an input type that accepts AppAutoBranchCreationConfigArgs and AppAutoBranchCreationConfigOutput values. You can construct a concrete instance of `AppAutoBranchCreationConfigInput` via:

AppAutoBranchCreationConfigArgs{...}

type AppAutoBranchCreationConfigOutput

type AppAutoBranchCreationConfigOutput struct{ *pulumi.OutputState }

func (AppAutoBranchCreationConfigOutput) BasicAuthCredentials

func (o AppAutoBranchCreationConfigOutput) BasicAuthCredentials() pulumi.StringPtrOutput

Basic authorization credentials for the autocreated branch.

func (AppAutoBranchCreationConfigOutput) BuildSpec

Build specification (build spec) for the autocreated branch.

func (AppAutoBranchCreationConfigOutput) ElementType

func (AppAutoBranchCreationConfigOutput) EnableAutoBuild

Enables auto building for the autocreated branch.

func (AppAutoBranchCreationConfigOutput) EnableBasicAuth

Enables basic authorization for the autocreated branch.

func (AppAutoBranchCreationConfigOutput) EnablePerformanceMode

func (o AppAutoBranchCreationConfigOutput) EnablePerformanceMode() pulumi.BoolPtrOutput

Enables performance mode for the branch.

func (AppAutoBranchCreationConfigOutput) EnablePullRequestPreview

func (o AppAutoBranchCreationConfigOutput) EnablePullRequestPreview() pulumi.BoolPtrOutput

Enables pull request previews for the autocreated branch.

func (AppAutoBranchCreationConfigOutput) EnvironmentVariables

func (o AppAutoBranchCreationConfigOutput) EnvironmentVariables() pulumi.StringMapOutput

Environment variables for the autocreated branch.

func (AppAutoBranchCreationConfigOutput) Framework

Framework for the autocreated branch.

func (AppAutoBranchCreationConfigOutput) PullRequestEnvironmentName

func (o AppAutoBranchCreationConfigOutput) PullRequestEnvironmentName() pulumi.StringPtrOutput

Amplify environment name for the pull request.

func (AppAutoBranchCreationConfigOutput) Stage

Describes the current stage for the autocreated branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.

func (AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigOutput

func (o AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigOutput() AppAutoBranchCreationConfigOutput

func (AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigOutputWithContext

func (o AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigOutputWithContext(ctx context.Context) AppAutoBranchCreationConfigOutput

func (AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigPtrOutput

func (o AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigPtrOutput() AppAutoBranchCreationConfigPtrOutput

func (AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigPtrOutputWithContext

func (o AppAutoBranchCreationConfigOutput) ToAppAutoBranchCreationConfigPtrOutputWithContext(ctx context.Context) AppAutoBranchCreationConfigPtrOutput

type AppAutoBranchCreationConfigPtrInput

type AppAutoBranchCreationConfigPtrInput interface {
	pulumi.Input

	ToAppAutoBranchCreationConfigPtrOutput() AppAutoBranchCreationConfigPtrOutput
	ToAppAutoBranchCreationConfigPtrOutputWithContext(context.Context) AppAutoBranchCreationConfigPtrOutput
}

AppAutoBranchCreationConfigPtrInput is an input type that accepts AppAutoBranchCreationConfigArgs, AppAutoBranchCreationConfigPtr and AppAutoBranchCreationConfigPtrOutput values. You can construct a concrete instance of `AppAutoBranchCreationConfigPtrInput` via:

        AppAutoBranchCreationConfigArgs{...}

or:

        nil

type AppAutoBranchCreationConfigPtrOutput

type AppAutoBranchCreationConfigPtrOutput struct{ *pulumi.OutputState }

func (AppAutoBranchCreationConfigPtrOutput) BasicAuthCredentials

Basic authorization credentials for the autocreated branch.

func (AppAutoBranchCreationConfigPtrOutput) BuildSpec

Build specification (build spec) for the autocreated branch.

func (AppAutoBranchCreationConfigPtrOutput) Elem

func (AppAutoBranchCreationConfigPtrOutput) ElementType

func (AppAutoBranchCreationConfigPtrOutput) EnableAutoBuild

Enables auto building for the autocreated branch.

func (AppAutoBranchCreationConfigPtrOutput) EnableBasicAuth

Enables basic authorization for the autocreated branch.

func (AppAutoBranchCreationConfigPtrOutput) EnablePerformanceMode

func (o AppAutoBranchCreationConfigPtrOutput) EnablePerformanceMode() pulumi.BoolPtrOutput

Enables performance mode for the branch.

func (AppAutoBranchCreationConfigPtrOutput) EnablePullRequestPreview

func (o AppAutoBranchCreationConfigPtrOutput) EnablePullRequestPreview() pulumi.BoolPtrOutput

Enables pull request previews for the autocreated branch.

func (AppAutoBranchCreationConfigPtrOutput) EnvironmentVariables

Environment variables for the autocreated branch.

func (AppAutoBranchCreationConfigPtrOutput) Framework

Framework for the autocreated branch.

func (AppAutoBranchCreationConfigPtrOutput) PullRequestEnvironmentName

func (o AppAutoBranchCreationConfigPtrOutput) PullRequestEnvironmentName() pulumi.StringPtrOutput

Amplify environment name for the pull request.

func (AppAutoBranchCreationConfigPtrOutput) Stage

Describes the current stage for the autocreated branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.

func (AppAutoBranchCreationConfigPtrOutput) ToAppAutoBranchCreationConfigPtrOutput

func (o AppAutoBranchCreationConfigPtrOutput) ToAppAutoBranchCreationConfigPtrOutput() AppAutoBranchCreationConfigPtrOutput

func (AppAutoBranchCreationConfigPtrOutput) ToAppAutoBranchCreationConfigPtrOutputWithContext

func (o AppAutoBranchCreationConfigPtrOutput) ToAppAutoBranchCreationConfigPtrOutputWithContext(ctx context.Context) AppAutoBranchCreationConfigPtrOutput

type AppCustomRule

type AppCustomRule struct {
	// Condition for a URL rewrite or redirect rule, such as a country code.
	Condition *string `pulumi:"condition"`
	// Source pattern for a URL rewrite or redirect rule.
	Source string `pulumi:"source"`
	// Status code for a URL rewrite or redirect rule. Valid values: `200`, `301`, `302`, `404`, `404-200`.
	Status *string `pulumi:"status"`
	// Target pattern for a URL rewrite or redirect rule.
	Target string `pulumi:"target"`
}

type AppCustomRuleArgs

type AppCustomRuleArgs struct {
	// Condition for a URL rewrite or redirect rule, such as a country code.
	Condition pulumi.StringPtrInput `pulumi:"condition"`
	// Source pattern for a URL rewrite or redirect rule.
	Source pulumi.StringInput `pulumi:"source"`
	// Status code for a URL rewrite or redirect rule. Valid values: `200`, `301`, `302`, `404`, `404-200`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Target pattern for a URL rewrite or redirect rule.
	Target pulumi.StringInput `pulumi:"target"`
}

func (AppCustomRuleArgs) ElementType

func (AppCustomRuleArgs) ElementType() reflect.Type

func (AppCustomRuleArgs) ToAppCustomRuleOutput

func (i AppCustomRuleArgs) ToAppCustomRuleOutput() AppCustomRuleOutput

func (AppCustomRuleArgs) ToAppCustomRuleOutputWithContext

func (i AppCustomRuleArgs) ToAppCustomRuleOutputWithContext(ctx context.Context) AppCustomRuleOutput

type AppCustomRuleArray

type AppCustomRuleArray []AppCustomRuleInput

func (AppCustomRuleArray) ElementType

func (AppCustomRuleArray) ElementType() reflect.Type

func (AppCustomRuleArray) ToAppCustomRuleArrayOutput

func (i AppCustomRuleArray) ToAppCustomRuleArrayOutput() AppCustomRuleArrayOutput

func (AppCustomRuleArray) ToAppCustomRuleArrayOutputWithContext

func (i AppCustomRuleArray) ToAppCustomRuleArrayOutputWithContext(ctx context.Context) AppCustomRuleArrayOutput

type AppCustomRuleArrayInput

type AppCustomRuleArrayInput interface {
	pulumi.Input

	ToAppCustomRuleArrayOutput() AppCustomRuleArrayOutput
	ToAppCustomRuleArrayOutputWithContext(context.Context) AppCustomRuleArrayOutput
}

AppCustomRuleArrayInput is an input type that accepts AppCustomRuleArray and AppCustomRuleArrayOutput values. You can construct a concrete instance of `AppCustomRuleArrayInput` via:

AppCustomRuleArray{ AppCustomRuleArgs{...} }

type AppCustomRuleArrayOutput

type AppCustomRuleArrayOutput struct{ *pulumi.OutputState }

func (AppCustomRuleArrayOutput) ElementType

func (AppCustomRuleArrayOutput) ElementType() reflect.Type

func (AppCustomRuleArrayOutput) Index

func (AppCustomRuleArrayOutput) ToAppCustomRuleArrayOutput

func (o AppCustomRuleArrayOutput) ToAppCustomRuleArrayOutput() AppCustomRuleArrayOutput

func (AppCustomRuleArrayOutput) ToAppCustomRuleArrayOutputWithContext

func (o AppCustomRuleArrayOutput) ToAppCustomRuleArrayOutputWithContext(ctx context.Context) AppCustomRuleArrayOutput

type AppCustomRuleInput

type AppCustomRuleInput interface {
	pulumi.Input

	ToAppCustomRuleOutput() AppCustomRuleOutput
	ToAppCustomRuleOutputWithContext(context.Context) AppCustomRuleOutput
}

AppCustomRuleInput is an input type that accepts AppCustomRuleArgs and AppCustomRuleOutput values. You can construct a concrete instance of `AppCustomRuleInput` via:

AppCustomRuleArgs{...}

type AppCustomRuleOutput

type AppCustomRuleOutput struct{ *pulumi.OutputState }

func (AppCustomRuleOutput) Condition

Condition for a URL rewrite or redirect rule, such as a country code.

func (AppCustomRuleOutput) ElementType

func (AppCustomRuleOutput) ElementType() reflect.Type

func (AppCustomRuleOutput) Source

Source pattern for a URL rewrite or redirect rule.

func (AppCustomRuleOutput) Status

Status code for a URL rewrite or redirect rule. Valid values: `200`, `301`, `302`, `404`, `404-200`.

func (AppCustomRuleOutput) Target

Target pattern for a URL rewrite or redirect rule.

func (AppCustomRuleOutput) ToAppCustomRuleOutput

func (o AppCustomRuleOutput) ToAppCustomRuleOutput() AppCustomRuleOutput

func (AppCustomRuleOutput) ToAppCustomRuleOutputWithContext

func (o AppCustomRuleOutput) ToAppCustomRuleOutputWithContext(ctx context.Context) AppCustomRuleOutput

type AppInput

type AppInput interface {
	pulumi.Input

	ToAppOutput() AppOutput
	ToAppOutputWithContext(ctx context.Context) AppOutput
}

type AppMap

type AppMap map[string]AppInput

func (AppMap) ElementType

func (AppMap) ElementType() reflect.Type

func (AppMap) ToAppMapOutput

func (i AppMap) ToAppMapOutput() AppMapOutput

func (AppMap) ToAppMapOutputWithContext

func (i AppMap) ToAppMapOutputWithContext(ctx context.Context) AppMapOutput

type AppMapInput

type AppMapInput interface {
	pulumi.Input

	ToAppMapOutput() AppMapOutput
	ToAppMapOutputWithContext(context.Context) AppMapOutput
}

AppMapInput is an input type that accepts AppMap and AppMapOutput values. You can construct a concrete instance of `AppMapInput` via:

AppMap{ "key": AppArgs{...} }

type AppMapOutput

type AppMapOutput struct{ *pulumi.OutputState }

func (AppMapOutput) ElementType

func (AppMapOutput) ElementType() reflect.Type

func (AppMapOutput) MapIndex

func (o AppMapOutput) MapIndex(k pulumi.StringInput) AppOutput

func (AppMapOutput) ToAppMapOutput

func (o AppMapOutput) ToAppMapOutput() AppMapOutput

func (AppMapOutput) ToAppMapOutputWithContext

func (o AppMapOutput) ToAppMapOutputWithContext(ctx context.Context) AppMapOutput

type AppOutput

type AppOutput struct{ *pulumi.OutputState }

func (AppOutput) AccessToken added in v5.4.0

func (o AppOutput) AccessToken() pulumi.StringPtrOutput

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.

func (AppOutput) Arn added in v5.4.0

func (o AppOutput) Arn() pulumi.StringOutput

ARN of the Amplify app.

func (AppOutput) AutoBranchCreationConfig added in v5.4.0

func (o AppOutput) AutoBranchCreationConfig() AppAutoBranchCreationConfigOutput

Automated branch creation configuration for an Amplify app. An `autoBranchCreationConfig` block is documented below.

func (AppOutput) AutoBranchCreationPatterns added in v5.4.0

func (o AppOutput) AutoBranchCreationPatterns() pulumi.StringArrayOutput

Automated branch creation glob patterns for an Amplify app.

func (AppOutput) BasicAuthCredentials added in v5.4.0

func (o AppOutput) BasicAuthCredentials() pulumi.StringPtrOutput

Credentials for basic authorization for an Amplify app.

func (AppOutput) BuildSpec added in v5.4.0

func (o AppOutput) BuildSpec() pulumi.StringOutput

The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.

func (AppOutput) CustomRules added in v5.4.0

func (o AppOutput) CustomRules() AppCustomRuleArrayOutput

Custom rewrite and redirect rules for an Amplify app. A `customRule` block is documented below.

func (AppOutput) DefaultDomain added in v5.4.0

func (o AppOutput) DefaultDomain() pulumi.StringOutput

Default domain for the Amplify app.

func (AppOutput) Description added in v5.4.0

func (o AppOutput) Description() pulumi.StringPtrOutput

Description for an Amplify app.

func (AppOutput) ElementType

func (AppOutput) ElementType() reflect.Type

func (AppOutput) EnableAutoBranchCreation added in v5.4.0

func (o AppOutput) EnableAutoBranchCreation() pulumi.BoolPtrOutput

Enables automated branch creation for an Amplify app.

func (AppOutput) EnableBasicAuth added in v5.4.0

func (o AppOutput) EnableBasicAuth() pulumi.BoolPtrOutput

Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.

func (AppOutput) EnableBranchAutoBuild added in v5.4.0

func (o AppOutput) EnableBranchAutoBuild() pulumi.BoolPtrOutput

Enables auto-building of branches for the Amplify App.

func (AppOutput) EnableBranchAutoDeletion added in v5.4.0

func (o AppOutput) EnableBranchAutoDeletion() pulumi.BoolPtrOutput

Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.

func (AppOutput) EnvironmentVariables added in v5.4.0

func (o AppOutput) EnvironmentVariables() pulumi.StringMapOutput

Environment variables map for an Amplify app.

func (AppOutput) IamServiceRoleArn added in v5.4.0

func (o AppOutput) IamServiceRoleArn() pulumi.StringPtrOutput

AWS Identity and Access Management (IAM) service role for an Amplify app.

func (AppOutput) Name added in v5.4.0

func (o AppOutput) Name() pulumi.StringOutput

Name for an Amplify app.

func (AppOutput) OauthToken added in v5.4.0

func (o AppOutput) OauthToken() pulumi.StringPtrOutput

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.

func (AppOutput) Platform added in v5.4.0

func (o AppOutput) Platform() pulumi.StringPtrOutput

Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.

func (AppOutput) ProductionBranches added in v5.4.0

func (o AppOutput) ProductionBranches() AppProductionBranchArrayOutput

Describes the information about a production branch for an Amplify app. A `productionBranch` block is documented below.

func (AppOutput) Repository added in v5.4.0

func (o AppOutput) Repository() pulumi.StringPtrOutput

Repository for an Amplify app.

func (AppOutput) Tags added in v5.4.0

func (o AppOutput) Tags() pulumi.StringMapOutput

Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (AppOutput) TagsAll added in v5.4.0

func (o AppOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (AppOutput) ToAppOutput

func (o AppOutput) ToAppOutput() AppOutput

func (AppOutput) ToAppOutputWithContext

func (o AppOutput) ToAppOutputWithContext(ctx context.Context) AppOutput

type AppProductionBranch

type AppProductionBranch struct {
	// Branch name for the production branch.
	BranchName *string `pulumi:"branchName"`
	// Last deploy time of the production branch.
	LastDeployTime *string `pulumi:"lastDeployTime"`
	// Status code for a URL rewrite or redirect rule. Valid values: `200`, `301`, `302`, `404`, `404-200`.
	Status *string `pulumi:"status"`
	// Thumbnail URL for the production branch.
	ThumbnailUrl *string `pulumi:"thumbnailUrl"`
}

type AppProductionBranchArgs

type AppProductionBranchArgs struct {
	// Branch name for the production branch.
	BranchName pulumi.StringPtrInput `pulumi:"branchName"`
	// Last deploy time of the production branch.
	LastDeployTime pulumi.StringPtrInput `pulumi:"lastDeployTime"`
	// Status code for a URL rewrite or redirect rule. Valid values: `200`, `301`, `302`, `404`, `404-200`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Thumbnail URL for the production branch.
	ThumbnailUrl pulumi.StringPtrInput `pulumi:"thumbnailUrl"`
}

func (AppProductionBranchArgs) ElementType

func (AppProductionBranchArgs) ElementType() reflect.Type

func (AppProductionBranchArgs) ToAppProductionBranchOutput

func (i AppProductionBranchArgs) ToAppProductionBranchOutput() AppProductionBranchOutput

func (AppProductionBranchArgs) ToAppProductionBranchOutputWithContext

func (i AppProductionBranchArgs) ToAppProductionBranchOutputWithContext(ctx context.Context) AppProductionBranchOutput

type AppProductionBranchArray

type AppProductionBranchArray []AppProductionBranchInput

func (AppProductionBranchArray) ElementType

func (AppProductionBranchArray) ElementType() reflect.Type

func (AppProductionBranchArray) ToAppProductionBranchArrayOutput

func (i AppProductionBranchArray) ToAppProductionBranchArrayOutput() AppProductionBranchArrayOutput

func (AppProductionBranchArray) ToAppProductionBranchArrayOutputWithContext

func (i AppProductionBranchArray) ToAppProductionBranchArrayOutputWithContext(ctx context.Context) AppProductionBranchArrayOutput

type AppProductionBranchArrayInput

type AppProductionBranchArrayInput interface {
	pulumi.Input

	ToAppProductionBranchArrayOutput() AppProductionBranchArrayOutput
	ToAppProductionBranchArrayOutputWithContext(context.Context) AppProductionBranchArrayOutput
}

AppProductionBranchArrayInput is an input type that accepts AppProductionBranchArray and AppProductionBranchArrayOutput values. You can construct a concrete instance of `AppProductionBranchArrayInput` via:

AppProductionBranchArray{ AppProductionBranchArgs{...} }

type AppProductionBranchArrayOutput

type AppProductionBranchArrayOutput struct{ *pulumi.OutputState }

func (AppProductionBranchArrayOutput) ElementType

func (AppProductionBranchArrayOutput) Index

func (AppProductionBranchArrayOutput) ToAppProductionBranchArrayOutput

func (o AppProductionBranchArrayOutput) ToAppProductionBranchArrayOutput() AppProductionBranchArrayOutput

func (AppProductionBranchArrayOutput) ToAppProductionBranchArrayOutputWithContext

func (o AppProductionBranchArrayOutput) ToAppProductionBranchArrayOutputWithContext(ctx context.Context) AppProductionBranchArrayOutput

type AppProductionBranchInput

type AppProductionBranchInput interface {
	pulumi.Input

	ToAppProductionBranchOutput() AppProductionBranchOutput
	ToAppProductionBranchOutputWithContext(context.Context) AppProductionBranchOutput
}

AppProductionBranchInput is an input type that accepts AppProductionBranchArgs and AppProductionBranchOutput values. You can construct a concrete instance of `AppProductionBranchInput` via:

AppProductionBranchArgs{...}

type AppProductionBranchOutput

type AppProductionBranchOutput struct{ *pulumi.OutputState }

func (AppProductionBranchOutput) BranchName

Branch name for the production branch.

func (AppProductionBranchOutput) ElementType

func (AppProductionBranchOutput) ElementType() reflect.Type

func (AppProductionBranchOutput) LastDeployTime

Last deploy time of the production branch.

func (AppProductionBranchOutput) Status

Status code for a URL rewrite or redirect rule. Valid values: `200`, `301`, `302`, `404`, `404-200`.

func (AppProductionBranchOutput) ThumbnailUrl

Thumbnail URL for the production branch.

func (AppProductionBranchOutput) ToAppProductionBranchOutput

func (o AppProductionBranchOutput) ToAppProductionBranchOutput() AppProductionBranchOutput

func (AppProductionBranchOutput) ToAppProductionBranchOutputWithContext

func (o AppProductionBranchOutput) ToAppProductionBranchOutputWithContext(ctx context.Context) AppProductionBranchOutput

type AppState

type AppState struct {
	// 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.
	AccessToken pulumi.StringPtrInput
	// ARN of the Amplify app.
	Arn pulumi.StringPtrInput
	// Automated branch creation configuration for an Amplify app. An `autoBranchCreationConfig` block is documented below.
	AutoBranchCreationConfig AppAutoBranchCreationConfigPtrInput
	// Automated branch creation glob patterns for an Amplify app.
	AutoBranchCreationPatterns pulumi.StringArrayInput
	// Credentials for basic authorization for an Amplify app.
	BasicAuthCredentials pulumi.StringPtrInput
	// The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.
	BuildSpec pulumi.StringPtrInput
	// Custom rewrite and redirect rules for an Amplify app. A `customRule` block is documented below.
	CustomRules AppCustomRuleArrayInput
	// Default domain for the Amplify app.
	DefaultDomain pulumi.StringPtrInput
	// Description for an Amplify app.
	Description pulumi.StringPtrInput
	// Enables automated branch creation for an Amplify app.
	EnableAutoBranchCreation pulumi.BoolPtrInput
	// Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
	EnableBasicAuth pulumi.BoolPtrInput
	// Enables auto-building of branches for the Amplify App.
	EnableBranchAutoBuild pulumi.BoolPtrInput
	// Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
	EnableBranchAutoDeletion pulumi.BoolPtrInput
	// Environment variables map for an Amplify app.
	EnvironmentVariables pulumi.StringMapInput
	// AWS Identity and Access Management (IAM) service role for an Amplify app.
	IamServiceRoleArn pulumi.StringPtrInput
	// Name for an Amplify app.
	Name pulumi.StringPtrInput
	// 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.
	OauthToken pulumi.StringPtrInput
	// Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.
	Platform pulumi.StringPtrInput
	// Describes the information about a production branch for an Amplify app. A `productionBranch` block is documented below.
	ProductionBranches AppProductionBranchArrayInput
	// Repository for an Amplify app.
	Repository pulumi.StringPtrInput
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (AppState) ElementType

func (AppState) ElementType() reflect.Type

type BackendEnvironment

type BackendEnvironment struct {
	pulumi.CustomResourceState

	// Unique ID for an Amplify app.
	AppId pulumi.StringOutput `pulumi:"appId"`
	// ARN for a backend environment that is part of an Amplify app.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of deployment artifacts.
	DeploymentArtifacts pulumi.StringOutput `pulumi:"deploymentArtifacts"`
	// Name for the backend environment.
	EnvironmentName pulumi.StringOutput `pulumi:"environmentName"`
	// AWS CloudFormation stack name of a backend environment.
	StackName pulumi.StringOutput `pulumi:"stackName"`
}

Provides an Amplify Backend Environment resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amplify"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleApp, err := amplify.NewApp(ctx, "exampleApp", nil)
		if err != nil {
			return err
		}
		_, err = amplify.NewBackendEnvironment(ctx, "exampleBackendEnvironment", &amplify.BackendEnvironmentArgs{
			AppId:               exampleApp.ID(),
			EnvironmentName:     pulumi.String("example"),
			DeploymentArtifacts: pulumi.String("app-example-deployment"),
			StackName:           pulumi.String("amplify-app-example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Amplify backend environment can be imported using `app_id` and `environment_name`, e.g.,

```sh

$ pulumi import aws:amplify/backendEnvironment:BackendEnvironment example d2ypk4k47z8u6/example

```

func GetBackendEnvironment

func GetBackendEnvironment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackendEnvironmentState, opts ...pulumi.ResourceOption) (*BackendEnvironment, error)

GetBackendEnvironment gets an existing BackendEnvironment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackendEnvironment

func NewBackendEnvironment(ctx *pulumi.Context,
	name string, args *BackendEnvironmentArgs, opts ...pulumi.ResourceOption) (*BackendEnvironment, error)

NewBackendEnvironment registers a new resource with the given unique name, arguments, and options.

func (*BackendEnvironment) ElementType

func (*BackendEnvironment) ElementType() reflect.Type

func (*BackendEnvironment) ToBackendEnvironmentOutput

func (i *BackendEnvironment) ToBackendEnvironmentOutput() BackendEnvironmentOutput

func (*BackendEnvironment) ToBackendEnvironmentOutputWithContext

func (i *BackendEnvironment) ToBackendEnvironmentOutputWithContext(ctx context.Context) BackendEnvironmentOutput

type BackendEnvironmentArgs

type BackendEnvironmentArgs struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringInput
	// Name of deployment artifacts.
	DeploymentArtifacts pulumi.StringPtrInput
	// Name for the backend environment.
	EnvironmentName pulumi.StringInput
	// AWS CloudFormation stack name of a backend environment.
	StackName pulumi.StringPtrInput
}

The set of arguments for constructing a BackendEnvironment resource.

func (BackendEnvironmentArgs) ElementType

func (BackendEnvironmentArgs) ElementType() reflect.Type

type BackendEnvironmentArray

type BackendEnvironmentArray []BackendEnvironmentInput

func (BackendEnvironmentArray) ElementType

func (BackendEnvironmentArray) ElementType() reflect.Type

func (BackendEnvironmentArray) ToBackendEnvironmentArrayOutput

func (i BackendEnvironmentArray) ToBackendEnvironmentArrayOutput() BackendEnvironmentArrayOutput

func (BackendEnvironmentArray) ToBackendEnvironmentArrayOutputWithContext

func (i BackendEnvironmentArray) ToBackendEnvironmentArrayOutputWithContext(ctx context.Context) BackendEnvironmentArrayOutput

type BackendEnvironmentArrayInput

type BackendEnvironmentArrayInput interface {
	pulumi.Input

	ToBackendEnvironmentArrayOutput() BackendEnvironmentArrayOutput
	ToBackendEnvironmentArrayOutputWithContext(context.Context) BackendEnvironmentArrayOutput
}

BackendEnvironmentArrayInput is an input type that accepts BackendEnvironmentArray and BackendEnvironmentArrayOutput values. You can construct a concrete instance of `BackendEnvironmentArrayInput` via:

BackendEnvironmentArray{ BackendEnvironmentArgs{...} }

type BackendEnvironmentArrayOutput

type BackendEnvironmentArrayOutput struct{ *pulumi.OutputState }

func (BackendEnvironmentArrayOutput) ElementType

func (BackendEnvironmentArrayOutput) Index

func (BackendEnvironmentArrayOutput) ToBackendEnvironmentArrayOutput

func (o BackendEnvironmentArrayOutput) ToBackendEnvironmentArrayOutput() BackendEnvironmentArrayOutput

func (BackendEnvironmentArrayOutput) ToBackendEnvironmentArrayOutputWithContext

func (o BackendEnvironmentArrayOutput) ToBackendEnvironmentArrayOutputWithContext(ctx context.Context) BackendEnvironmentArrayOutput

type BackendEnvironmentInput

type BackendEnvironmentInput interface {
	pulumi.Input

	ToBackendEnvironmentOutput() BackendEnvironmentOutput
	ToBackendEnvironmentOutputWithContext(ctx context.Context) BackendEnvironmentOutput
}

type BackendEnvironmentMap

type BackendEnvironmentMap map[string]BackendEnvironmentInput

func (BackendEnvironmentMap) ElementType

func (BackendEnvironmentMap) ElementType() reflect.Type

func (BackendEnvironmentMap) ToBackendEnvironmentMapOutput

func (i BackendEnvironmentMap) ToBackendEnvironmentMapOutput() BackendEnvironmentMapOutput

func (BackendEnvironmentMap) ToBackendEnvironmentMapOutputWithContext

func (i BackendEnvironmentMap) ToBackendEnvironmentMapOutputWithContext(ctx context.Context) BackendEnvironmentMapOutput

type BackendEnvironmentMapInput

type BackendEnvironmentMapInput interface {
	pulumi.Input

	ToBackendEnvironmentMapOutput() BackendEnvironmentMapOutput
	ToBackendEnvironmentMapOutputWithContext(context.Context) BackendEnvironmentMapOutput
}

BackendEnvironmentMapInput is an input type that accepts BackendEnvironmentMap and BackendEnvironmentMapOutput values. You can construct a concrete instance of `BackendEnvironmentMapInput` via:

BackendEnvironmentMap{ "key": BackendEnvironmentArgs{...} }

type BackendEnvironmentMapOutput

type BackendEnvironmentMapOutput struct{ *pulumi.OutputState }

func (BackendEnvironmentMapOutput) ElementType

func (BackendEnvironmentMapOutput) MapIndex

func (BackendEnvironmentMapOutput) ToBackendEnvironmentMapOutput

func (o BackendEnvironmentMapOutput) ToBackendEnvironmentMapOutput() BackendEnvironmentMapOutput

func (BackendEnvironmentMapOutput) ToBackendEnvironmentMapOutputWithContext

func (o BackendEnvironmentMapOutput) ToBackendEnvironmentMapOutputWithContext(ctx context.Context) BackendEnvironmentMapOutput

type BackendEnvironmentOutput

type BackendEnvironmentOutput struct{ *pulumi.OutputState }

func (BackendEnvironmentOutput) AppId added in v5.4.0

Unique ID for an Amplify app.

func (BackendEnvironmentOutput) Arn added in v5.4.0

ARN for a backend environment that is part of an Amplify app.

func (BackendEnvironmentOutput) DeploymentArtifacts added in v5.4.0

func (o BackendEnvironmentOutput) DeploymentArtifacts() pulumi.StringOutput

Name of deployment artifacts.

func (BackendEnvironmentOutput) ElementType

func (BackendEnvironmentOutput) ElementType() reflect.Type

func (BackendEnvironmentOutput) EnvironmentName added in v5.4.0

func (o BackendEnvironmentOutput) EnvironmentName() pulumi.StringOutput

Name for the backend environment.

func (BackendEnvironmentOutput) StackName added in v5.4.0

AWS CloudFormation stack name of a backend environment.

func (BackendEnvironmentOutput) ToBackendEnvironmentOutput

func (o BackendEnvironmentOutput) ToBackendEnvironmentOutput() BackendEnvironmentOutput

func (BackendEnvironmentOutput) ToBackendEnvironmentOutputWithContext

func (o BackendEnvironmentOutput) ToBackendEnvironmentOutputWithContext(ctx context.Context) BackendEnvironmentOutput

type BackendEnvironmentState

type BackendEnvironmentState struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringPtrInput
	// ARN for a backend environment that is part of an Amplify app.
	Arn pulumi.StringPtrInput
	// Name of deployment artifacts.
	DeploymentArtifacts pulumi.StringPtrInput
	// Name for the backend environment.
	EnvironmentName pulumi.StringPtrInput
	// AWS CloudFormation stack name of a backend environment.
	StackName pulumi.StringPtrInput
}

func (BackendEnvironmentState) ElementType

func (BackendEnvironmentState) ElementType() reflect.Type

type Branch

type Branch struct {
	pulumi.CustomResourceState

	// Unique ID for an Amplify app.
	AppId pulumi.StringOutput `pulumi:"appId"`
	// ARN for the branch.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A list of custom resources that are linked to this branch.
	AssociatedResources pulumi.StringArrayOutput `pulumi:"associatedResources"`
	// ARN for a backend environment that is part of an Amplify app.
	BackendEnvironmentArn pulumi.StringPtrOutput `pulumi:"backendEnvironmentArn"`
	// Basic authorization credentials for the branch.
	BasicAuthCredentials pulumi.StringPtrOutput `pulumi:"basicAuthCredentials"`
	// Name for the branch.
	BranchName pulumi.StringOutput `pulumi:"branchName"`
	// Custom domains for the branch.
	CustomDomains pulumi.StringArrayOutput `pulumi:"customDomains"`
	// Description for the branch.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Destination branch if the branch is a pull request branch.
	DestinationBranch pulumi.StringOutput `pulumi:"destinationBranch"`
	// Display name for a branch. This is used as the default domain prefix.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Enables auto building for the branch.
	EnableAutoBuild pulumi.BoolPtrOutput `pulumi:"enableAutoBuild"`
	// Enables basic authorization for the branch.
	EnableBasicAuth pulumi.BoolPtrOutput `pulumi:"enableBasicAuth"`
	// Enables notifications for the branch.
	EnableNotification pulumi.BoolPtrOutput `pulumi:"enableNotification"`
	// Enables performance mode for the branch.
	EnablePerformanceMode pulumi.BoolPtrOutput `pulumi:"enablePerformanceMode"`
	// Enables pull request previews for this branch.
	EnablePullRequestPreview pulumi.BoolPtrOutput `pulumi:"enablePullRequestPreview"`
	// Environment variables for the branch.
	EnvironmentVariables pulumi.StringMapOutput `pulumi:"environmentVariables"`
	// Framework for the branch.
	Framework pulumi.StringPtrOutput `pulumi:"framework"`
	// Amplify environment name for the pull request.
	PullRequestEnvironmentName pulumi.StringPtrOutput `pulumi:"pullRequestEnvironmentName"`
	// Source branch if the branch is a pull request branch.
	SourceBranch pulumi.StringOutput `pulumi:"sourceBranch"`
	// Describes the current stage for the branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.
	Stage pulumi.StringPtrOutput `pulumi:"stage"`
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Content Time To Live (TTL) for the website in seconds.
	Ttl pulumi.StringPtrOutput `pulumi:"ttl"`
}

Provides an Amplify Branch resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amplify"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := amplify.NewApp(ctx, "example", nil)
		if err != nil {
			return err
		}
		_, err = amplify.NewBranch(ctx, "master", &amplify.BranchArgs{
			AppId:      example.ID(),
			BranchName: pulumi.String("master"),
			Framework:  pulumi.String("React"),
			Stage:      pulumi.String("PRODUCTION"),
			EnvironmentVariables: pulumi.StringMap{
				"REACT_APP_API_SERVER": pulumi.String("https://api.example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Notifications

Amplify Console uses EventBridge (formerly known as CloudWatch Events) and SNS for email notifications. To implement the same functionality, you need to set `enableNotification` in a `amplify.Branch` resource, as well as creating an EventBridge Rule, an SNS topic, and SNS subscriptions.

```go package main

import ( "encoding/json" "fmt"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amplify" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sns" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := amplify.NewApp(ctx, "example", nil) if err != nil { return err } master, err := amplify.NewBranch(ctx, "master", &amplify.BranchArgs{ AppId: example.ID(), BranchName: pulumi.String("master"), EnableNotification: pulumi.Bool(true), }) if err != nil { return err } amplifyAppMasterEventRule, err := cloudwatch.NewEventRule(ctx, "amplifyAppMasterEventRule", &cloudwatch.EventRuleArgs{ Description: master.BranchName.ApplyT(func(branchName string) (string, error) { return fmt.Sprintf("AWS Amplify build notifications for : App: %v Branch: %v", aws_amplify_app.App.Id, branchName), nil }).(pulumi.StringOutput), EventPattern: pulumi.All(example.ID(),master.BranchName).ApplyT(func(_args []interface{}) (string, error) { id := _args[0].(string) branchName := _args[1].(string) var _zero string tmpJSON0, err := json.Marshal(map[string]interface{}{ "detail": map[string]interface{}{ "appId": []string{ id, }, "branchName": []string{ branchName, }, "jobStatus": []string{ "SUCCEED", "FAILED", "STARTED", }, }, "detail-type": []string{ "Amplify Deployment Status Change", }, "source": []string{ "aws.amplify", }, }) if err != nil { return _zero, err } json0 := string(tmpJSON0) return json0, nil }).(pulumi.StringOutput), }) if err != nil { return err } amplifyAppMasterTopic, err := sns.NewTopic(ctx, "amplifyAppMasterTopic", nil) if err != nil { return err } _, err = cloudwatch.NewEventTarget(ctx, "amplifyAppMasterEventTarget", &cloudwatch.EventTargetArgs{ Rule: amplifyAppMasterEventRule.Name, Arn: amplifyAppMasterTopic.Arn, InputTransformer: &cloudwatch.EventTargetInputTransformerArgs{ InputPaths: pulumi.StringMap{ "jobId": pulumi.String("$.detail.jobId"), "appId": pulumi.String("$.detail.appId"), "region": pulumi.String("$.region"), "branch": pulumi.String("$.detail.branchName"), "status": pulumi.String("$.detail.jobStatus"), }, InputTemplate: pulumi.String("\"Build notification from the AWS Amplify Console for app: https://<branch>.<appId>.amplifyapp.com/. Your build status is <status>. Go to https://console.aws.amazon.com/amplify/home?region=<region>#<appId>/<branch>/<jobId> to view details on your build. \""), }, }) if err != nil { return err } amplifyAppMasterPolicyDocument := pulumi.All(master.Arn,amplifyAppMasterTopic.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) { masterArn := _args[0].(string) amplifyAppMasterTopicArn := _args[1].(string) return iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ Statements: []iam.GetPolicyDocumentStatement{ { Sid: fmt.Sprintf("Allow_Publish_Events %v", masterArn), Effect: "Allow", Actions: []string{ "SNS:Publish", }, Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "Service", Identifiers: []string{ "events.amazonaws.com", }, }, }, Resources: interface{}{ amplifyAppMasterTopicArn, }, }, }, }, nil), nil }).(iam.GetPolicyDocumentResultOutput) _, err = sns.NewTopicPolicy(ctx, "amplifyAppMasterTopicPolicy", &sns.TopicPolicyArgs{ Arn: amplifyAppMasterTopic.Arn, Policy: amplifyAppMasterPolicyDocument.ApplyT(func(amplifyAppMasterPolicyDocument iam.GetPolicyDocumentResult) (*string, error) { return &amplifyAppMasterPolicyDocument.Json, nil }).(pulumi.StringPtrOutput), }) if err != nil { return err } _, err = sns.NewTopicSubscription(ctx, "this", &sns.TopicSubscriptionArgs{ Topic: amplifyAppMasterTopic.Arn, Protocol: pulumi.String("email"), Endpoint: pulumi.String("user@acme.com"), }) if err != nil { return err } return nil }) } ```

## Import

Amplify branch can be imported using `app_id` and `branch_name`, e.g.,

```sh

$ pulumi import aws:amplify/branch:Branch master d2ypk4k47z8u6/master

```

func GetBranch

func GetBranch(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BranchState, opts ...pulumi.ResourceOption) (*Branch, error)

GetBranch gets an existing Branch resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBranch

func NewBranch(ctx *pulumi.Context,
	name string, args *BranchArgs, opts ...pulumi.ResourceOption) (*Branch, error)

NewBranch registers a new resource with the given unique name, arguments, and options.

func (*Branch) ElementType

func (*Branch) ElementType() reflect.Type

func (*Branch) ToBranchOutput

func (i *Branch) ToBranchOutput() BranchOutput

func (*Branch) ToBranchOutputWithContext

func (i *Branch) ToBranchOutputWithContext(ctx context.Context) BranchOutput

type BranchArgs

type BranchArgs struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringInput
	// ARN for a backend environment that is part of an Amplify app.
	BackendEnvironmentArn pulumi.StringPtrInput
	// Basic authorization credentials for the branch.
	BasicAuthCredentials pulumi.StringPtrInput
	// Name for the branch.
	BranchName pulumi.StringInput
	// Description for the branch.
	Description pulumi.StringPtrInput
	// Display name for a branch. This is used as the default domain prefix.
	DisplayName pulumi.StringPtrInput
	// Enables auto building for the branch.
	EnableAutoBuild pulumi.BoolPtrInput
	// Enables basic authorization for the branch.
	EnableBasicAuth pulumi.BoolPtrInput
	// Enables notifications for the branch.
	EnableNotification pulumi.BoolPtrInput
	// Enables performance mode for the branch.
	EnablePerformanceMode pulumi.BoolPtrInput
	// Enables pull request previews for this branch.
	EnablePullRequestPreview pulumi.BoolPtrInput
	// Environment variables for the branch.
	EnvironmentVariables pulumi.StringMapInput
	// Framework for the branch.
	Framework pulumi.StringPtrInput
	// Amplify environment name for the pull request.
	PullRequestEnvironmentName pulumi.StringPtrInput
	// Describes the current stage for the branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.
	Stage pulumi.StringPtrInput
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Content Time To Live (TTL) for the website in seconds.
	Ttl pulumi.StringPtrInput
}

The set of arguments for constructing a Branch resource.

func (BranchArgs) ElementType

func (BranchArgs) ElementType() reflect.Type

type BranchArray

type BranchArray []BranchInput

func (BranchArray) ElementType

func (BranchArray) ElementType() reflect.Type

func (BranchArray) ToBranchArrayOutput

func (i BranchArray) ToBranchArrayOutput() BranchArrayOutput

func (BranchArray) ToBranchArrayOutputWithContext

func (i BranchArray) ToBranchArrayOutputWithContext(ctx context.Context) BranchArrayOutput

type BranchArrayInput

type BranchArrayInput interface {
	pulumi.Input

	ToBranchArrayOutput() BranchArrayOutput
	ToBranchArrayOutputWithContext(context.Context) BranchArrayOutput
}

BranchArrayInput is an input type that accepts BranchArray and BranchArrayOutput values. You can construct a concrete instance of `BranchArrayInput` via:

BranchArray{ BranchArgs{...} }

type BranchArrayOutput

type BranchArrayOutput struct{ *pulumi.OutputState }

func (BranchArrayOutput) ElementType

func (BranchArrayOutput) ElementType() reflect.Type

func (BranchArrayOutput) Index

func (BranchArrayOutput) ToBranchArrayOutput

func (o BranchArrayOutput) ToBranchArrayOutput() BranchArrayOutput

func (BranchArrayOutput) ToBranchArrayOutputWithContext

func (o BranchArrayOutput) ToBranchArrayOutputWithContext(ctx context.Context) BranchArrayOutput

type BranchInput

type BranchInput interface {
	pulumi.Input

	ToBranchOutput() BranchOutput
	ToBranchOutputWithContext(ctx context.Context) BranchOutput
}

type BranchMap

type BranchMap map[string]BranchInput

func (BranchMap) ElementType

func (BranchMap) ElementType() reflect.Type

func (BranchMap) ToBranchMapOutput

func (i BranchMap) ToBranchMapOutput() BranchMapOutput

func (BranchMap) ToBranchMapOutputWithContext

func (i BranchMap) ToBranchMapOutputWithContext(ctx context.Context) BranchMapOutput

type BranchMapInput

type BranchMapInput interface {
	pulumi.Input

	ToBranchMapOutput() BranchMapOutput
	ToBranchMapOutputWithContext(context.Context) BranchMapOutput
}

BranchMapInput is an input type that accepts BranchMap and BranchMapOutput values. You can construct a concrete instance of `BranchMapInput` via:

BranchMap{ "key": BranchArgs{...} }

type BranchMapOutput

type BranchMapOutput struct{ *pulumi.OutputState }

func (BranchMapOutput) ElementType

func (BranchMapOutput) ElementType() reflect.Type

func (BranchMapOutput) MapIndex

func (BranchMapOutput) ToBranchMapOutput

func (o BranchMapOutput) ToBranchMapOutput() BranchMapOutput

func (BranchMapOutput) ToBranchMapOutputWithContext

func (o BranchMapOutput) ToBranchMapOutputWithContext(ctx context.Context) BranchMapOutput

type BranchOutput

type BranchOutput struct{ *pulumi.OutputState }

func (BranchOutput) AppId added in v5.4.0

func (o BranchOutput) AppId() pulumi.StringOutput

Unique ID for an Amplify app.

func (BranchOutput) Arn added in v5.4.0

ARN for the branch.

func (BranchOutput) AssociatedResources added in v5.4.0

func (o BranchOutput) AssociatedResources() pulumi.StringArrayOutput

A list of custom resources that are linked to this branch.

func (BranchOutput) BackendEnvironmentArn added in v5.4.0

func (o BranchOutput) BackendEnvironmentArn() pulumi.StringPtrOutput

ARN for a backend environment that is part of an Amplify app.

func (BranchOutput) BasicAuthCredentials added in v5.4.0

func (o BranchOutput) BasicAuthCredentials() pulumi.StringPtrOutput

Basic authorization credentials for the branch.

func (BranchOutput) BranchName added in v5.4.0

func (o BranchOutput) BranchName() pulumi.StringOutput

Name for the branch.

func (BranchOutput) CustomDomains added in v5.4.0

func (o BranchOutput) CustomDomains() pulumi.StringArrayOutput

Custom domains for the branch.

func (BranchOutput) Description added in v5.4.0

func (o BranchOutput) Description() pulumi.StringPtrOutput

Description for the branch.

func (BranchOutput) DestinationBranch added in v5.4.0

func (o BranchOutput) DestinationBranch() pulumi.StringOutput

Destination branch if the branch is a pull request branch.

func (BranchOutput) DisplayName added in v5.4.0

func (o BranchOutput) DisplayName() pulumi.StringOutput

Display name for a branch. This is used as the default domain prefix.

func (BranchOutput) ElementType

func (BranchOutput) ElementType() reflect.Type

func (BranchOutput) EnableAutoBuild added in v5.4.0

func (o BranchOutput) EnableAutoBuild() pulumi.BoolPtrOutput

Enables auto building for the branch.

func (BranchOutput) EnableBasicAuth added in v5.4.0

func (o BranchOutput) EnableBasicAuth() pulumi.BoolPtrOutput

Enables basic authorization for the branch.

func (BranchOutput) EnableNotification added in v5.4.0

func (o BranchOutput) EnableNotification() pulumi.BoolPtrOutput

Enables notifications for the branch.

func (BranchOutput) EnablePerformanceMode added in v5.4.0

func (o BranchOutput) EnablePerformanceMode() pulumi.BoolPtrOutput

Enables performance mode for the branch.

func (BranchOutput) EnablePullRequestPreview added in v5.4.0

func (o BranchOutput) EnablePullRequestPreview() pulumi.BoolPtrOutput

Enables pull request previews for this branch.

func (BranchOutput) EnvironmentVariables added in v5.4.0

func (o BranchOutput) EnvironmentVariables() pulumi.StringMapOutput

Environment variables for the branch.

func (BranchOutput) Framework added in v5.4.0

func (o BranchOutput) Framework() pulumi.StringPtrOutput

Framework for the branch.

func (BranchOutput) PullRequestEnvironmentName added in v5.4.0

func (o BranchOutput) PullRequestEnvironmentName() pulumi.StringPtrOutput

Amplify environment name for the pull request.

func (BranchOutput) SourceBranch added in v5.4.0

func (o BranchOutput) SourceBranch() pulumi.StringOutput

Source branch if the branch is a pull request branch.

func (BranchOutput) Stage added in v5.4.0

Describes the current stage for the branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.

func (BranchOutput) Tags added in v5.4.0

Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (BranchOutput) TagsAll added in v5.4.0

func (o BranchOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (BranchOutput) ToBranchOutput

func (o BranchOutput) ToBranchOutput() BranchOutput

func (BranchOutput) ToBranchOutputWithContext

func (o BranchOutput) ToBranchOutputWithContext(ctx context.Context) BranchOutput

func (BranchOutput) Ttl added in v5.4.0

Content Time To Live (TTL) for the website in seconds.

type BranchState

type BranchState struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringPtrInput
	// ARN for the branch.
	Arn pulumi.StringPtrInput
	// A list of custom resources that are linked to this branch.
	AssociatedResources pulumi.StringArrayInput
	// ARN for a backend environment that is part of an Amplify app.
	BackendEnvironmentArn pulumi.StringPtrInput
	// Basic authorization credentials for the branch.
	BasicAuthCredentials pulumi.StringPtrInput
	// Name for the branch.
	BranchName pulumi.StringPtrInput
	// Custom domains for the branch.
	CustomDomains pulumi.StringArrayInput
	// Description for the branch.
	Description pulumi.StringPtrInput
	// Destination branch if the branch is a pull request branch.
	DestinationBranch pulumi.StringPtrInput
	// Display name for a branch. This is used as the default domain prefix.
	DisplayName pulumi.StringPtrInput
	// Enables auto building for the branch.
	EnableAutoBuild pulumi.BoolPtrInput
	// Enables basic authorization for the branch.
	EnableBasicAuth pulumi.BoolPtrInput
	// Enables notifications for the branch.
	EnableNotification pulumi.BoolPtrInput
	// Enables performance mode for the branch.
	EnablePerformanceMode pulumi.BoolPtrInput
	// Enables pull request previews for this branch.
	EnablePullRequestPreview pulumi.BoolPtrInput
	// Environment variables for the branch.
	EnvironmentVariables pulumi.StringMapInput
	// Framework for the branch.
	Framework pulumi.StringPtrInput
	// Amplify environment name for the pull request.
	PullRequestEnvironmentName pulumi.StringPtrInput
	// Source branch if the branch is a pull request branch.
	SourceBranch pulumi.StringPtrInput
	// Describes the current stage for the branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPMENT`, `EXPERIMENTAL`, `PULL_REQUEST`.
	Stage pulumi.StringPtrInput
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Content Time To Live (TTL) for the website in seconds.
	Ttl pulumi.StringPtrInput
}

func (BranchState) ElementType

func (BranchState) ElementType() reflect.Type

type DomainAssociation

type DomainAssociation struct {
	pulumi.CustomResourceState

	// Unique ID for an Amplify app.
	AppId pulumi.StringOutput `pulumi:"appId"`
	// ARN for the domain association.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The DNS record for certificate verification.
	CertificateVerificationDnsRecord pulumi.StringOutput `pulumi:"certificateVerificationDnsRecord"`
	// Domain name for the domain association.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// Enables the automated creation of subdomains for branches.
	EnableAutoSubDomain pulumi.BoolPtrOutput `pulumi:"enableAutoSubDomain"`
	// Setting for the subdomain. Documented below.
	SubDomains DomainAssociationSubDomainArrayOutput `pulumi:"subDomains"`
	// If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`.
	WaitForVerification pulumi.BoolPtrOutput `pulumi:"waitForVerification"`
}

Provides an Amplify Domain Association resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amplify"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleApp, err := amplify.NewApp(ctx, "exampleApp", &amplify.AppArgs{
			CustomRules: amplify.AppCustomRuleArray{
				&amplify.AppCustomRuleArgs{
					Source: pulumi.String("https://example.com"),
					Status: pulumi.String("302"),
					Target: pulumi.String("https://www.example.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		master, err := amplify.NewBranch(ctx, "master", &amplify.BranchArgs{
			AppId:      exampleApp.ID(),
			BranchName: pulumi.String("master"),
		})
		if err != nil {
			return err
		}
		_, err = amplify.NewDomainAssociation(ctx, "exampleDomainAssociation", &amplify.DomainAssociationArgs{
			AppId:      exampleApp.ID(),
			DomainName: pulumi.String("example.com"),
			SubDomains: amplify.DomainAssociationSubDomainArray{
				&amplify.DomainAssociationSubDomainArgs{
					BranchName: master.BranchName,
					Prefix:     pulumi.String(""),
				},
				&amplify.DomainAssociationSubDomainArgs{
					BranchName: master.BranchName,
					Prefix:     pulumi.String("www"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Amplify domain association can be imported using `app_id` and `domain_name`, e.g.,

```sh

$ pulumi import aws:amplify/domainAssociation:DomainAssociation app d2ypk4k47z8u6/example.com

```

func GetDomainAssociation

func GetDomainAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainAssociationState, opts ...pulumi.ResourceOption) (*DomainAssociation, error)

GetDomainAssociation gets an existing DomainAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDomainAssociation

func NewDomainAssociation(ctx *pulumi.Context,
	name string, args *DomainAssociationArgs, opts ...pulumi.ResourceOption) (*DomainAssociation, error)

NewDomainAssociation registers a new resource with the given unique name, arguments, and options.

func (*DomainAssociation) ElementType

func (*DomainAssociation) ElementType() reflect.Type

func (*DomainAssociation) ToDomainAssociationOutput

func (i *DomainAssociation) ToDomainAssociationOutput() DomainAssociationOutput

func (*DomainAssociation) ToDomainAssociationOutputWithContext

func (i *DomainAssociation) ToDomainAssociationOutputWithContext(ctx context.Context) DomainAssociationOutput

type DomainAssociationArgs

type DomainAssociationArgs struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringInput
	// Domain name for the domain association.
	DomainName pulumi.StringInput
	// Enables the automated creation of subdomains for branches.
	EnableAutoSubDomain pulumi.BoolPtrInput
	// Setting for the subdomain. Documented below.
	SubDomains DomainAssociationSubDomainArrayInput
	// If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`.
	WaitForVerification pulumi.BoolPtrInput
}

The set of arguments for constructing a DomainAssociation resource.

func (DomainAssociationArgs) ElementType

func (DomainAssociationArgs) ElementType() reflect.Type

type DomainAssociationArray

type DomainAssociationArray []DomainAssociationInput

func (DomainAssociationArray) ElementType

func (DomainAssociationArray) ElementType() reflect.Type

func (DomainAssociationArray) ToDomainAssociationArrayOutput

func (i DomainAssociationArray) ToDomainAssociationArrayOutput() DomainAssociationArrayOutput

func (DomainAssociationArray) ToDomainAssociationArrayOutputWithContext

func (i DomainAssociationArray) ToDomainAssociationArrayOutputWithContext(ctx context.Context) DomainAssociationArrayOutput

type DomainAssociationArrayInput

type DomainAssociationArrayInput interface {
	pulumi.Input

	ToDomainAssociationArrayOutput() DomainAssociationArrayOutput
	ToDomainAssociationArrayOutputWithContext(context.Context) DomainAssociationArrayOutput
}

DomainAssociationArrayInput is an input type that accepts DomainAssociationArray and DomainAssociationArrayOutput values. You can construct a concrete instance of `DomainAssociationArrayInput` via:

DomainAssociationArray{ DomainAssociationArgs{...} }

type DomainAssociationArrayOutput

type DomainAssociationArrayOutput struct{ *pulumi.OutputState }

func (DomainAssociationArrayOutput) ElementType

func (DomainAssociationArrayOutput) Index

func (DomainAssociationArrayOutput) ToDomainAssociationArrayOutput

func (o DomainAssociationArrayOutput) ToDomainAssociationArrayOutput() DomainAssociationArrayOutput

func (DomainAssociationArrayOutput) ToDomainAssociationArrayOutputWithContext

func (o DomainAssociationArrayOutput) ToDomainAssociationArrayOutputWithContext(ctx context.Context) DomainAssociationArrayOutput

type DomainAssociationInput

type DomainAssociationInput interface {
	pulumi.Input

	ToDomainAssociationOutput() DomainAssociationOutput
	ToDomainAssociationOutputWithContext(ctx context.Context) DomainAssociationOutput
}

type DomainAssociationMap

type DomainAssociationMap map[string]DomainAssociationInput

func (DomainAssociationMap) ElementType

func (DomainAssociationMap) ElementType() reflect.Type

func (DomainAssociationMap) ToDomainAssociationMapOutput

func (i DomainAssociationMap) ToDomainAssociationMapOutput() DomainAssociationMapOutput

func (DomainAssociationMap) ToDomainAssociationMapOutputWithContext

func (i DomainAssociationMap) ToDomainAssociationMapOutputWithContext(ctx context.Context) DomainAssociationMapOutput

type DomainAssociationMapInput

type DomainAssociationMapInput interface {
	pulumi.Input

	ToDomainAssociationMapOutput() DomainAssociationMapOutput
	ToDomainAssociationMapOutputWithContext(context.Context) DomainAssociationMapOutput
}

DomainAssociationMapInput is an input type that accepts DomainAssociationMap and DomainAssociationMapOutput values. You can construct a concrete instance of `DomainAssociationMapInput` via:

DomainAssociationMap{ "key": DomainAssociationArgs{...} }

type DomainAssociationMapOutput

type DomainAssociationMapOutput struct{ *pulumi.OutputState }

func (DomainAssociationMapOutput) ElementType

func (DomainAssociationMapOutput) ElementType() reflect.Type

func (DomainAssociationMapOutput) MapIndex

func (DomainAssociationMapOutput) ToDomainAssociationMapOutput

func (o DomainAssociationMapOutput) ToDomainAssociationMapOutput() DomainAssociationMapOutput

func (DomainAssociationMapOutput) ToDomainAssociationMapOutputWithContext

func (o DomainAssociationMapOutput) ToDomainAssociationMapOutputWithContext(ctx context.Context) DomainAssociationMapOutput

type DomainAssociationOutput

type DomainAssociationOutput struct{ *pulumi.OutputState }

func (DomainAssociationOutput) AppId added in v5.4.0

Unique ID for an Amplify app.

func (DomainAssociationOutput) Arn added in v5.4.0

ARN for the domain association.

func (DomainAssociationOutput) CertificateVerificationDnsRecord added in v5.4.0

func (o DomainAssociationOutput) CertificateVerificationDnsRecord() pulumi.StringOutput

The DNS record for certificate verification.

func (DomainAssociationOutput) DomainName added in v5.4.0

Domain name for the domain association.

func (DomainAssociationOutput) ElementType

func (DomainAssociationOutput) ElementType() reflect.Type

func (DomainAssociationOutput) EnableAutoSubDomain added in v5.32.0

func (o DomainAssociationOutput) EnableAutoSubDomain() pulumi.BoolPtrOutput

Enables the automated creation of subdomains for branches.

func (DomainAssociationOutput) SubDomains added in v5.4.0

Setting for the subdomain. Documented below.

func (DomainAssociationOutput) ToDomainAssociationOutput

func (o DomainAssociationOutput) ToDomainAssociationOutput() DomainAssociationOutput

func (DomainAssociationOutput) ToDomainAssociationOutputWithContext

func (o DomainAssociationOutput) ToDomainAssociationOutputWithContext(ctx context.Context) DomainAssociationOutput

func (DomainAssociationOutput) WaitForVerification added in v5.4.0

func (o DomainAssociationOutput) WaitForVerification() pulumi.BoolPtrOutput

If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`.

type DomainAssociationState

type DomainAssociationState struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringPtrInput
	// ARN for the domain association.
	Arn pulumi.StringPtrInput
	// The DNS record for certificate verification.
	CertificateVerificationDnsRecord pulumi.StringPtrInput
	// Domain name for the domain association.
	DomainName pulumi.StringPtrInput
	// Enables the automated creation of subdomains for branches.
	EnableAutoSubDomain pulumi.BoolPtrInput
	// Setting for the subdomain. Documented below.
	SubDomains DomainAssociationSubDomainArrayInput
	// If enabled, the resource will wait for the domain association status to change to `PENDING_DEPLOYMENT` or `AVAILABLE`. Setting this to `false` will skip the process. Default: `true`.
	WaitForVerification pulumi.BoolPtrInput
}

func (DomainAssociationState) ElementType

func (DomainAssociationState) ElementType() reflect.Type

type DomainAssociationSubDomain

type DomainAssociationSubDomain struct {
	// Branch name setting for the subdomain.
	BranchName string `pulumi:"branchName"`
	// DNS record for the subdomain.
	DnsRecord *string `pulumi:"dnsRecord"`
	// Prefix setting for the subdomain.
	Prefix string `pulumi:"prefix"`
	// Verified status of the subdomain.
	Verified *bool `pulumi:"verified"`
}

type DomainAssociationSubDomainArgs

type DomainAssociationSubDomainArgs struct {
	// Branch name setting for the subdomain.
	BranchName pulumi.StringInput `pulumi:"branchName"`
	// DNS record for the subdomain.
	DnsRecord pulumi.StringPtrInput `pulumi:"dnsRecord"`
	// Prefix setting for the subdomain.
	Prefix pulumi.StringInput `pulumi:"prefix"`
	// Verified status of the subdomain.
	Verified pulumi.BoolPtrInput `pulumi:"verified"`
}

func (DomainAssociationSubDomainArgs) ElementType

func (DomainAssociationSubDomainArgs) ToDomainAssociationSubDomainOutput

func (i DomainAssociationSubDomainArgs) ToDomainAssociationSubDomainOutput() DomainAssociationSubDomainOutput

func (DomainAssociationSubDomainArgs) ToDomainAssociationSubDomainOutputWithContext

func (i DomainAssociationSubDomainArgs) ToDomainAssociationSubDomainOutputWithContext(ctx context.Context) DomainAssociationSubDomainOutput

type DomainAssociationSubDomainArray

type DomainAssociationSubDomainArray []DomainAssociationSubDomainInput

func (DomainAssociationSubDomainArray) ElementType

func (DomainAssociationSubDomainArray) ToDomainAssociationSubDomainArrayOutput

func (i DomainAssociationSubDomainArray) ToDomainAssociationSubDomainArrayOutput() DomainAssociationSubDomainArrayOutput

func (DomainAssociationSubDomainArray) ToDomainAssociationSubDomainArrayOutputWithContext

func (i DomainAssociationSubDomainArray) ToDomainAssociationSubDomainArrayOutputWithContext(ctx context.Context) DomainAssociationSubDomainArrayOutput

type DomainAssociationSubDomainArrayInput

type DomainAssociationSubDomainArrayInput interface {
	pulumi.Input

	ToDomainAssociationSubDomainArrayOutput() DomainAssociationSubDomainArrayOutput
	ToDomainAssociationSubDomainArrayOutputWithContext(context.Context) DomainAssociationSubDomainArrayOutput
}

DomainAssociationSubDomainArrayInput is an input type that accepts DomainAssociationSubDomainArray and DomainAssociationSubDomainArrayOutput values. You can construct a concrete instance of `DomainAssociationSubDomainArrayInput` via:

DomainAssociationSubDomainArray{ DomainAssociationSubDomainArgs{...} }

type DomainAssociationSubDomainArrayOutput

type DomainAssociationSubDomainArrayOutput struct{ *pulumi.OutputState }

func (DomainAssociationSubDomainArrayOutput) ElementType

func (DomainAssociationSubDomainArrayOutput) Index

func (DomainAssociationSubDomainArrayOutput) ToDomainAssociationSubDomainArrayOutput

func (o DomainAssociationSubDomainArrayOutput) ToDomainAssociationSubDomainArrayOutput() DomainAssociationSubDomainArrayOutput

func (DomainAssociationSubDomainArrayOutput) ToDomainAssociationSubDomainArrayOutputWithContext

func (o DomainAssociationSubDomainArrayOutput) ToDomainAssociationSubDomainArrayOutputWithContext(ctx context.Context) DomainAssociationSubDomainArrayOutput

type DomainAssociationSubDomainInput

type DomainAssociationSubDomainInput interface {
	pulumi.Input

	ToDomainAssociationSubDomainOutput() DomainAssociationSubDomainOutput
	ToDomainAssociationSubDomainOutputWithContext(context.Context) DomainAssociationSubDomainOutput
}

DomainAssociationSubDomainInput is an input type that accepts DomainAssociationSubDomainArgs and DomainAssociationSubDomainOutput values. You can construct a concrete instance of `DomainAssociationSubDomainInput` via:

DomainAssociationSubDomainArgs{...}

type DomainAssociationSubDomainOutput

type DomainAssociationSubDomainOutput struct{ *pulumi.OutputState }

func (DomainAssociationSubDomainOutput) BranchName

Branch name setting for the subdomain.

func (DomainAssociationSubDomainOutput) DnsRecord

DNS record for the subdomain.

func (DomainAssociationSubDomainOutput) ElementType

func (DomainAssociationSubDomainOutput) Prefix

Prefix setting for the subdomain.

func (DomainAssociationSubDomainOutput) ToDomainAssociationSubDomainOutput

func (o DomainAssociationSubDomainOutput) ToDomainAssociationSubDomainOutput() DomainAssociationSubDomainOutput

func (DomainAssociationSubDomainOutput) ToDomainAssociationSubDomainOutputWithContext

func (o DomainAssociationSubDomainOutput) ToDomainAssociationSubDomainOutputWithContext(ctx context.Context) DomainAssociationSubDomainOutput

func (DomainAssociationSubDomainOutput) Verified

Verified status of the subdomain.

type Webhook

type Webhook struct {
	pulumi.CustomResourceState

	// Unique ID for an Amplify app.
	AppId pulumi.StringOutput `pulumi:"appId"`
	// ARN for the webhook.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name for a branch that is part of the Amplify app.
	BranchName pulumi.StringOutput `pulumi:"branchName"`
	// Description for a webhook.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// URL of the webhook.
	Url pulumi.StringOutput `pulumi:"url"`
}

Provides an Amplify Webhook resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amplify"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := amplify.NewApp(ctx, "example", nil)
		if err != nil {
			return err
		}
		masterBranch, err := amplify.NewBranch(ctx, "masterBranch", &amplify.BranchArgs{
			AppId:      example.ID(),
			BranchName: pulumi.String("master"),
		})
		if err != nil {
			return err
		}
		_, err = amplify.NewWebhook(ctx, "masterWebhook", &amplify.WebhookArgs{
			AppId:       example.ID(),
			BranchName:  masterBranch.BranchName,
			Description: pulumi.String("triggermaster"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Amplify webhook can be imported using a webhook ID, e.g.,

```sh

$ pulumi import aws:amplify/webhook:Webhook master a26b22a0-748b-4b57-b9a0-ae7e601fe4b1

```

func GetWebhook

func GetWebhook(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WebhookState, opts ...pulumi.ResourceOption) (*Webhook, error)

GetWebhook gets an existing Webhook resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWebhook

func NewWebhook(ctx *pulumi.Context,
	name string, args *WebhookArgs, opts ...pulumi.ResourceOption) (*Webhook, error)

NewWebhook registers a new resource with the given unique name, arguments, and options.

func (*Webhook) ElementType

func (*Webhook) ElementType() reflect.Type

func (*Webhook) ToWebhookOutput

func (i *Webhook) ToWebhookOutput() WebhookOutput

func (*Webhook) ToWebhookOutputWithContext

func (i *Webhook) ToWebhookOutputWithContext(ctx context.Context) WebhookOutput

type WebhookArgs

type WebhookArgs struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringInput
	// Name for a branch that is part of the Amplify app.
	BranchName pulumi.StringInput
	// Description for a webhook.
	Description pulumi.StringPtrInput
}

The set of arguments for constructing a Webhook resource.

func (WebhookArgs) ElementType

func (WebhookArgs) ElementType() reflect.Type

type WebhookArray

type WebhookArray []WebhookInput

func (WebhookArray) ElementType

func (WebhookArray) ElementType() reflect.Type

func (WebhookArray) ToWebhookArrayOutput

func (i WebhookArray) ToWebhookArrayOutput() WebhookArrayOutput

func (WebhookArray) ToWebhookArrayOutputWithContext

func (i WebhookArray) ToWebhookArrayOutputWithContext(ctx context.Context) WebhookArrayOutput

type WebhookArrayInput

type WebhookArrayInput interface {
	pulumi.Input

	ToWebhookArrayOutput() WebhookArrayOutput
	ToWebhookArrayOutputWithContext(context.Context) WebhookArrayOutput
}

WebhookArrayInput is an input type that accepts WebhookArray and WebhookArrayOutput values. You can construct a concrete instance of `WebhookArrayInput` via:

WebhookArray{ WebhookArgs{...} }

type WebhookArrayOutput

type WebhookArrayOutput struct{ *pulumi.OutputState }

func (WebhookArrayOutput) ElementType

func (WebhookArrayOutput) ElementType() reflect.Type

func (WebhookArrayOutput) Index

func (WebhookArrayOutput) ToWebhookArrayOutput

func (o WebhookArrayOutput) ToWebhookArrayOutput() WebhookArrayOutput

func (WebhookArrayOutput) ToWebhookArrayOutputWithContext

func (o WebhookArrayOutput) ToWebhookArrayOutputWithContext(ctx context.Context) WebhookArrayOutput

type WebhookInput

type WebhookInput interface {
	pulumi.Input

	ToWebhookOutput() WebhookOutput
	ToWebhookOutputWithContext(ctx context.Context) WebhookOutput
}

type WebhookMap

type WebhookMap map[string]WebhookInput

func (WebhookMap) ElementType

func (WebhookMap) ElementType() reflect.Type

func (WebhookMap) ToWebhookMapOutput

func (i WebhookMap) ToWebhookMapOutput() WebhookMapOutput

func (WebhookMap) ToWebhookMapOutputWithContext

func (i WebhookMap) ToWebhookMapOutputWithContext(ctx context.Context) WebhookMapOutput

type WebhookMapInput

type WebhookMapInput interface {
	pulumi.Input

	ToWebhookMapOutput() WebhookMapOutput
	ToWebhookMapOutputWithContext(context.Context) WebhookMapOutput
}

WebhookMapInput is an input type that accepts WebhookMap and WebhookMapOutput values. You can construct a concrete instance of `WebhookMapInput` via:

WebhookMap{ "key": WebhookArgs{...} }

type WebhookMapOutput

type WebhookMapOutput struct{ *pulumi.OutputState }

func (WebhookMapOutput) ElementType

func (WebhookMapOutput) ElementType() reflect.Type

func (WebhookMapOutput) MapIndex

func (WebhookMapOutput) ToWebhookMapOutput

func (o WebhookMapOutput) ToWebhookMapOutput() WebhookMapOutput

func (WebhookMapOutput) ToWebhookMapOutputWithContext

func (o WebhookMapOutput) ToWebhookMapOutputWithContext(ctx context.Context) WebhookMapOutput

type WebhookOutput

type WebhookOutput struct{ *pulumi.OutputState }

func (WebhookOutput) AppId added in v5.4.0

func (o WebhookOutput) AppId() pulumi.StringOutput

Unique ID for an Amplify app.

func (WebhookOutput) Arn added in v5.4.0

ARN for the webhook.

func (WebhookOutput) BranchName added in v5.4.0

func (o WebhookOutput) BranchName() pulumi.StringOutput

Name for a branch that is part of the Amplify app.

func (WebhookOutput) Description added in v5.4.0

func (o WebhookOutput) Description() pulumi.StringPtrOutput

Description for a webhook.

func (WebhookOutput) ElementType

func (WebhookOutput) ElementType() reflect.Type

func (WebhookOutput) ToWebhookOutput

func (o WebhookOutput) ToWebhookOutput() WebhookOutput

func (WebhookOutput) ToWebhookOutputWithContext

func (o WebhookOutput) ToWebhookOutputWithContext(ctx context.Context) WebhookOutput

func (WebhookOutput) Url added in v5.4.0

URL of the webhook.

type WebhookState

type WebhookState struct {
	// Unique ID for an Amplify app.
	AppId pulumi.StringPtrInput
	// ARN for the webhook.
	Arn pulumi.StringPtrInput
	// Name for a branch that is part of the Amplify app.
	BranchName pulumi.StringPtrInput
	// Description for a webhook.
	Description pulumi.StringPtrInput
	// URL of the webhook.
	Url pulumi.StringPtrInput
}

func (WebhookState) ElementType

func (WebhookState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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