awsapprunner

package
v1.168.0-devpreview Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

README

AWS::AppRunner Construct Library

This module is part of the AWS Cloud Development Kit project.

import apprunner "github.com/aws/aws-cdk-go/awscdk"

Introduction

AWS App Runner is a fully managed service that makes it easy for developers to quickly deploy containerized web applications and APIs, at scale and with no prior infrastructure experience required. Start with your source code or a container image. App Runner automatically builds and deploys the web application and load balances traffic with encryption. App Runner also scales up or down automatically to meet your traffic needs. With App Runner, rather than thinking about servers or scaling, you have more time to focus on your applications.

Service

The Service construct allows you to create AWS App Runner services with ECR Public, ECR or Github with the source property in the following scenarios:

  • Source.fromEcr() - To define the source repository from ECR.
  • Source.fromEcrPublic() - To define the source repository from ECR Public.
  • Source.fromGitHub() - To define the source repository from the Github repository.
  • Source.fromAsset() - To define the source from local asset directory.

ECR Public

To create a Service with ECR Public:

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromEcrPublic(&ecrPublicProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		imageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
	}),
})

ECR

To create a Service from an existing ECR repository:

import ecr "github.com/aws/aws-cdk-go/awscdk"


apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromEcr(&ecrProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(80),
		},
		repository: ecr.repository.fromRepositoryName(this, jsii.String("NginxRepository"), jsii.String("nginx")),
		tagOrDigest: jsii.String("latest"),
	}),
})

To create a Service from local docker image asset directory built and pushed to Amazon ECR:

import assets "github.com/aws/aws-cdk-go/awscdk"


imageAsset := assets.NewDockerImageAsset(this, jsii.String("ImageAssets"), &dockerImageAssetProps{
	directory: path.join(__dirname, jsii.String("./docker.assets")),
})
apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromAsset(&assetProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		asset: imageAsset,
	}),
})

GitHub

To create a Service from the GitHub repository, you need to specify an existing App Runner Connection.

See Managing App Runner connections for more details.

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromGitHub(&githubRepositoryProps{
		repositoryUrl: jsii.String("https://github.com/aws-containers/hello-app-runner"),
		branch: jsii.String("main"),
		configurationSource: apprunner.configurationSourceType_REPOSITORY,
		connection: apprunner.gitHubConnection.fromConnectionArn(jsii.String("CONNECTION_ARN")),
	}),
})

Use codeConfigurationValues to override configuration values with the API configuration source type.

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromGitHub(&githubRepositoryProps{
		repositoryUrl: jsii.String("https://github.com/aws-containers/hello-app-runner"),
		branch: jsii.String("main"),
		configurationSource: apprunner.configurationSourceType_API,
		codeConfigurationValues: &codeConfigurationValues{
			runtime: apprunner.runtime_PYTHON_3(),
			port: jsii.String("8000"),
			startCommand: jsii.String("python app.py"),
			buildCommand: jsii.String("yum install -y pycairo && pip install -r requirements.txt"),
		},
		connection: apprunner.gitHubConnection.fromConnectionArn(jsii.String("CONNECTION_ARN")),
	}),
})

IAM Roles

You are allowed to define instanceRole and accessRole for the Service.

instanceRole - The IAM role that provides permissions to your App Runner service. These are permissions that your code needs when it calls any AWS APIs.

accessRole - The IAM role that grants the App Runner service access to a source repository. It's required for ECR image repositories (but not for ECR Public repositories). If not defined, a new access role will be generated when required.

See App Runner IAM Roles for more details.

VPC Connector

To associate an App Runner service with a custom VPC, define vpcConnector for the service.

import ec2 "github.com/aws/aws-cdk-go/awscdk"


vpc := ec2.NewVpc(this, jsii.String("Vpc"), &vpcProps{
	cidr: jsii.String("10.0.0.0/16"),
})

vpcConnector := apprunner.NewVpcConnector(this, jsii.String("VpcConnector"), &vpcConnectorProps{
	vpc: vpc,
	vpcSubnets: vpc.selectSubnets(&subnetSelection{
		subnetType: ec2.subnetType_PUBLIC,
	}),
	vpcConnectorName: jsii.String("MyVpcConnector"),
})

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromEcrPublic(&ecrPublicProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		imageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
	}),
	vpcConnector: vpcConnector,
})

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnObservabilityConfiguration_CFN_RESOURCE_TYPE_NAME

func CfnObservabilityConfiguration_CFN_RESOURCE_TYPE_NAME() *string

func CfnObservabilityConfiguration_IsCfnElement

func CfnObservabilityConfiguration_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnObservabilityConfiguration_IsCfnResource

func CfnObservabilityConfiguration_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnObservabilityConfiguration_IsConstruct

func CfnObservabilityConfiguration_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnService_CFN_RESOURCE_TYPE_NAME

func CfnService_CFN_RESOURCE_TYPE_NAME() *string

func CfnService_IsCfnElement

func CfnService_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnService_IsCfnResource

func CfnService_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnService_IsConstruct

func CfnService_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnVpcConnector_CFN_RESOURCE_TYPE_NAME

func CfnVpcConnector_CFN_RESOURCE_TYPE_NAME() *string

func CfnVpcConnector_IsCfnElement

func CfnVpcConnector_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnVpcConnector_IsCfnResource

func CfnVpcConnector_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnVpcConnector_IsConstruct

func CfnVpcConnector_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func NewAssetSource_Override

func NewAssetSource_Override(a AssetSource, props *AssetProps)

Experimental.

func NewCfnObservabilityConfiguration_Override

func NewCfnObservabilityConfiguration_Override(c CfnObservabilityConfiguration, scope awscdk.Construct, id *string, props *CfnObservabilityConfigurationProps)

Create a new `AWS::AppRunner::ObservabilityConfiguration`.

func NewCfnService_Override

func NewCfnService_Override(c CfnService, scope awscdk.Construct, id *string, props *CfnServiceProps)

Create a new `AWS::AppRunner::Service`.

func NewCfnVpcConnector_Override

func NewCfnVpcConnector_Override(c CfnVpcConnector, scope awscdk.Construct, id *string, props *CfnVpcConnectorProps)

Create a new `AWS::AppRunner::VpcConnector`.

func NewEcrPublicSource_Override

func NewEcrPublicSource_Override(e EcrPublicSource, props *EcrPublicProps)

Experimental.

func NewEcrSource_Override

func NewEcrSource_Override(e EcrSource, props *EcrProps)

Experimental.

func NewGitHubConnection_Override

func NewGitHubConnection_Override(g GitHubConnection, arn *string)

Experimental.

func NewGithubSource_Override

func NewGithubSource_Override(g GithubSource, props *GithubRepositoryProps)

Experimental.

func NewService_Override

func NewService_Override(s Service, scope constructs.Construct, id *string, props *ServiceProps)

Experimental.

func NewSource_Override

func NewSource_Override(s Source)

Experimental.

func NewVpcConnector_Override

func NewVpcConnector_Override(v VpcConnector, scope constructs.Construct, id *string, props *VpcConnectorProps)

Experimental.

func Service_IsConstruct

func Service_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func Service_IsResource

func Service_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func VpcConnector_IsConstruct

func VpcConnector_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func VpcConnector_IsResource

func VpcConnector_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

Types

type AssetProps

type AssetProps struct {
	// Represents the docker image asset.
	// Experimental.
	Asset awsecrassets.DockerImageAsset `field:"required" json:"asset" yaml:"asset"`
	// The image configuration for the image built from the asset.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html#cfn-apprunner-service-imageconfiguration-port
	//
	// Experimental.
	ImageConfiguration *ImageConfiguration `field:"optional" json:"imageConfiguration" yaml:"imageConfiguration"`
}

Properties of the image repository for `Source.fromAsset()`.

Example:

import assets "github.com/aws/aws-cdk-go/awscdk"

imageAsset := assets.NewDockerImageAsset(this, jsii.String("ImageAssets"), &dockerImageAssetProps{
	directory: path.join(__dirname, jsii.String("./docker.assets")),
})
apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromAsset(&assetProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		asset: imageAsset,
	}),
})

Experimental.

type AssetSource

type AssetSource interface {
	Source
	// Called when the Job is initialized to allow this object to bind.
	// Experimental.
	Bind(_scope constructs.Construct) *SourceConfig
}

Represents the source from local assets.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var dockerImageAsset dockerImageAsset

assetSource := awscdk.Aws_apprunner.NewAssetSource(&assetProps{
	asset: dockerImageAsset,

	// the properties below are optional
	imageConfiguration: &imageConfiguration{
		environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		port: jsii.Number(123),
		startCommand: jsii.String("startCommand"),
	},
})

Experimental.

func AssetSource_FromAsset

func AssetSource_FromAsset(props *AssetProps) AssetSource

Source from local assets. Experimental.

func EcrPublicSource_FromAsset

func EcrPublicSource_FromAsset(props *AssetProps) AssetSource

Source from local assets. Experimental.

func EcrSource_FromAsset

func EcrSource_FromAsset(props *AssetProps) AssetSource

Source from local assets. Experimental.

func GithubSource_FromAsset

func GithubSource_FromAsset(props *AssetProps) AssetSource

Source from local assets. Experimental.

func NewAssetSource

func NewAssetSource(props *AssetProps) AssetSource

Experimental.

func Source_FromAsset

func Source_FromAsset(props *AssetProps) AssetSource

Source from local assets. Experimental.

type CfnObservabilityConfiguration

type CfnObservabilityConfiguration interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// It's set to `true` for the configuration with the highest `Revision` among all configurations that share the same `ObservabilityConfigurationName` .
	//
	// It's set to `false` otherwise.
	AttrLatest() awscdk.IResolvable
	// The Amazon Resource Name (ARN) of this observability configuration.
	AttrObservabilityConfigurationArn() *string
	// The revision of this observability configuration.
	//
	// It's unique among all the active configurations ( `"Status": "ACTIVE"` ) that share the same `ObservabilityConfigurationName` .
	AttrObservabilityConfigurationRevision() *float64
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// A name for the observability configuration.
	//
	// When you use it for the first time in an AWS Region , App Runner creates revision number `1` of this name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.
	//
	// > The name `DefaultConfiguration` is reserved. You can't use it to create a new observability configuration, and you can't create a revision of it.
	// >
	// > When you want to use your own observability configuration for your App Runner service, *create a configuration with a different name* , and then provide it when you create or update your service.
	//
	// If you don't specify a name, AWS CloudFormation generates a name for your observability configuration.
	ObservabilityConfigurationName() *string
	SetObservabilityConfigurationName(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// A list of metadata items that you can associate with your observability configuration resource.
	//
	// A tag is a key-value pair.
	Tags() awscdk.TagManager
	// The configuration of the tracing feature within this observability configuration.
	//
	// If you don't specify it, App Runner doesn't enable tracing.
	TraceConfiguration() interface{}
	SetTraceConfiguration(val interface{})
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppRunner::ObservabilityConfiguration`.

Specify an AWS App Runner observability configuration by using the `AWS::AppRunner::ObservabilityConfiguration` resource in an AWS CloudFormation template.

The `AWS::AppRunner::ObservabilityConfiguration` resource is an AWS App Runner resource type that specifies an App Runner observability configuration.

App Runner requires this resource when you specify App Runner services and you want to enable non-default observability features. You can share an observability configuration across multiple services.

Create multiple revisions of a configuration by specifying this resource multiple times using the same `ObservabilityConfigurationName` . App Runner creates multiple resources with incremental `ObservabilityConfigurationRevision` values. When you specify a service and configure an observability configuration resource, the service uses the latest active revision of the observability configuration by default. You can optionally configure the service to use a specific revision.

The observability configuration resource is designed to configure multiple features (currently one feature, tracing). This resource takes optional parameters that describe the configuration of these features (currently one parameter, `TraceConfiguration` ). If you don't specify a feature parameter, App Runner doesn't enable the feature.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnObservabilityConfiguration := awscdk.Aws_apprunner.NewCfnObservabilityConfiguration(this, jsii.String("MyCfnObservabilityConfiguration"), &cfnObservabilityConfigurationProps{
	observabilityConfigurationName: jsii.String("observabilityConfigurationName"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	traceConfiguration: &traceConfigurationProperty{
		vendor: jsii.String("vendor"),
	},
})

func NewCfnObservabilityConfiguration

func NewCfnObservabilityConfiguration(scope awscdk.Construct, id *string, props *CfnObservabilityConfigurationProps) CfnObservabilityConfiguration

Create a new `AWS::AppRunner::ObservabilityConfiguration`.

type CfnObservabilityConfigurationProps

type CfnObservabilityConfigurationProps struct {
	// A name for the observability configuration.
	//
	// When you use it for the first time in an AWS Region , App Runner creates revision number `1` of this name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.
	//
	// > The name `DefaultConfiguration` is reserved. You can't use it to create a new observability configuration, and you can't create a revision of it.
	// >
	// > When you want to use your own observability configuration for your App Runner service, *create a configuration with a different name* , and then provide it when you create or update your service.
	//
	// If you don't specify a name, AWS CloudFormation generates a name for your observability configuration.
	ObservabilityConfigurationName *string `field:"optional" json:"observabilityConfigurationName" yaml:"observabilityConfigurationName"`
	// A list of metadata items that you can associate with your observability configuration resource.
	//
	// A tag is a key-value pair.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The configuration of the tracing feature within this observability configuration.
	//
	// If you don't specify it, App Runner doesn't enable tracing.
	TraceConfiguration interface{} `field:"optional" json:"traceConfiguration" yaml:"traceConfiguration"`
}

Properties for defining a `CfnObservabilityConfiguration`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnObservabilityConfigurationProps := &cfnObservabilityConfigurationProps{
	observabilityConfigurationName: jsii.String("observabilityConfigurationName"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	traceConfiguration: &traceConfigurationProperty{
		vendor: jsii.String("vendor"),
	},
}

type CfnObservabilityConfiguration_TraceConfigurationProperty

type CfnObservabilityConfiguration_TraceConfigurationProperty struct {
	// The implementation provider chosen for tracing App Runner services.
	Vendor *string `field:"required" json:"vendor" yaml:"vendor"`
}

Describes the configuration of the tracing feature within an AWS App Runner observability configuration.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

traceConfigurationProperty := &traceConfigurationProperty{
	vendor: jsii.String("vendor"),
}

type CfnService

type CfnService interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of this service.
	AttrServiceArn() *string
	// An ID that App Runner generated for this service.
	//
	// It's unique within the AWS Region .
	AttrServiceId() *string
	// A subdomain URL that App Runner generated for this service.
	//
	// You can use this URL to access your service web application.
	AttrServiceUrl() *string
	// The current state of the App Runner service. These particular values mean the following.
	//
	// - `CREATE_FAILED` – The service failed to create. To troubleshoot this failure, read the failure events and logs, change any parameters that need to be fixed, and retry the call to create the service.
	//
	// The failed service isn't usable, and still counts towards your service quota. When you're done analyzing the failure, delete the service.
	// - `DELETE_FAILED` – The service failed to delete and can't be successfully recovered. Retry the service deletion call to ensure that all related resources are removed.
	AttrStatus() *string
	// The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with your service.
	//
	// If not provided, App Runner associates the latest revision of a default auto scaling configuration.
	//
	// Specify an ARN with a name and a revision number to associate that revision. For example: `arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3`
	//
	// Specify just the name to associate the latest revision. For example: `arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability`
	AutoScalingConfigurationArn() *string
	SetAutoScalingConfigurationArn(val *string)
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs.
	//
	// By default, App Runner uses an AWS managed key .
	EncryptionConfiguration() interface{}
	SetEncryptionConfiguration(val interface{})
	// The settings for the health check that AWS App Runner performs to monitor the health of the App Runner service.
	HealthCheckConfiguration() interface{}
	SetHealthCheckConfiguration(val interface{})
	// The runtime configuration of instances (scaling units) of your service.
	InstanceConfiguration() interface{}
	SetInstanceConfiguration(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// Configuration settings related to network traffic of the web application that the App Runner service runs.
	NetworkConfiguration() interface{}
	SetNetworkConfiguration(val interface{})
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// The observability configuration of your service.
	ObservabilityConfiguration() interface{}
	SetObservabilityConfiguration(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// A name for the App Runner service.
	//
	// It must be unique across all the running App Runner services in your AWS account in the AWS Region .
	//
	// If you don't specify a name, AWS CloudFormation generates a name for your service.
	ServiceName() *string
	SetServiceName(val *string)
	// The source to deploy to the App Runner service.
	//
	// It can be a code or an image repository.
	SourceConfiguration() interface{}
	SetSourceConfiguration(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// An optional list of metadata items that you can associate with the App Runner service resource.
	//
	// A tag is a key-value pair.
	Tags() awscdk.TagManager
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppRunner::Service`.

Specify an AWS App Runner service by using the `AWS::AppRunner::Service` resource in an AWS CloudFormation template.

The `AWS::AppRunner::Service` resource is an AWS App Runner resource type that specifies an App Runner service.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnService := awscdk.Aws_apprunner.NewCfnService(this, jsii.String("MyCfnService"), &cfnServiceProps{
	sourceConfiguration: &sourceConfigurationProperty{
		authenticationConfiguration: &authenticationConfigurationProperty{
			accessRoleArn: jsii.String("accessRoleArn"),
			connectionArn: jsii.String("connectionArn"),
		},
		autoDeploymentsEnabled: jsii.Boolean(false),
		codeRepository: &codeRepositoryProperty{
			repositoryUrl: jsii.String("repositoryUrl"),
			sourceCodeVersion: &sourceCodeVersionProperty{
				type: jsii.String("type"),
				value: jsii.String("value"),
			},

			// the properties below are optional
			codeConfiguration: &codeConfigurationProperty{
				configurationSource: jsii.String("configurationSource"),

				// the properties below are optional
				codeConfigurationValues: &codeConfigurationValuesProperty{
					runtime: jsii.String("runtime"),

					// the properties below are optional
					buildCommand: jsii.String("buildCommand"),
					port: jsii.String("port"),
					runtimeEnvironmentVariables: []interface{}{
						&keyValuePairProperty{
							name: jsii.String("name"),
							value: jsii.String("value"),
						},
					},
					startCommand: jsii.String("startCommand"),
				},
			},
		},
		imageRepository: &imageRepositoryProperty{
			imageIdentifier: jsii.String("imageIdentifier"),
			imageRepositoryType: jsii.String("imageRepositoryType"),

			// the properties below are optional
			imageConfiguration: &imageConfigurationProperty{
				port: jsii.String("port"),
				runtimeEnvironmentVariables: []interface{}{
					&keyValuePairProperty{
						name: jsii.String("name"),
						value: jsii.String("value"),
					},
				},
				startCommand: jsii.String("startCommand"),
			},
		},
	},

	// the properties below are optional
	autoScalingConfigurationArn: jsii.String("autoScalingConfigurationArn"),
	encryptionConfiguration: &encryptionConfigurationProperty{
		kmsKey: jsii.String("kmsKey"),
	},
	healthCheckConfiguration: &healthCheckConfigurationProperty{
		healthyThreshold: jsii.Number(123),
		interval: jsii.Number(123),
		path: jsii.String("path"),
		protocol: jsii.String("protocol"),
		timeout: jsii.Number(123),
		unhealthyThreshold: jsii.Number(123),
	},
	instanceConfiguration: &instanceConfigurationProperty{
		cpu: jsii.String("cpu"),
		instanceRoleArn: jsii.String("instanceRoleArn"),
		memory: jsii.String("memory"),
	},
	networkConfiguration: &networkConfigurationProperty{
		egressConfiguration: &egressConfigurationProperty{
			egressType: jsii.String("egressType"),

			// the properties below are optional
			vpcConnectorArn: jsii.String("vpcConnectorArn"),
		},
	},
	observabilityConfiguration: &serviceObservabilityConfigurationProperty{
		observabilityEnabled: jsii.Boolean(false),

		// the properties below are optional
		observabilityConfigurationArn: jsii.String("observabilityConfigurationArn"),
	},
	serviceName: jsii.String("serviceName"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
})

func NewCfnService

func NewCfnService(scope awscdk.Construct, id *string, props *CfnServiceProps) CfnService

Create a new `AWS::AppRunner::Service`.

type CfnServiceProps

type CfnServiceProps struct {
	// The source to deploy to the App Runner service.
	//
	// It can be a code or an image repository.
	SourceConfiguration interface{} `field:"required" json:"sourceConfiguration" yaml:"sourceConfiguration"`
	// The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with your service.
	//
	// If not provided, App Runner associates the latest revision of a default auto scaling configuration.
	//
	// Specify an ARN with a name and a revision number to associate that revision. For example: `arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3`
	//
	// Specify just the name to associate the latest revision. For example: `arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability`
	AutoScalingConfigurationArn *string `field:"optional" json:"autoScalingConfigurationArn" yaml:"autoScalingConfigurationArn"`
	// An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs.
	//
	// By default, App Runner uses an AWS managed key .
	EncryptionConfiguration interface{} `field:"optional" json:"encryptionConfiguration" yaml:"encryptionConfiguration"`
	// The settings for the health check that AWS App Runner performs to monitor the health of the App Runner service.
	HealthCheckConfiguration interface{} `field:"optional" json:"healthCheckConfiguration" yaml:"healthCheckConfiguration"`
	// The runtime configuration of instances (scaling units) of your service.
	InstanceConfiguration interface{} `field:"optional" json:"instanceConfiguration" yaml:"instanceConfiguration"`
	// Configuration settings related to network traffic of the web application that the App Runner service runs.
	NetworkConfiguration interface{} `field:"optional" json:"networkConfiguration" yaml:"networkConfiguration"`
	// The observability configuration of your service.
	ObservabilityConfiguration interface{} `field:"optional" json:"observabilityConfiguration" yaml:"observabilityConfiguration"`
	// A name for the App Runner service.
	//
	// It must be unique across all the running App Runner services in your AWS account in the AWS Region .
	//
	// If you don't specify a name, AWS CloudFormation generates a name for your service.
	ServiceName *string `field:"optional" json:"serviceName" yaml:"serviceName"`
	// An optional list of metadata items that you can associate with the App Runner service resource.
	//
	// A tag is a key-value pair.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnService`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnServiceProps := &cfnServiceProps{
	sourceConfiguration: &sourceConfigurationProperty{
		authenticationConfiguration: &authenticationConfigurationProperty{
			accessRoleArn: jsii.String("accessRoleArn"),
			connectionArn: jsii.String("connectionArn"),
		},
		autoDeploymentsEnabled: jsii.Boolean(false),
		codeRepository: &codeRepositoryProperty{
			repositoryUrl: jsii.String("repositoryUrl"),
			sourceCodeVersion: &sourceCodeVersionProperty{
				type: jsii.String("type"),
				value: jsii.String("value"),
			},

			// the properties below are optional
			codeConfiguration: &codeConfigurationProperty{
				configurationSource: jsii.String("configurationSource"),

				// the properties below are optional
				codeConfigurationValues: &codeConfigurationValuesProperty{
					runtime: jsii.String("runtime"),

					// the properties below are optional
					buildCommand: jsii.String("buildCommand"),
					port: jsii.String("port"),
					runtimeEnvironmentVariables: []interface{}{
						&keyValuePairProperty{
							name: jsii.String("name"),
							value: jsii.String("value"),
						},
					},
					startCommand: jsii.String("startCommand"),
				},
			},
		},
		imageRepository: &imageRepositoryProperty{
			imageIdentifier: jsii.String("imageIdentifier"),
			imageRepositoryType: jsii.String("imageRepositoryType"),

			// the properties below are optional
			imageConfiguration: &imageConfigurationProperty{
				port: jsii.String("port"),
				runtimeEnvironmentVariables: []interface{}{
					&keyValuePairProperty{
						name: jsii.String("name"),
						value: jsii.String("value"),
					},
				},
				startCommand: jsii.String("startCommand"),
			},
		},
	},

	// the properties below are optional
	autoScalingConfigurationArn: jsii.String("autoScalingConfigurationArn"),
	encryptionConfiguration: &encryptionConfigurationProperty{
		kmsKey: jsii.String("kmsKey"),
	},
	healthCheckConfiguration: &healthCheckConfigurationProperty{
		healthyThreshold: jsii.Number(123),
		interval: jsii.Number(123),
		path: jsii.String("path"),
		protocol: jsii.String("protocol"),
		timeout: jsii.Number(123),
		unhealthyThreshold: jsii.Number(123),
	},
	instanceConfiguration: &instanceConfigurationProperty{
		cpu: jsii.String("cpu"),
		instanceRoleArn: jsii.String("instanceRoleArn"),
		memory: jsii.String("memory"),
	},
	networkConfiguration: &networkConfigurationProperty{
		egressConfiguration: &egressConfigurationProperty{
			egressType: jsii.String("egressType"),

			// the properties below are optional
			vpcConnectorArn: jsii.String("vpcConnectorArn"),
		},
	},
	observabilityConfiguration: &serviceObservabilityConfigurationProperty{
		observabilityEnabled: jsii.Boolean(false),

		// the properties below are optional
		observabilityConfigurationArn: jsii.String("observabilityConfigurationArn"),
	},
	serviceName: jsii.String("serviceName"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
}

type CfnService_AuthenticationConfigurationProperty

type CfnService_AuthenticationConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the IAM role that grants the App Runner service access to a source repository.
	//
	// It's required for ECR image repositories (but not for ECR Public repositories).
	AccessRoleArn *string `field:"optional" json:"accessRoleArn" yaml:"accessRoleArn"`
	// The Amazon Resource Name (ARN) of the App Runner connection that enables the App Runner service to connect to a source repository.
	//
	// It's required for GitHub code repositories.
	ConnectionArn *string `field:"optional" json:"connectionArn" yaml:"connectionArn"`
}

Describes resources needed to authenticate access to some source repositories.

The specific resource depends on the repository provider.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

authenticationConfigurationProperty := &authenticationConfigurationProperty{
	accessRoleArn: jsii.String("accessRoleArn"),
	connectionArn: jsii.String("connectionArn"),
}

type CfnService_CodeConfigurationProperty

type CfnService_CodeConfigurationProperty struct {
	// The source of the App Runner configuration. Values are interpreted as follows:.
	//
	// - `REPOSITORY` – App Runner reads configuration values from the `apprunner.yaml` file in the source code repository and ignores `CodeConfigurationValues` .
	// - `API` – App Runner uses configuration values provided in `CodeConfigurationValues` and ignores the `apprunner.yaml` file in the source code repository.
	ConfigurationSource *string `field:"required" json:"configurationSource" yaml:"configurationSource"`
	// The basic configuration for building and running the App Runner service.
	//
	// Use it to quickly launch an App Runner service without providing a `apprunner.yaml` file in the source code repository (or ignoring the file if it exists).
	CodeConfigurationValues interface{} `field:"optional" json:"codeConfigurationValues" yaml:"codeConfigurationValues"`
}

Describes the configuration that AWS App Runner uses to build and run an App Runner service from a source code repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

codeConfigurationProperty := &codeConfigurationProperty{
	configurationSource: jsii.String("configurationSource"),

	// the properties below are optional
	codeConfigurationValues: &codeConfigurationValuesProperty{
		runtime: jsii.String("runtime"),

		// the properties below are optional
		buildCommand: jsii.String("buildCommand"),
		port: jsii.String("port"),
		runtimeEnvironmentVariables: []interface{}{
			&keyValuePairProperty{
				name: jsii.String("name"),
				value: jsii.String("value"),
			},
		},
		startCommand: jsii.String("startCommand"),
	},
}

type CfnService_CodeConfigurationValuesProperty

type CfnService_CodeConfigurationValuesProperty struct {
	// A runtime environment type for building and running an App Runner service.
	//
	// It represents a programming language runtime.
	Runtime *string `field:"required" json:"runtime" yaml:"runtime"`
	// The command App Runner runs to build your application.
	BuildCommand *string `field:"optional" json:"buildCommand" yaml:"buildCommand"`
	// The port that your application listens to in the container.
	//
	// Default: `8080`.
	Port *string `field:"optional" json:"port" yaml:"port"`
	// The environment variables that are available to your running App Runner service.
	//
	// An array of key-value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid.
	RuntimeEnvironmentVariables interface{} `field:"optional" json:"runtimeEnvironmentVariables" yaml:"runtimeEnvironmentVariables"`
	// The command App Runner runs to start your application.
	StartCommand *string `field:"optional" json:"startCommand" yaml:"startCommand"`
}

Describes the basic configuration needed for building and running an AWS App Runner service.

This type doesn't support the full set of possible configuration options. Fur full configuration capabilities, use a `apprunner.yaml` file in the source code repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

codeConfigurationValuesProperty := &codeConfigurationValuesProperty{
	runtime: jsii.String("runtime"),

	// the properties below are optional
	buildCommand: jsii.String("buildCommand"),
	port: jsii.String("port"),
	runtimeEnvironmentVariables: []interface{}{
		&keyValuePairProperty{
			name: jsii.String("name"),
			value: jsii.String("value"),
		},
	},
	startCommand: jsii.String("startCommand"),
}

type CfnService_CodeRepositoryProperty

type CfnService_CodeRepositoryProperty struct {
	// The location of the repository that contains the source code.
	RepositoryUrl *string `field:"required" json:"repositoryUrl" yaml:"repositoryUrl"`
	// The version that should be used within the source code repository.
	SourceCodeVersion interface{} `field:"required" json:"sourceCodeVersion" yaml:"sourceCodeVersion"`
	// Configuration for building and running the service from a source code repository.
	//
	// > `CodeConfiguration` is required only for `CreateService` request.
	CodeConfiguration interface{} `field:"optional" json:"codeConfiguration" yaml:"codeConfiguration"`
}

Describes a source code repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

codeRepositoryProperty := &codeRepositoryProperty{
	repositoryUrl: jsii.String("repositoryUrl"),
	sourceCodeVersion: &sourceCodeVersionProperty{
		type: jsii.String("type"),
		value: jsii.String("value"),
	},

	// the properties below are optional
	codeConfiguration: &codeConfigurationProperty{
		configurationSource: jsii.String("configurationSource"),

		// the properties below are optional
		codeConfigurationValues: &codeConfigurationValuesProperty{
			runtime: jsii.String("runtime"),

			// the properties below are optional
			buildCommand: jsii.String("buildCommand"),
			port: jsii.String("port"),
			runtimeEnvironmentVariables: []interface{}{
				&keyValuePairProperty{
					name: jsii.String("name"),
					value: jsii.String("value"),
				},
			},
			startCommand: jsii.String("startCommand"),
		},
	},
}

type CfnService_EgressConfigurationProperty

type CfnService_EgressConfigurationProperty struct {
	// The type of egress configuration.
	//
	// Set to `DEFAULT` for access to resources hosted on public networks.
	//
	// Set to `VPC` to associate your service to a custom VPC specified by `VpcConnectorArn` .
	EgressType *string `field:"required" json:"egressType" yaml:"egressType"`
	// The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to associate with your App Runner service.
	//
	// Only valid when `EgressType = VPC` .
	VpcConnectorArn *string `field:"optional" json:"vpcConnectorArn" yaml:"vpcConnectorArn"`
}

Describes configuration settings related to outbound network traffic of an AWS App Runner service.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

egressConfigurationProperty := &egressConfigurationProperty{
	egressType: jsii.String("egressType"),

	// the properties below are optional
	vpcConnectorArn: jsii.String("vpcConnectorArn"),
}

type CfnService_EncryptionConfigurationProperty

type CfnService_EncryptionConfigurationProperty struct {
	// The ARN of the KMS key that's used for encryption.
	KmsKey *string `field:"required" json:"kmsKey" yaml:"kmsKey"`
}

Describes a custom encryption key that AWS App Runner uses to encrypt copies of the source repository and service logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

encryptionConfigurationProperty := &encryptionConfigurationProperty{
	kmsKey: jsii.String("kmsKey"),
}

type CfnService_HealthCheckConfigurationProperty

type CfnService_HealthCheckConfigurationProperty struct {
	// The number of consecutive checks that must succeed before App Runner decides that the service is healthy.
	//
	// Default: `1`.
	HealthyThreshold *float64 `field:"optional" json:"healthyThreshold" yaml:"healthyThreshold"`
	// The time interval, in seconds, between health checks.
	//
	// Default: `5`.
	Interval *float64 `field:"optional" json:"interval" yaml:"interval"`
	// The URL that health check requests are sent to.
	//
	// `Path` is only applicable when you set `Protocol` to `HTTP` .
	//
	// Default: `"/"`.
	Path *string `field:"optional" json:"path" yaml:"path"`
	// The IP protocol that App Runner uses to perform health checks for your service.
	//
	// If you set `Protocol` to `HTTP` , App Runner sends health check requests to the HTTP path specified by `Path` .
	//
	// Default: `TCP`.
	Protocol *string `field:"optional" json:"protocol" yaml:"protocol"`
	// The time, in seconds, to wait for a health check response before deciding it failed.
	//
	// Default: `2`.
	Timeout *float64 `field:"optional" json:"timeout" yaml:"timeout"`
	// The number of consecutive checks that must fail before App Runner decides that the service is unhealthy.
	//
	// Default: `5`.
	UnhealthyThreshold *float64 `field:"optional" json:"unhealthyThreshold" yaml:"unhealthyThreshold"`
}

Describes the settings for the health check that AWS App Runner performs to monitor the health of a service.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

healthCheckConfigurationProperty := &healthCheckConfigurationProperty{
	healthyThreshold: jsii.Number(123),
	interval: jsii.Number(123),
	path: jsii.String("path"),
	protocol: jsii.String("protocol"),
	timeout: jsii.Number(123),
	unhealthyThreshold: jsii.Number(123),
}

type CfnService_ImageConfigurationProperty

type CfnService_ImageConfigurationProperty struct {
	// The port that your application listens to in the container.
	//
	// Default: `8080`.
	Port *string `field:"optional" json:"port" yaml:"port"`
	// Environment variables that are available to your running App Runner service.
	//
	// An array of key-value pairs. Keys with a prefix of `AWSAPPRUNNER` are reserved for system use and aren't valid.
	RuntimeEnvironmentVariables interface{} `field:"optional" json:"runtimeEnvironmentVariables" yaml:"runtimeEnvironmentVariables"`
	// An optional command that App Runner runs to start the application in the source image.
	//
	// If specified, this command overrides the Docker image’s default start command.
	StartCommand *string `field:"optional" json:"startCommand" yaml:"startCommand"`
}

Describes the configuration that AWS App Runner uses to run an App Runner service using an image pulled from a source image repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

imageConfigurationProperty := &imageConfigurationProperty{
	port: jsii.String("port"),
	runtimeEnvironmentVariables: []interface{}{
		&keyValuePairProperty{
			name: jsii.String("name"),
			value: jsii.String("value"),
		},
	},
	startCommand: jsii.String("startCommand"),
}

type CfnService_ImageRepositoryProperty

type CfnService_ImageRepositoryProperty struct {
	// The identifier of an image.
	//
	// For an image in Amazon Elastic Container Registry (Amazon ECR), this is an image name. For the image name format, see [Pulling an image](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html) in the *Amazon ECR User Guide* .
	ImageIdentifier *string `field:"required" json:"imageIdentifier" yaml:"imageIdentifier"`
	// The type of the image repository.
	//
	// This reflects the repository provider and whether the repository is private or public.
	ImageRepositoryType *string `field:"required" json:"imageRepositoryType" yaml:"imageRepositoryType"`
	// Configuration for running the identified image.
	ImageConfiguration interface{} `field:"optional" json:"imageConfiguration" yaml:"imageConfiguration"`
}

Describes a source image repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

imageRepositoryProperty := &imageRepositoryProperty{
	imageIdentifier: jsii.String("imageIdentifier"),
	imageRepositoryType: jsii.String("imageRepositoryType"),

	// the properties below are optional
	imageConfiguration: &imageConfigurationProperty{
		port: jsii.String("port"),
		runtimeEnvironmentVariables: []interface{}{
			&keyValuePairProperty{
				name: jsii.String("name"),
				value: jsii.String("value"),
			},
		},
		startCommand: jsii.String("startCommand"),
	},
}

type CfnService_InstanceConfigurationProperty

type CfnService_InstanceConfigurationProperty struct {
	// The number of CPU units reserved for each instance of your App Runner service.
	//
	// Default: `1 vCPU`.
	Cpu *string `field:"optional" json:"cpu" yaml:"cpu"`
	// The Amazon Resource Name (ARN) of an IAM role that provides permissions to your App Runner service.
	//
	// These are permissions that your code needs when it calls any AWS APIs.
	InstanceRoleArn *string `field:"optional" json:"instanceRoleArn" yaml:"instanceRoleArn"`
	// The amount of memory, in MB or GB, reserved for each instance of your App Runner service.
	//
	// Default: `2 GB`.
	Memory *string `field:"optional" json:"memory" yaml:"memory"`
}

Describes the runtime configuration of an AWS App Runner service instance (scaling unit).

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

instanceConfigurationProperty := &instanceConfigurationProperty{
	cpu: jsii.String("cpu"),
	instanceRoleArn: jsii.String("instanceRoleArn"),
	memory: jsii.String("memory"),
}

type CfnService_KeyValuePairProperty

type CfnService_KeyValuePairProperty struct {
	// The key name string to map to a value.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The value string to which the key name is mapped.
	Value *string `field:"optional" json:"value" yaml:"value"`
}

Describes a key-value pair, which is a string-to-string mapping.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

keyValuePairProperty := &keyValuePairProperty{
	name: jsii.String("name"),
	value: jsii.String("value"),
}

type CfnService_NetworkConfigurationProperty

type CfnService_NetworkConfigurationProperty struct {
	// Network configuration settings for outbound message traffic.
	EgressConfiguration interface{} `field:"required" json:"egressConfiguration" yaml:"egressConfiguration"`
}

Describes configuration settings related to network traffic of an AWS App Runner service.

Consists of embedded objects for each configurable network feature.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

networkConfigurationProperty := &networkConfigurationProperty{
	egressConfiguration: &egressConfigurationProperty{
		egressType: jsii.String("egressType"),

		// the properties below are optional
		vpcConnectorArn: jsii.String("vpcConnectorArn"),
	},
}

type CfnService_ServiceObservabilityConfigurationProperty

type CfnService_ServiceObservabilityConfigurationProperty struct {
	// When `true` , an observability configuration resource is associated with the service, and an `ObservabilityConfigurationArn` is specified.
	ObservabilityEnabled interface{} `field:"required" json:"observabilityEnabled" yaml:"observabilityEnabled"`
	// The Amazon Resource Name (ARN) of the observability configuration that is associated with the service.
	//
	// Specified only when `ObservabilityEnabled` is `true` .
	//
	// Specify an ARN with a name and a revision number to associate that revision. For example: `arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration/xray-tracing/3`
	//
	// Specify just the name to associate the latest revision. For example: `arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration/xray-tracing`
	ObservabilityConfigurationArn *string `field:"optional" json:"observabilityConfigurationArn" yaml:"observabilityConfigurationArn"`
}

Describes the observability configuration of an AWS App Runner service.

These are additional observability features, like tracing, that you choose to enable. They're configured in a separate resource that you associate with your service.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

serviceObservabilityConfigurationProperty := &serviceObservabilityConfigurationProperty{
	observabilityEnabled: jsii.Boolean(false),

	// the properties below are optional
	observabilityConfigurationArn: jsii.String("observabilityConfigurationArn"),
}

type CfnService_SourceCodeVersionProperty

type CfnService_SourceCodeVersionProperty struct {
	// The type of version identifier.
	//
	// For a git-based repository, branches represent versions.
	Type *string `field:"required" json:"type" yaml:"type"`
	// A source code version.
	//
	// For a git-based repository, a branch name maps to a specific version. App Runner uses the most recent commit to the branch.
	Value *string `field:"required" json:"value" yaml:"value"`
}

Identifies a version of code that AWS App Runner refers to within a source code repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sourceCodeVersionProperty := &sourceCodeVersionProperty{
	type: jsii.String("type"),
	value: jsii.String("value"),
}

type CfnService_SourceConfigurationProperty

type CfnService_SourceConfigurationProperty struct {
	// Describes the resources that are needed to authenticate access to some source repositories.
	AuthenticationConfiguration interface{} `field:"optional" json:"authenticationConfiguration" yaml:"authenticationConfiguration"`
	// If `true` , continuous integration from the source repository is enabled for the App Runner service.
	//
	// Each repository change (including any source code commit or new image version) starts a deployment.
	//
	// Default: App Runner sets to `false` for a source image that uses an ECR Public repository or an ECR repository that's in an AWS account other than the one that the service is in. App Runner sets to `true` in all other cases (which currently include a source code repository or a source image using a same-account ECR repository).
	AutoDeploymentsEnabled interface{} `field:"optional" json:"autoDeploymentsEnabled" yaml:"autoDeploymentsEnabled"`
	// The description of a source code repository.
	//
	// You must provide either this member or `ImageRepository` (but not both).
	CodeRepository interface{} `field:"optional" json:"codeRepository" yaml:"codeRepository"`
	// The description of a source image repository.
	//
	// You must provide either this member or `CodeRepository` (but not both).
	ImageRepository interface{} `field:"optional" json:"imageRepository" yaml:"imageRepository"`
}

Describes the source deployed to an AWS App Runner service.

It can be a code or an image repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sourceConfigurationProperty := &sourceConfigurationProperty{
	authenticationConfiguration: &authenticationConfigurationProperty{
		accessRoleArn: jsii.String("accessRoleArn"),
		connectionArn: jsii.String("connectionArn"),
	},
	autoDeploymentsEnabled: jsii.Boolean(false),
	codeRepository: &codeRepositoryProperty{
		repositoryUrl: jsii.String("repositoryUrl"),
		sourceCodeVersion: &sourceCodeVersionProperty{
			type: jsii.String("type"),
			value: jsii.String("value"),
		},

		// the properties below are optional
		codeConfiguration: &codeConfigurationProperty{
			configurationSource: jsii.String("configurationSource"),

			// the properties below are optional
			codeConfigurationValues: &codeConfigurationValuesProperty{
				runtime: jsii.String("runtime"),

				// the properties below are optional
				buildCommand: jsii.String("buildCommand"),
				port: jsii.String("port"),
				runtimeEnvironmentVariables: []interface{}{
					&keyValuePairProperty{
						name: jsii.String("name"),
						value: jsii.String("value"),
					},
				},
				startCommand: jsii.String("startCommand"),
			},
		},
	},
	imageRepository: &imageRepositoryProperty{
		imageIdentifier: jsii.String("imageIdentifier"),
		imageRepositoryType: jsii.String("imageRepositoryType"),

		// the properties below are optional
		imageConfiguration: &imageConfigurationProperty{
			port: jsii.String("port"),
			runtimeEnvironmentVariables: []interface{}{
				&keyValuePairProperty{
					name: jsii.String("name"),
					value: jsii.String("value"),
				},
			},
			startCommand: jsii.String("startCommand"),
		},
	},
}

type CfnVpcConnector

type CfnVpcConnector interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of this VPC connector.
	AttrVpcConnectorArn() *string
	// The revision of this VPC connector.
	//
	// It's unique among all the active connectors ( `"Status": "ACTIVE"` ) that share the same `Name` .
	//
	// > At this time, App Runner supports only one revision per name.
	AttrVpcConnectorRevision() *float64
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets.
	//
	// If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
	SecurityGroups() *[]*string
	SetSecurityGroups(val *[]*string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC.
	//
	// Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
	//
	// > App Runner currently only provides support for IPv4.
	Subnets() *[]*string
	SetSubnets(val *[]*string)
	// A list of metadata items that you can associate with your VPC connector resource.
	//
	// A tag is a key-value pair.
	Tags() awscdk.TagManager
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// A name for the VPC connector.
	//
	// If you don't specify a name, AWS CloudFormation generates a name for your VPC connector.
	VpcConnectorName() *string
	SetVpcConnectorName(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AppRunner::VpcConnector`.

Specify an AWS App Runner VPC connector by using the `AWS::AppRunner::VpcConnector` resource in an AWS CloudFormation template.

The `AWS::AppRunner::VpcConnector` resource is an AWS App Runner resource type that specifies an App Runner VPC connector.

App Runner requires this resource when you want to associate your App Runner service to a custom Amazon Virtual Private Cloud ( Amazon VPC ).

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnVpcConnector := awscdk.Aws_apprunner.NewCfnVpcConnector(this, jsii.String("MyCfnVpcConnector"), &cfnVpcConnectorProps{
	subnets: []*string{
		jsii.String("subnets"),
	},

	// the properties below are optional
	securityGroups: []*string{
		jsii.String("securityGroups"),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	vpcConnectorName: jsii.String("vpcConnectorName"),
})

func NewCfnVpcConnector

func NewCfnVpcConnector(scope awscdk.Construct, id *string, props *CfnVpcConnectorProps) CfnVpcConnector

Create a new `AWS::AppRunner::VpcConnector`.

type CfnVpcConnectorProps

type CfnVpcConnectorProps struct {
	// A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC.
	//
	// Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.
	//
	// > App Runner currently only provides support for IPv4.
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
	// A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets.
	//
	// If not specified, App Runner uses the default security group of the Amazon VPC. The default security group allows all outbound traffic.
	SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"`
	// A list of metadata items that you can associate with your VPC connector resource.
	//
	// A tag is a key-value pair.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// A name for the VPC connector.
	//
	// If you don't specify a name, AWS CloudFormation generates a name for your VPC connector.
	VpcConnectorName *string `field:"optional" json:"vpcConnectorName" yaml:"vpcConnectorName"`
}

Properties for defining a `CfnVpcConnector`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnVpcConnectorProps := &cfnVpcConnectorProps{
	subnets: []*string{
		jsii.String("subnets"),
	},

	// the properties below are optional
	securityGroups: []*string{
		jsii.String("securityGroups"),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	vpcConnectorName: jsii.String("vpcConnectorName"),
}

type CodeConfiguration

type CodeConfiguration struct {
	// The source of the App Runner configuration.
	// Experimental.
	ConfigurationSource ConfigurationSourceType `field:"required" json:"configurationSource" yaml:"configurationSource"`
	// The basic configuration for building and running the App Runner service.
	//
	// Use it to quickly launch an App Runner service without providing a apprunner.yaml file in the
	// source code repository (or ignoring the file if it exists).
	// Experimental.
	ConfigurationValues *CodeConfigurationValues `field:"optional" json:"configurationValues" yaml:"configurationValues"`
}

Describes the configuration that AWS App Runner uses to build and run an App Runner service from a source code repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var runtime runtime

codeConfiguration := &codeConfiguration{
	configurationSource: awscdk.Aws_apprunner.configurationSourceType_REPOSITORY,

	// the properties below are optional
	configurationValues: &codeConfigurationValues{
		runtime: runtime,

		// the properties below are optional
		buildCommand: jsii.String("buildCommand"),
		environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		port: jsii.String("port"),
		startCommand: jsii.String("startCommand"),
	},
}

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-codeconfiguration.html

Experimental.

type CodeConfigurationValues

type CodeConfigurationValues struct {
	// A runtime environment type for building and running an App Runner service.
	//
	// It represents
	// a programming language runtime.
	// Experimental.
	Runtime Runtime `field:"required" json:"runtime" yaml:"runtime"`
	// The command App Runner runs to build your application.
	// Experimental.
	BuildCommand *string `field:"optional" json:"buildCommand" yaml:"buildCommand"`
	// The environment variables that are available to your running App Runner service.
	// Experimental.
	Environment *map[string]*string `field:"optional" json:"environment" yaml:"environment"`
	// The port that your application listens to in the container.
	// Experimental.
	Port *string `field:"optional" json:"port" yaml:"port"`
	// The command App Runner runs to start your application.
	// Experimental.
	StartCommand *string `field:"optional" json:"startCommand" yaml:"startCommand"`
}

Describes the basic configuration needed for building and running an AWS App Runner service.

This type doesn't support the full set of possible configuration options. Fur full configuration capabilities, use a `apprunner.yaml` file in the source code repository.

Example:

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromGitHub(&githubRepositoryProps{
		repositoryUrl: jsii.String("https://github.com/aws-containers/hello-app-runner"),
		branch: jsii.String("main"),
		configurationSource: apprunner.configurationSourceType_API,
		codeConfigurationValues: &codeConfigurationValues{
			runtime: apprunner.runtime_PYTHON_3(),
			port: jsii.String("8000"),
			startCommand: jsii.String("python app.py"),
			buildCommand: jsii.String("yum install -y pycairo && pip install -r requirements.txt"),
		},
		connection: apprunner.gitHubConnection.fromConnectionArn(jsii.String("CONNECTION_ARN")),
	}),
})

Experimental.

type CodeRepositoryProps

type CodeRepositoryProps struct {
	// Configuration for building and running the service from a source code repository.
	// Experimental.
	CodeConfiguration *CodeConfiguration `field:"required" json:"codeConfiguration" yaml:"codeConfiguration"`
	// The App Runner connection for GitHub.
	// Experimental.
	Connection GitHubConnection `field:"required" json:"connection" yaml:"connection"`
	// The location of the repository that contains the source code.
	// Experimental.
	RepositoryUrl *string `field:"required" json:"repositoryUrl" yaml:"repositoryUrl"`
	// The version that should be used within the source code repository.
	// Experimental.
	SourceCodeVersion *SourceCodeVersion `field:"required" json:"sourceCodeVersion" yaml:"sourceCodeVersion"`
}

Properties of the CodeRepository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var gitHubConnection gitHubConnection
var runtime runtime

codeRepositoryProps := &codeRepositoryProps{
	codeConfiguration: &codeConfiguration{
		configurationSource: awscdk.Aws_apprunner.configurationSourceType_REPOSITORY,

		// the properties below are optional
		configurationValues: &codeConfigurationValues{
			runtime: runtime,

			// the properties below are optional
			buildCommand: jsii.String("buildCommand"),
			environment: map[string]*string{
				"environmentKey": jsii.String("environment"),
			},
			port: jsii.String("port"),
			startCommand: jsii.String("startCommand"),
		},
	},
	connection: gitHubConnection,
	repositoryUrl: jsii.String("repositoryUrl"),
	sourceCodeVersion: &sourceCodeVersion{
		type: jsii.String("type"),
		value: jsii.String("value"),
	},
}

Experimental.

type ConfigurationSourceType

type ConfigurationSourceType string

The source of the App Runner configuration.

Example:

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromGitHub(&githubRepositoryProps{
		repositoryUrl: jsii.String("https://github.com/aws-containers/hello-app-runner"),
		branch: jsii.String("main"),
		configurationSource: apprunner.configurationSourceType_REPOSITORY,
		connection: apprunner.gitHubConnection.fromConnectionArn(jsii.String("CONNECTION_ARN")),
	}),
})

Experimental.

const (
	// App Runner reads configuration values from `the apprunner.yaml` file in the source code repository and ignores `configurationValues`.
	// Experimental.
	ConfigurationSourceType_REPOSITORY ConfigurationSourceType = "REPOSITORY"
	// App Runner uses configuration values provided in `configurationValues` and ignores the `apprunner.yaml` file in the source code repository.
	// Experimental.
	ConfigurationSourceType_API ConfigurationSourceType = "API"
)

type Cpu

type Cpu interface {
	// The unit of CPU.
	// Experimental.
	Unit() *string
}

The number of CPU units reserved for each instance of your App Runner service.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cpu := awscdk.Aws_apprunner.cpu.of(jsii.String("unit"))

Experimental.

func Cpu_ONE_VCPU

func Cpu_ONE_VCPU() Cpu

func Cpu_TWO_VCPU

func Cpu_TWO_VCPU() Cpu

type EcrProps

type EcrProps struct {
	// Represents the ECR repository.
	// Experimental.
	Repository awsecr.IRepository `field:"required" json:"repository" yaml:"repository"`
	// The image configuration for the image from ECR.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html#cfn-apprunner-service-imageconfiguration-port
	//
	// Experimental.
	ImageConfiguration *ImageConfiguration `field:"optional" json:"imageConfiguration" yaml:"imageConfiguration"`
	// Image tag.
	// Deprecated: use `tagOrDigest`.
	Tag *string `field:"optional" json:"tag" yaml:"tag"`
	// Image tag or digest (digests must start with `sha256:`).
	// Experimental.
	TagOrDigest *string `field:"optional" json:"tagOrDigest" yaml:"tagOrDigest"`
}

Properties of the image repository for `Source.fromEcr()`.

Example:

import ecr "github.com/aws/aws-cdk-go/awscdk"

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromEcr(&ecrProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(80),
		},
		repository: ecr.repository.fromRepositoryName(this, jsii.String("NginxRepository"), jsii.String("nginx")),
		tagOrDigest: jsii.String("latest"),
	}),
})

Experimental.

type EcrPublicProps

type EcrPublicProps struct {
	// The ECR Public image URI.
	// Experimental.
	ImageIdentifier *string `field:"required" json:"imageIdentifier" yaml:"imageIdentifier"`
	// The image configuration for the image from ECR Public.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html#cfn-apprunner-service-imageconfiguration-port
	//
	// Experimental.
	ImageConfiguration *ImageConfiguration `field:"optional" json:"imageConfiguration" yaml:"imageConfiguration"`
}

Properties of the image repository for `Source.fromEcrPublic()`.

Example:

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromEcrPublic(&ecrPublicProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		imageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
	}),
})

Experimental.

type EcrPublicSource

type EcrPublicSource interface {
	Source
	// Called when the Job is initialized to allow this object to bind.
	// Experimental.
	Bind(_scope constructs.Construct) *SourceConfig
}

Represents the service source from ECR Public.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecrPublicSource := awscdk.Aws_apprunner.NewEcrPublicSource(&ecrPublicProps{
	imageIdentifier: jsii.String("imageIdentifier"),

	// the properties below are optional
	imageConfiguration: &imageConfiguration{
		environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		port: jsii.Number(123),
		startCommand: jsii.String("startCommand"),
	},
})

Experimental.

func AssetSource_FromEcrPublic

func AssetSource_FromEcrPublic(props *EcrPublicProps) EcrPublicSource

Source from the ECR Public repository. Experimental.

func EcrPublicSource_FromEcrPublic

func EcrPublicSource_FromEcrPublic(props *EcrPublicProps) EcrPublicSource

Source from the ECR Public repository. Experimental.

func EcrSource_FromEcrPublic

func EcrSource_FromEcrPublic(props *EcrPublicProps) EcrPublicSource

Source from the ECR Public repository. Experimental.

func GithubSource_FromEcrPublic

func GithubSource_FromEcrPublic(props *EcrPublicProps) EcrPublicSource

Source from the ECR Public repository. Experimental.

func NewEcrPublicSource

func NewEcrPublicSource(props *EcrPublicProps) EcrPublicSource

Experimental.

func Source_FromEcrPublic

func Source_FromEcrPublic(props *EcrPublicProps) EcrPublicSource

Source from the ECR Public repository. Experimental.

type EcrSource

type EcrSource interface {
	Source
	// Called when the Job is initialized to allow this object to bind.
	// Experimental.
	Bind(_scope constructs.Construct) *SourceConfig
}

Represents the service source from ECR.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var repository repository

ecrSource := awscdk.Aws_apprunner.NewEcrSource(&ecrProps{
	repository: repository,

	// the properties below are optional
	imageConfiguration: &imageConfiguration{
		environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		port: jsii.Number(123),
		startCommand: jsii.String("startCommand"),
	},
	tag: jsii.String("tag"),
	tagOrDigest: jsii.String("tagOrDigest"),
})

Experimental.

func AssetSource_FromEcr

func AssetSource_FromEcr(props *EcrProps) EcrSource

Source from the ECR repository. Experimental.

func EcrPublicSource_FromEcr

func EcrPublicSource_FromEcr(props *EcrProps) EcrSource

Source from the ECR repository. Experimental.

func EcrSource_FromEcr

func EcrSource_FromEcr(props *EcrProps) EcrSource

Source from the ECR repository. Experimental.

func GithubSource_FromEcr

func GithubSource_FromEcr(props *EcrProps) EcrSource

Source from the ECR repository. Experimental.

func NewEcrSource

func NewEcrSource(props *EcrProps) EcrSource

Experimental.

func Source_FromEcr

func Source_FromEcr(props *EcrProps) EcrSource

Source from the ECR repository. Experimental.

type GitHubConnection

type GitHubConnection interface {
	// The ARN of the Connection for App Runner service to connect to the repository.
	// Experimental.
	ConnectionArn() *string
}

Represents the App Runner connection that enables the App Runner service to connect to a source repository.

It's required for GitHub code repositories.

Example:

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromGitHub(&githubRepositoryProps{
		repositoryUrl: jsii.String("https://github.com/aws-containers/hello-app-runner"),
		branch: jsii.String("main"),
		configurationSource: apprunner.configurationSourceType_REPOSITORY,
		connection: apprunner.gitHubConnection.fromConnectionArn(jsii.String("CONNECTION_ARN")),
	}),
})

Experimental.

func GitHubConnection_FromConnectionArn

func GitHubConnection_FromConnectionArn(arn *string) GitHubConnection

Using existing App Runner connection by specifying the connection ARN.

Returns: Connection. Experimental.

func NewGitHubConnection

func NewGitHubConnection(arn *string) GitHubConnection

Experimental.

type GithubRepositoryProps

type GithubRepositoryProps struct {
	// The source of the App Runner configuration.
	// Experimental.
	ConfigurationSource ConfigurationSourceType `field:"required" json:"configurationSource" yaml:"configurationSource"`
	// ARN of the connection to Github.
	//
	// Only required for Github source.
	// Experimental.
	Connection GitHubConnection `field:"required" json:"connection" yaml:"connection"`
	// The location of the repository that contains the source code.
	// Experimental.
	RepositoryUrl *string `field:"required" json:"repositoryUrl" yaml:"repositoryUrl"`
	// The branch name that represents a specific version for the repository.
	// Experimental.
	Branch *string `field:"optional" json:"branch" yaml:"branch"`
	// The code configuration values.
	//
	// Will be ignored if configurationSource is `REPOSITORY`.
	// Experimental.
	CodeConfigurationValues *CodeConfigurationValues `field:"optional" json:"codeConfigurationValues" yaml:"codeConfigurationValues"`
}

Properties of the Github repository for `Source.fromGitHub()`.

Example:

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromGitHub(&githubRepositoryProps{
		repositoryUrl: jsii.String("https://github.com/aws-containers/hello-app-runner"),
		branch: jsii.String("main"),
		configurationSource: apprunner.configurationSourceType_REPOSITORY,
		connection: apprunner.gitHubConnection.fromConnectionArn(jsii.String("CONNECTION_ARN")),
	}),
})

Experimental.

type GithubSource

type GithubSource interface {
	Source
	// Called when the Job is initialized to allow this object to bind.
	// Experimental.
	Bind(_scope constructs.Construct) *SourceConfig
}

Represents the service source from a Github repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var gitHubConnection gitHubConnection
var runtime runtime

githubSource := awscdk.Aws_apprunner.NewGithubSource(&githubRepositoryProps{
	configurationSource: awscdk.*Aws_apprunner.configurationSourceType_REPOSITORY,
	connection: gitHubConnection,
	repositoryUrl: jsii.String("repositoryUrl"),

	// the properties below are optional
	branch: jsii.String("branch"),
	codeConfigurationValues: &codeConfigurationValues{
		runtime: runtime,

		// the properties below are optional
		buildCommand: jsii.String("buildCommand"),
		environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		port: jsii.String("port"),
		startCommand: jsii.String("startCommand"),
	},
})

Experimental.

func AssetSource_FromGitHub

func AssetSource_FromGitHub(props *GithubRepositoryProps) GithubSource

Source from the GitHub repository. Experimental.

func EcrPublicSource_FromGitHub

func EcrPublicSource_FromGitHub(props *GithubRepositoryProps) GithubSource

Source from the GitHub repository. Experimental.

func EcrSource_FromGitHub

func EcrSource_FromGitHub(props *GithubRepositoryProps) GithubSource

Source from the GitHub repository. Experimental.

func GithubSource_FromGitHub

func GithubSource_FromGitHub(props *GithubRepositoryProps) GithubSource

Source from the GitHub repository. Experimental.

func NewGithubSource

func NewGithubSource(props *GithubRepositoryProps) GithubSource

Experimental.

func Source_FromGitHub

func Source_FromGitHub(props *GithubRepositoryProps) GithubSource

Source from the GitHub repository. Experimental.

type IService

type IService interface {
	awscdk.IResource
	// The ARN of the service.
	// Experimental.
	ServiceArn() *string
	// The Name of the service.
	// Experimental.
	ServiceName() *string
}

Represents the App Runner Service. Experimental.

func Service_FromServiceAttributes

func Service_FromServiceAttributes(scope constructs.Construct, id *string, attrs *ServiceAttributes) IService

Import from service attributes. Experimental.

func Service_FromServiceName

func Service_FromServiceName(scope constructs.Construct, id *string, serviceName *string) IService

Import from service name. Experimental.

type IVpcConnector

type IVpcConnector interface {
	awsec2.IConnectable
	awscdk.IResource
	// The ARN of the VPC connector.
	// Experimental.
	VpcConnectorArn() *string
	// The Name of the VPC connector.
	// Experimental.
	VpcConnectorName() *string
	// The revision of the VPC connector.
	// Experimental.
	VpcConnectorRevision() *float64
}

Represents the App Runner VPC Connector. Experimental.

func VpcConnector_FromVpcConnectorAttributes

func VpcConnector_FromVpcConnectorAttributes(scope constructs.Construct, id *string, attrs *VpcConnectorAttributes) IVpcConnector

Import from VPC connector attributes. Experimental.

type ImageConfiguration

type ImageConfiguration struct {
	// Environment variables that are available to your running App Runner service.
	// Experimental.
	Environment *map[string]*string `field:"optional" json:"environment" yaml:"environment"`
	// The port that your application listens to in the container.
	// Experimental.
	Port *float64 `field:"optional" json:"port" yaml:"port"`
	// An optional command that App Runner runs to start the application in the source image.
	//
	// If specified, this command overrides the Docker image’s default start command.
	// Experimental.
	StartCommand *string `field:"optional" json:"startCommand" yaml:"startCommand"`
}

Describes the configuration that AWS App Runner uses to run an App Runner service using an image pulled from a source image repository.

Example:

import assets "github.com/aws/aws-cdk-go/awscdk"

imageAsset := assets.NewDockerImageAsset(this, jsii.String("ImageAssets"), &dockerImageAssetProps{
	directory: path.join(__dirname, jsii.String("./docker.assets")),
})
apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromAsset(&assetProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		asset: imageAsset,
	}),
})

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html

Experimental.

type ImageRepository

type ImageRepository struct {
	// The identifier of the image.
	//
	// For `ECR_PUBLIC` imageRepositoryType, the identifier domain should
	// always be `public.ecr.aws`. For `ECR`, the pattern should be
	// `([0-9]{12}.dkr.ecr.[a-z\-]+-[0-9]{1}.amazonaws.com\/.*)`.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imagerepository.html for more details.
	//
	// Experimental.
	ImageIdentifier *string `field:"required" json:"imageIdentifier" yaml:"imageIdentifier"`
	// The type of the image repository.
	//
	// This reflects the repository provider and whether
	// the repository is private or public.
	// Experimental.
	ImageRepositoryType ImageRepositoryType `field:"required" json:"imageRepositoryType" yaml:"imageRepositoryType"`
	// Configuration for running the identified image.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imageconfiguration.html#cfn-apprunner-service-imageconfiguration-port
	//
	// Experimental.
	ImageConfiguration *ImageConfiguration `field:"optional" json:"imageConfiguration" yaml:"imageConfiguration"`
}

Describes a source image repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

imageRepository := &imageRepository{
	imageIdentifier: jsii.String("imageIdentifier"),
	imageRepositoryType: awscdk.Aws_apprunner.imageRepositoryType_ECR_PUBLIC,

	// the properties below are optional
	imageConfiguration: &imageConfiguration{
		environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		port: jsii.Number(123),
		startCommand: jsii.String("startCommand"),
	},
}

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-imagerepository.html

Experimental.

type ImageRepositoryType

type ImageRepositoryType string

The image repository types. Experimental.

const (
	// Amazon ECR Public.
	// Experimental.
	ImageRepositoryType_ECR_PUBLIC ImageRepositoryType = "ECR_PUBLIC"
	// Amazon ECR.
	// Experimental.
	ImageRepositoryType_ECR ImageRepositoryType = "ECR"
)

type Memory

type Memory interface {
	// The unit of memory.
	// Experimental.
	Unit() *string
}

The amount of memory reserved for each instance of your App Runner service.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

memory := awscdk.Aws_apprunner.memory_FOUR_GB()

Experimental.

func Memory_FOUR_GB

func Memory_FOUR_GB() Memory

func Memory_THREE_GB

func Memory_THREE_GB() Memory

func Memory_TWO_GB

func Memory_TWO_GB() Memory

type Runtime

type Runtime interface {
	// The runtime name.
	// Experimental.
	Name() *string
}

The code runtimes.

Example:

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromGitHub(&githubRepositoryProps{
		repositoryUrl: jsii.String("https://github.com/aws-containers/hello-app-runner"),
		branch: jsii.String("main"),
		configurationSource: apprunner.configurationSourceType_API,
		codeConfigurationValues: &codeConfigurationValues{
			runtime: apprunner.runtime_PYTHON_3(),
			port: jsii.String("8000"),
			startCommand: jsii.String("python app.py"),
			buildCommand: jsii.String("yum install -y pycairo && pip install -r requirements.txt"),
		},
		connection: apprunner.gitHubConnection.fromConnectionArn(jsii.String("CONNECTION_ARN")),
	}),
})

Experimental.

func Runtime_NODEJS_12

func Runtime_NODEJS_12() Runtime

func Runtime_PYTHON_3

func Runtime_PYTHON_3() Runtime

type Service

type Service interface {
	awscdk.Resource
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//    cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The ARN of the Service.
	// Experimental.
	ServiceArn() *string
	// The ID of the Service.
	// Experimental.
	ServiceId() *string
	// The name of the service.
	// Experimental.
	ServiceName() *string
	// The status of the Service.
	// Experimental.
	ServiceStatus() *string
	// The URL of the Service.
	// Experimental.
	ServiceUrl() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
}

The App Runner Service.

Example:

import assets "github.com/aws/aws-cdk-go/awscdk"

imageAsset := assets.NewDockerImageAsset(this, jsii.String("ImageAssets"), &dockerImageAssetProps{
	directory: path.join(__dirname, jsii.String("./docker.assets")),
})
apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromAsset(&assetProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		asset: imageAsset,
	}),
})

Experimental.

func NewService

func NewService(scope constructs.Construct, id *string, props *ServiceProps) Service

Experimental.

type ServiceAttributes

type ServiceAttributes struct {
	// The ARN of the service.
	// Experimental.
	ServiceArn *string `field:"required" json:"serviceArn" yaml:"serviceArn"`
	// The name of the service.
	// Experimental.
	ServiceName *string `field:"required" json:"serviceName" yaml:"serviceName"`
	// The status of the service.
	// Experimental.
	ServiceStatus *string `field:"required" json:"serviceStatus" yaml:"serviceStatus"`
	// The URL of the service.
	// Experimental.
	ServiceUrl *string `field:"required" json:"serviceUrl" yaml:"serviceUrl"`
}

Attributes for the App Runner Service.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

serviceAttributes := &serviceAttributes{
	serviceArn: jsii.String("serviceArn"),
	serviceName: jsii.String("serviceName"),
	serviceStatus: jsii.String("serviceStatus"),
	serviceUrl: jsii.String("serviceUrl"),
}

Experimental.

type ServiceProps

type ServiceProps struct {
	// The source of the repository for the service.
	// Experimental.
	Source Source `field:"required" json:"source" yaml:"source"`
	// The IAM role that grants the App Runner service access to a source repository.
	//
	// It's required for ECR image repositories (but not for ECR Public repositories).
	//
	// The role must be assumable by the 'build.apprunner.amazonaws.com' service principal.
	// See: https://docs.aws.amazon.com/apprunner/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-roles-service.access
	//
	// Experimental.
	AccessRole awsiam.IRole `field:"optional" json:"accessRole" yaml:"accessRole"`
	// The number of CPU units reserved for each instance of your App Runner service.
	// Experimental.
	Cpu Cpu `field:"optional" json:"cpu" yaml:"cpu"`
	// The IAM role that provides permissions to your App Runner service.
	//
	// These are permissions that your code needs when it calls any AWS APIs.
	//
	// The role must be assumable by the 'tasks.apprunner.amazonaws.com' service principal.
	// See: https://docs.aws.amazon.com/apprunner/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-roles-service.instance
	//
	// Experimental.
	InstanceRole awsiam.IRole `field:"optional" json:"instanceRole" yaml:"instanceRole"`
	// The amount of memory reserved for each instance of your App Runner service.
	// Experimental.
	Memory Memory `field:"optional" json:"memory" yaml:"memory"`
	// Name of the service.
	// Experimental.
	ServiceName *string `field:"optional" json:"serviceName" yaml:"serviceName"`
	// Settings for an App Runner VPC connector to associate with the service.
	// Experimental.
	VpcConnector IVpcConnector `field:"optional" json:"vpcConnector" yaml:"vpcConnector"`
}

Properties of the AppRunner Service.

Example:

import assets "github.com/aws/aws-cdk-go/awscdk"

imageAsset := assets.NewDockerImageAsset(this, jsii.String("ImageAssets"), &dockerImageAssetProps{
	directory: path.join(__dirname, jsii.String("./docker.assets")),
})
apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromAsset(&assetProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		asset: imageAsset,
	}),
})

Experimental.

type Source

type Source interface {
	// Called when the Job is initialized to allow this object to bind.
	// Experimental.
	Bind(scope constructs.Construct) *SourceConfig
}

Represents the App Runner service source.

Example:

import assets "github.com/aws/aws-cdk-go/awscdk"

imageAsset := assets.NewDockerImageAsset(this, jsii.String("ImageAssets"), &dockerImageAssetProps{
	directory: path.join(__dirname, jsii.String("./docker.assets")),
})
apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromAsset(&assetProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		asset: imageAsset,
	}),
})

Experimental.

type SourceCodeVersion

type SourceCodeVersion struct {
	// The type of version identifier.
	// Experimental.
	Type *string `field:"required" json:"type" yaml:"type"`
	// A source code version.
	// Experimental.
	Value *string `field:"required" json:"value" yaml:"value"`
}

Identifies a version of code that AWS App Runner refers to within a source code repository.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sourceCodeVersion := &sourceCodeVersion{
	type: jsii.String("type"),
	value: jsii.String("value"),
}

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourcecodeversion.html

Experimental.

type SourceConfig

type SourceConfig struct {
	// The code repository configuration (mutually exclusive  with `imageRepository`).
	// Experimental.
	CodeRepository *CodeRepositoryProps `field:"optional" json:"codeRepository" yaml:"codeRepository"`
	// The ECR repository (required to grant the pull privileges for the iam role).
	// Experimental.
	EcrRepository awsecr.IRepository `field:"optional" json:"ecrRepository" yaml:"ecrRepository"`
	// The image repository configuration (mutually exclusive  with `codeRepository`).
	// Experimental.
	ImageRepository *ImageRepository `field:"optional" json:"imageRepository" yaml:"imageRepository"`
}

Result of binding `Source` into a `Service`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var gitHubConnection gitHubConnection
var repository repository
var runtime runtime

sourceConfig := &sourceConfig{
	codeRepository: &codeRepositoryProps{
		codeConfiguration: &codeConfiguration{
			configurationSource: awscdk.Aws_apprunner.configurationSourceType_REPOSITORY,

			// the properties below are optional
			configurationValues: &codeConfigurationValues{
				runtime: runtime,

				// the properties below are optional
				buildCommand: jsii.String("buildCommand"),
				environment: map[string]*string{
					"environmentKey": jsii.String("environment"),
				},
				port: jsii.String("port"),
				startCommand: jsii.String("startCommand"),
			},
		},
		connection: gitHubConnection,
		repositoryUrl: jsii.String("repositoryUrl"),
		sourceCodeVersion: &sourceCodeVersion{
			type: jsii.String("type"),
			value: jsii.String("value"),
		},
	},
	ecrRepository: repository,
	imageRepository: &imageRepository{
		imageIdentifier: jsii.String("imageIdentifier"),
		imageRepositoryType: awscdk.*Aws_apprunner.imageRepositoryType_ECR_PUBLIC,

		// the properties below are optional
		imageConfiguration: &imageConfiguration{
			environment: map[string]*string{
				"environmentKey": jsii.String("environment"),
			},
			port: jsii.Number(123),
			startCommand: jsii.String("startCommand"),
		},
	},
}

Experimental.

type VpcConnector

type VpcConnector interface {
	awscdk.Resource
	IVpcConnector
	// Allows specifying security group connections for the VPC connector.
	// Experimental.
	Connections() awsec2.Connections
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//    cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// The ARN of the VPC connector.
	// Experimental.
	VpcConnectorArn() *string
	// The name of the VPC connector.
	// Experimental.
	VpcConnectorName() *string
	// The revision of the VPC connector.
	// Experimental.
	VpcConnectorRevision() *float64
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
}

The App Runner VPC Connector.

Example:

import ec2 "github.com/aws/aws-cdk-go/awscdk"

vpc := ec2.NewVpc(this, jsii.String("Vpc"), &vpcProps{
	cidr: jsii.String("10.0.0.0/16"),
})

vpcConnector := apprunner.NewVpcConnector(this, jsii.String("VpcConnector"), &vpcConnectorProps{
	vpc: vpc,
	vpcSubnets: vpc.selectSubnets(&subnetSelection{
		subnetType: ec2.subnetType_PUBLIC,
	}),
	vpcConnectorName: jsii.String("MyVpcConnector"),
})

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromEcrPublic(&ecrPublicProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		imageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
	}),
	vpcConnector: vpcConnector,
})

Experimental.

func NewVpcConnector

func NewVpcConnector(scope constructs.Construct, id *string, props *VpcConnectorProps) VpcConnector

Experimental.

type VpcConnectorAttributes

type VpcConnectorAttributes struct {
	// The security groups associated with the VPC connector.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `field:"required" json:"securityGroups" yaml:"securityGroups"`
	// The ARN of the VPC connector.
	// Experimental.
	VpcConnectorArn *string `field:"required" json:"vpcConnectorArn" yaml:"vpcConnectorArn"`
	// The name of the VPC connector.
	// Experimental.
	VpcConnectorName *string `field:"required" json:"vpcConnectorName" yaml:"vpcConnectorName"`
	// The revision of the VPC connector.
	// Experimental.
	VpcConnectorRevision *float64 `field:"required" json:"vpcConnectorRevision" yaml:"vpcConnectorRevision"`
}

Attributes for the App Runner VPC Connector.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var securityGroup securityGroup

vpcConnectorAttributes := &vpcConnectorAttributes{
	securityGroups: []iSecurityGroup{
		securityGroup,
	},
	vpcConnectorArn: jsii.String("vpcConnectorArn"),
	vpcConnectorName: jsii.String("vpcConnectorName"),
	vpcConnectorRevision: jsii.Number(123),
}

Experimental.

type VpcConnectorProps

type VpcConnectorProps struct {
	// The VPC for the VPC Connector.
	// Experimental.
	Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"`
	// A list of IDs of security groups that App Runner should use for access to AWS resources under the specified subnets.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"`
	// The name for the VpcConnector.
	// Experimental.
	VpcConnectorName *string `field:"optional" json:"vpcConnectorName" yaml:"vpcConnectorName"`
	// Where to place the VPC Connector within the VPC.
	// Experimental.
	VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"`
}

Properties of the AppRunner VPC Connector.

Example:

import ec2 "github.com/aws/aws-cdk-go/awscdk"

vpc := ec2.NewVpc(this, jsii.String("Vpc"), &vpcProps{
	cidr: jsii.String("10.0.0.0/16"),
})

vpcConnector := apprunner.NewVpcConnector(this, jsii.String("VpcConnector"), &vpcConnectorProps{
	vpc: vpc,
	vpcSubnets: vpc.selectSubnets(&subnetSelection{
		subnetType: ec2.subnetType_PUBLIC,
	}),
	vpcConnectorName: jsii.String("MyVpcConnector"),
})

apprunner.NewService(this, jsii.String("Service"), &serviceProps{
	source: apprunner.source.fromEcrPublic(&ecrPublicProps{
		imageConfiguration: &imageConfiguration{
			port: jsii.Number(8000),
		},
		imageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
	}),
	vpcConnector: vpcConnector,
})

Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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