awssam

package
v2.24.1 Latest Latest
Warning

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

Go to latest
Published: May 13, 2022 License: Apache-2.0 Imports: 6 Imported by: 2

README

AWS Serverless Application Model Construct Library

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

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

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

(Read the CDK Contributing Guide if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnApi_CFN_RESOURCE_TYPE_NAME

func CfnApi_CFN_RESOURCE_TYPE_NAME() *string

func CfnApi_IsCfnElement

func CfnApi_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.

func CfnApi_IsCfnResource

func CfnApi_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnApi_IsConstruct

func CfnApi_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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

func CfnApi_REQUIRED_TRANSFORM

func CfnApi_REQUIRED_TRANSFORM() *string

func CfnApplication_CFN_RESOURCE_TYPE_NAME

func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string

func CfnApplication_IsCfnElement

func CfnApplication_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.

func CfnApplication_IsCfnResource

func CfnApplication_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnApplication_IsConstruct

func CfnApplication_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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

func CfnApplication_REQUIRED_TRANSFORM

func CfnApplication_REQUIRED_TRANSFORM() *string

func CfnFunction_CFN_RESOURCE_TYPE_NAME

func CfnFunction_CFN_RESOURCE_TYPE_NAME() *string

func CfnFunction_IsCfnElement

func CfnFunction_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.

func CfnFunction_IsCfnResource

func CfnFunction_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnFunction_IsConstruct

func CfnFunction_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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

func CfnFunction_REQUIRED_TRANSFORM

func CfnFunction_REQUIRED_TRANSFORM() *string

func CfnHttpApi_CFN_RESOURCE_TYPE_NAME

func CfnHttpApi_CFN_RESOURCE_TYPE_NAME() *string

func CfnHttpApi_IsCfnElement

func CfnHttpApi_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.

func CfnHttpApi_IsCfnResource

func CfnHttpApi_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnHttpApi_IsConstruct

func CfnHttpApi_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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

func CfnHttpApi_REQUIRED_TRANSFORM

func CfnHttpApi_REQUIRED_TRANSFORM() *string

func CfnLayerVersion_CFN_RESOURCE_TYPE_NAME

func CfnLayerVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnLayerVersion_IsCfnElement

func CfnLayerVersion_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.

func CfnLayerVersion_IsCfnResource

func CfnLayerVersion_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnLayerVersion_IsConstruct

func CfnLayerVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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

func CfnLayerVersion_REQUIRED_TRANSFORM

func CfnLayerVersion_REQUIRED_TRANSFORM() *string

func CfnSimpleTable_CFN_RESOURCE_TYPE_NAME

func CfnSimpleTable_CFN_RESOURCE_TYPE_NAME() *string

func CfnSimpleTable_IsCfnElement

func CfnSimpleTable_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.

func CfnSimpleTable_IsCfnResource

func CfnSimpleTable_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnSimpleTable_IsConstruct

func CfnSimpleTable_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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

func CfnSimpleTable_REQUIRED_TRANSFORM

func CfnSimpleTable_REQUIRED_TRANSFORM() *string

func CfnStateMachine_CFN_RESOURCE_TYPE_NAME

func CfnStateMachine_CFN_RESOURCE_TYPE_NAME() *string

func CfnStateMachine_IsCfnElement

func CfnStateMachine_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.

func CfnStateMachine_IsCfnResource

func CfnStateMachine_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnStateMachine_IsConstruct

func CfnStateMachine_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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

func CfnStateMachine_REQUIRED_TRANSFORM

func CfnStateMachine_REQUIRED_TRANSFORM() *string

func NewCfnApi_Override

func NewCfnApi_Override(c CfnApi, scope constructs.Construct, id *string, props *CfnApiProps)

Create a new `AWS::Serverless::Api`.

func NewCfnApplication_Override

func NewCfnApplication_Override(c CfnApplication, scope constructs.Construct, id *string, props *CfnApplicationProps)

Create a new `AWS::Serverless::Application`.

func NewCfnFunction_Override

func NewCfnFunction_Override(c CfnFunction, scope constructs.Construct, id *string, props *CfnFunctionProps)

Create a new `AWS::Serverless::Function`.

func NewCfnHttpApi_Override

func NewCfnHttpApi_Override(c CfnHttpApi, scope constructs.Construct, id *string, props *CfnHttpApiProps)

Create a new `AWS::Serverless::HttpApi`.

func NewCfnLayerVersion_Override

func NewCfnLayerVersion_Override(c CfnLayerVersion, scope constructs.Construct, id *string, props *CfnLayerVersionProps)

Create a new `AWS::Serverless::LayerVersion`.

func NewCfnSimpleTable_Override

func NewCfnSimpleTable_Override(c CfnSimpleTable, scope constructs.Construct, id *string, props *CfnSimpleTableProps)

Create a new `AWS::Serverless::SimpleTable`.

func NewCfnStateMachine_Override

func NewCfnStateMachine_Override(c CfnStateMachine, scope constructs.Construct, id *string, props *CfnStateMachineProps)

Create a new `AWS::Serverless::StateMachine`.

Types

type CfnApi

type CfnApi interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// `AWS::Serverless::Api.AccessLogSetting`.
	AccessLogSetting() interface{}
	SetAccessLogSetting(val interface{})
	// `AWS::Serverless::Api.Auth`.
	Auth() interface{}
	SetAuth(val interface{})
	// `AWS::Serverless::Api.BinaryMediaTypes`.
	BinaryMediaTypes() *[]*string
	SetBinaryMediaTypes(val *[]*string)
	// `AWS::Serverless::Api.CacheClusterEnabled`.
	CacheClusterEnabled() interface{}
	SetCacheClusterEnabled(val interface{})
	// `AWS::Serverless::Api.CacheClusterSize`.
	CacheClusterSize() *string
	SetCacheClusterSize(val *string)
	// `AWS::Serverless::Api.CanarySetting`.
	CanarySetting() interface{}
	SetCanarySetting(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// `AWS::Serverless::Api.Cors`.
	Cors() interface{}
	SetCors(val interface{})
	// 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.
	CreationStack() *[]*string
	// `AWS::Serverless::Api.DefinitionBody`.
	DefinitionBody() interface{}
	SetDefinitionBody(val interface{})
	// `AWS::Serverless::Api.DefinitionUri`.
	DefinitionUri() interface{}
	SetDefinitionUri(val interface{})
	// `AWS::Serverless::Api.Description`.
	Description() *string
	SetDescription(val *string)
	// `AWS::Serverless::Api.Domain`.
	Domain() interface{}
	SetDomain(val interface{})
	// `AWS::Serverless::Api.EndpointConfiguration`.
	EndpointConfiguration() interface{}
	SetEndpointConfiguration(val interface{})
	// `AWS::Serverless::Api.GatewayResponses`.
	GatewayResponses() interface{}
	SetGatewayResponses(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.
	LogicalId() *string
	// `AWS::Serverless::Api.MethodSettings`.
	MethodSettings() interface{}
	SetMethodSettings(val interface{})
	// `AWS::Serverless::Api.MinimumCompressionSize`.
	MinimumCompressionSize() *float64
	SetMinimumCompressionSize(val *float64)
	// `AWS::Serverless::Api.Models`.
	Models() interface{}
	SetModels(val interface{})
	// `AWS::Serverless::Api.Name`.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// `AWS::Serverless::Api.OpenApiVersion`.
	OpenApiVersion() *string
	SetOpenApiVersion(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 })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::Serverless::Api.StageName`.
	StageName() *string
	SetStageName(val *string)
	// `AWS::Serverless::Api.Tags`.
	Tags() awscdk.TagManager
	// `AWS::Serverless::Api.TracingEnabled`.
	TracingEnabled() interface{}
	SetTracingEnabled(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.
	UpdatedProperites() *map[string]interface{}
	// `AWS::Serverless::Api.Variables`.
	Variables() interface{}
	SetVariables(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	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.
	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.
	//
	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.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	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`).
	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.
	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.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	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.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Serverless::Api`.

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 authorizers interface{}
var definitionBody interface{}
var gatewayResponses interface{}
var methodSettings interface{}
var models interface{}

cfnApi := awscdk.Aws_sam.NewCfnApi(this, jsii.String("MyCfnApi"), &cfnApiProps{
	stageName: jsii.String("stageName"),

	// the properties below are optional
	accessLogSetting: &accessLogSettingProperty{
		destinationArn: jsii.String("destinationArn"),
		format: jsii.String("format"),
	},
	auth: &authProperty{
		authorizers: authorizers,
		defaultAuthorizer: jsii.String("defaultAuthorizer"),
	},
	binaryMediaTypes: []*string{
		jsii.String("binaryMediaTypes"),
	},
	cacheClusterEnabled: jsii.Boolean(false),
	cacheClusterSize: jsii.String("cacheClusterSize"),
	canarySetting: &canarySettingProperty{
		deploymentId: jsii.String("deploymentId"),
		percentTraffic: jsii.Number(123),
		stageVariableOverrides: map[string]*string{
			"stageVariableOverridesKey": jsii.String("stageVariableOverrides"),
		},
		useStageCache: jsii.Boolean(false),
	},
	cors: jsii.String("cors"),
	definitionBody: definitionBody,
	definitionUri: jsii.String("definitionUri"),
	description: jsii.String("description"),
	domain: &domainConfigurationProperty{
		certificateArn: jsii.String("certificateArn"),
		domainName: jsii.String("domainName"),

		// the properties below are optional
		basePath: []*string{
			jsii.String("basePath"),
		},
		endpointConfiguration: jsii.String("endpointConfiguration"),
		mutualTlsAuthentication: &mutualTlsAuthenticationProperty{
			truststoreUri: jsii.String("truststoreUri"),
			truststoreVersion: jsii.String("truststoreVersion"),
		},
		ownershipVerificationCertificateArn: jsii.String("ownershipVerificationCertificateArn"),
		route53: &route53ConfigurationProperty{
			distributedDomainName: jsii.String("distributedDomainName"),
			evaluateTargetHealth: jsii.Boolean(false),
			hostedZoneId: jsii.String("hostedZoneId"),
			hostedZoneName: jsii.String("hostedZoneName"),
			ipV6: jsii.Boolean(false),
		},
		securityPolicy: jsii.String("securityPolicy"),
	},
	endpointConfiguration: jsii.String("endpointConfiguration"),
	gatewayResponses: gatewayResponses,
	methodSettings: []interface{}{
		methodSettings,
	},
	minimumCompressionSize: jsii.Number(123),
	models: models,
	name: jsii.String("name"),
	openApiVersion: jsii.String("openApiVersion"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	tracingEnabled: jsii.Boolean(false),
	variables: map[string]*string{
		"variablesKey": jsii.String("variables"),
	},
})

func NewCfnApi

func NewCfnApi(scope constructs.Construct, id *string, props *CfnApiProps) CfnApi

Create a new `AWS::Serverless::Api`.

type CfnApiProps

type CfnApiProps struct {
	// `AWS::Serverless::Api.StageName`.
	StageName *string `field:"required" json:"stageName" yaml:"stageName"`
	// `AWS::Serverless::Api.AccessLogSetting`.
	AccessLogSetting interface{} `field:"optional" json:"accessLogSetting" yaml:"accessLogSetting"`
	// `AWS::Serverless::Api.Auth`.
	Auth interface{} `field:"optional" json:"auth" yaml:"auth"`
	// `AWS::Serverless::Api.BinaryMediaTypes`.
	BinaryMediaTypes *[]*string `field:"optional" json:"binaryMediaTypes" yaml:"binaryMediaTypes"`
	// `AWS::Serverless::Api.CacheClusterEnabled`.
	CacheClusterEnabled interface{} `field:"optional" json:"cacheClusterEnabled" yaml:"cacheClusterEnabled"`
	// `AWS::Serverless::Api.CacheClusterSize`.
	CacheClusterSize *string `field:"optional" json:"cacheClusterSize" yaml:"cacheClusterSize"`
	// `AWS::Serverless::Api.CanarySetting`.
	CanarySetting interface{} `field:"optional" json:"canarySetting" yaml:"canarySetting"`
	// `AWS::Serverless::Api.Cors`.
	Cors interface{} `field:"optional" json:"cors" yaml:"cors"`
	// `AWS::Serverless::Api.DefinitionBody`.
	DefinitionBody interface{} `field:"optional" json:"definitionBody" yaml:"definitionBody"`
	// `AWS::Serverless::Api.DefinitionUri`.
	DefinitionUri interface{} `field:"optional" json:"definitionUri" yaml:"definitionUri"`
	// `AWS::Serverless::Api.Description`.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::Serverless::Api.Domain`.
	Domain interface{} `field:"optional" json:"domain" yaml:"domain"`
	// `AWS::Serverless::Api.EndpointConfiguration`.
	EndpointConfiguration interface{} `field:"optional" json:"endpointConfiguration" yaml:"endpointConfiguration"`
	// `AWS::Serverless::Api.GatewayResponses`.
	GatewayResponses interface{} `field:"optional" json:"gatewayResponses" yaml:"gatewayResponses"`
	// `AWS::Serverless::Api.MethodSettings`.
	MethodSettings interface{} `field:"optional" json:"methodSettings" yaml:"methodSettings"`
	// `AWS::Serverless::Api.MinimumCompressionSize`.
	MinimumCompressionSize *float64 `field:"optional" json:"minimumCompressionSize" yaml:"minimumCompressionSize"`
	// `AWS::Serverless::Api.Models`.
	Models interface{} `field:"optional" json:"models" yaml:"models"`
	// `AWS::Serverless::Api.Name`.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// `AWS::Serverless::Api.OpenApiVersion`.
	OpenApiVersion *string `field:"optional" json:"openApiVersion" yaml:"openApiVersion"`
	// `AWS::Serverless::Api.Tags`.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// `AWS::Serverless::Api.TracingEnabled`.
	TracingEnabled interface{} `field:"optional" json:"tracingEnabled" yaml:"tracingEnabled"`
	// `AWS::Serverless::Api.Variables`.
	Variables interface{} `field:"optional" json:"variables" yaml:"variables"`
}

Properties for defining a `CfnApi`.

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 authorizers interface{}
var definitionBody interface{}
var gatewayResponses interface{}
var methodSettings interface{}
var models interface{}

cfnApiProps := &cfnApiProps{
	stageName: jsii.String("stageName"),

	// the properties below are optional
	accessLogSetting: &accessLogSettingProperty{
		destinationArn: jsii.String("destinationArn"),
		format: jsii.String("format"),
	},
	auth: &authProperty{
		authorizers: authorizers,
		defaultAuthorizer: jsii.String("defaultAuthorizer"),
	},
	binaryMediaTypes: []*string{
		jsii.String("binaryMediaTypes"),
	},
	cacheClusterEnabled: jsii.Boolean(false),
	cacheClusterSize: jsii.String("cacheClusterSize"),
	canarySetting: &canarySettingProperty{
		deploymentId: jsii.String("deploymentId"),
		percentTraffic: jsii.Number(123),
		stageVariableOverrides: map[string]*string{
			"stageVariableOverridesKey": jsii.String("stageVariableOverrides"),
		},
		useStageCache: jsii.Boolean(false),
	},
	cors: jsii.String("cors"),
	definitionBody: definitionBody,
	definitionUri: jsii.String("definitionUri"),
	description: jsii.String("description"),
	domain: &domainConfigurationProperty{
		certificateArn: jsii.String("certificateArn"),
		domainName: jsii.String("domainName"),

		// the properties below are optional
		basePath: []*string{
			jsii.String("basePath"),
		},
		endpointConfiguration: jsii.String("endpointConfiguration"),
		mutualTlsAuthentication: &mutualTlsAuthenticationProperty{
			truststoreUri: jsii.String("truststoreUri"),
			truststoreVersion: jsii.String("truststoreVersion"),
		},
		ownershipVerificationCertificateArn: jsii.String("ownershipVerificationCertificateArn"),
		route53: &route53ConfigurationProperty{
			distributedDomainName: jsii.String("distributedDomainName"),
			evaluateTargetHealth: jsii.Boolean(false),
			hostedZoneId: jsii.String("hostedZoneId"),
			hostedZoneName: jsii.String("hostedZoneName"),
			ipV6: jsii.Boolean(false),
		},
		securityPolicy: jsii.String("securityPolicy"),
	},
	endpointConfiguration: jsii.String("endpointConfiguration"),
	gatewayResponses: gatewayResponses,
	methodSettings: []interface{}{
		methodSettings,
	},
	minimumCompressionSize: jsii.Number(123),
	models: models,
	name: jsii.String("name"),
	openApiVersion: jsii.String("openApiVersion"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	tracingEnabled: jsii.Boolean(false),
	variables: map[string]*string{
		"variablesKey": jsii.String("variables"),
	},
}

type CfnApi_AccessLogSettingProperty

type CfnApi_AccessLogSettingProperty struct {
	// `CfnApi.AccessLogSettingProperty.DestinationArn`.
	DestinationArn *string `field:"optional" json:"destinationArn" yaml:"destinationArn"`
	// `CfnApi.AccessLogSettingProperty.Format`.
	Format *string `field:"optional" json:"format" yaml:"format"`
}

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"

accessLogSettingProperty := &accessLogSettingProperty{
	destinationArn: jsii.String("destinationArn"),
	format: jsii.String("format"),
}

type CfnApi_AuthProperty

type CfnApi_AuthProperty struct {
	// `CfnApi.AuthProperty.Authorizers`.
	Authorizers interface{} `field:"optional" json:"authorizers" yaml:"authorizers"`
	// `CfnApi.AuthProperty.DefaultAuthorizer`.
	DefaultAuthorizer *string `field:"optional" json:"defaultAuthorizer" yaml:"defaultAuthorizer"`
}

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 authorizers interface{}

authProperty := &authProperty{
	authorizers: authorizers,
	defaultAuthorizer: jsii.String("defaultAuthorizer"),
}

type CfnApi_CanarySettingProperty

type CfnApi_CanarySettingProperty struct {
	// `CfnApi.CanarySettingProperty.DeploymentId`.
	DeploymentId *string `field:"optional" json:"deploymentId" yaml:"deploymentId"`
	// `CfnApi.CanarySettingProperty.PercentTraffic`.
	PercentTraffic *float64 `field:"optional" json:"percentTraffic" yaml:"percentTraffic"`
	// `CfnApi.CanarySettingProperty.StageVariableOverrides`.
	StageVariableOverrides interface{} `field:"optional" json:"stageVariableOverrides" yaml:"stageVariableOverrides"`
	// `CfnApi.CanarySettingProperty.UseStageCache`.
	UseStageCache interface{} `field:"optional" json:"useStageCache" yaml:"useStageCache"`
}

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"

canarySettingProperty := &canarySettingProperty{
	deploymentId: jsii.String("deploymentId"),
	percentTraffic: jsii.Number(123),
	stageVariableOverrides: map[string]*string{
		"stageVariableOverridesKey": jsii.String("stageVariableOverrides"),
	},
	useStageCache: jsii.Boolean(false),
}

type CfnApi_CorsConfigurationProperty

type CfnApi_CorsConfigurationProperty struct {
	// `CfnApi.CorsConfigurationProperty.AllowOrigin`.
	AllowOrigin *string `field:"required" json:"allowOrigin" yaml:"allowOrigin"`
	// `CfnApi.CorsConfigurationProperty.AllowCredentials`.
	AllowCredentials interface{} `field:"optional" json:"allowCredentials" yaml:"allowCredentials"`
	// `CfnApi.CorsConfigurationProperty.AllowHeaders`.
	AllowHeaders *string `field:"optional" json:"allowHeaders" yaml:"allowHeaders"`
	// `CfnApi.CorsConfigurationProperty.AllowMethods`.
	AllowMethods *string `field:"optional" json:"allowMethods" yaml:"allowMethods"`
	// `CfnApi.CorsConfigurationProperty.MaxAge`.
	MaxAge *string `field:"optional" json:"maxAge" yaml:"maxAge"`
}

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"

corsConfigurationProperty := &corsConfigurationProperty{
	allowOrigin: jsii.String("allowOrigin"),

	// the properties below are optional
	allowCredentials: jsii.Boolean(false),
	allowHeaders: jsii.String("allowHeaders"),
	allowMethods: jsii.String("allowMethods"),
	maxAge: jsii.String("maxAge"),
}

type CfnApi_DomainConfigurationProperty added in v2.23.0

type CfnApi_DomainConfigurationProperty struct {
	// `CfnApi.DomainConfigurationProperty.CertificateArn`.
	CertificateArn *string `field:"required" json:"certificateArn" yaml:"certificateArn"`
	// `CfnApi.DomainConfigurationProperty.DomainName`.
	DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
	// `CfnApi.DomainConfigurationProperty.BasePath`.
	BasePath *[]*string `field:"optional" json:"basePath" yaml:"basePath"`
	// `CfnApi.DomainConfigurationProperty.EndpointConfiguration`.
	EndpointConfiguration *string `field:"optional" json:"endpointConfiguration" yaml:"endpointConfiguration"`
	// `CfnApi.DomainConfigurationProperty.MutualTlsAuthentication`.
	MutualTlsAuthentication interface{} `field:"optional" json:"mutualTlsAuthentication" yaml:"mutualTlsAuthentication"`
	// `CfnApi.DomainConfigurationProperty.OwnershipVerificationCertificateArn`.
	OwnershipVerificationCertificateArn *string `field:"optional" json:"ownershipVerificationCertificateArn" yaml:"ownershipVerificationCertificateArn"`
	// `CfnApi.DomainConfigurationProperty.Route53`.
	Route53 interface{} `field:"optional" json:"route53" yaml:"route53"`
	// `CfnApi.DomainConfigurationProperty.SecurityPolicy`.
	SecurityPolicy *string `field:"optional" json:"securityPolicy" yaml:"securityPolicy"`
}

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"

domainConfigurationProperty := &domainConfigurationProperty{
	certificateArn: jsii.String("certificateArn"),
	domainName: jsii.String("domainName"),

	// the properties below are optional
	basePath: []*string{
		jsii.String("basePath"),
	},
	endpointConfiguration: jsii.String("endpointConfiguration"),
	mutualTlsAuthentication: &mutualTlsAuthenticationProperty{
		truststoreUri: jsii.String("truststoreUri"),
		truststoreVersion: jsii.String("truststoreVersion"),
	},
	ownershipVerificationCertificateArn: jsii.String("ownershipVerificationCertificateArn"),
	route53: &route53ConfigurationProperty{
		distributedDomainName: jsii.String("distributedDomainName"),
		evaluateTargetHealth: jsii.Boolean(false),
		hostedZoneId: jsii.String("hostedZoneId"),
		hostedZoneName: jsii.String("hostedZoneName"),
		ipV6: jsii.Boolean(false),
	},
	securityPolicy: jsii.String("securityPolicy"),
}

type CfnApi_EndpointConfigurationProperty

type CfnApi_EndpointConfigurationProperty struct {
	// `CfnApi.EndpointConfigurationProperty.Type`.
	Type *string `field:"optional" json:"type" yaml:"type"`
	// `CfnApi.EndpointConfigurationProperty.VpcEndpointIds`.
	VpcEndpointIds *[]*string `field:"optional" json:"vpcEndpointIds" yaml:"vpcEndpointIds"`
}

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"

endpointConfigurationProperty := &endpointConfigurationProperty{
	type: jsii.String("type"),
	vpcEndpointIds: []*string{
		jsii.String("vpcEndpointIds"),
	},
}

type CfnApi_MutualTlsAuthenticationProperty added in v2.23.0

type CfnApi_MutualTlsAuthenticationProperty struct {
	// `CfnApi.MutualTlsAuthenticationProperty.TruststoreUri`.
	TruststoreUri *string `field:"optional" json:"truststoreUri" yaml:"truststoreUri"`
	// `CfnApi.MutualTlsAuthenticationProperty.TruststoreVersion`.
	TruststoreVersion *string `field:"optional" json:"truststoreVersion" yaml:"truststoreVersion"`
}

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"

mutualTlsAuthenticationProperty := &mutualTlsAuthenticationProperty{
	truststoreUri: jsii.String("truststoreUri"),
	truststoreVersion: jsii.String("truststoreVersion"),
}

type CfnApi_Route53ConfigurationProperty added in v2.23.0

type CfnApi_Route53ConfigurationProperty struct {
	// `CfnApi.Route53ConfigurationProperty.DistributedDomainName`.
	DistributedDomainName *string `field:"optional" json:"distributedDomainName" yaml:"distributedDomainName"`
	// `CfnApi.Route53ConfigurationProperty.EvaluateTargetHealth`.
	EvaluateTargetHealth interface{} `field:"optional" json:"evaluateTargetHealth" yaml:"evaluateTargetHealth"`
	// `CfnApi.Route53ConfigurationProperty.HostedZoneId`.
	HostedZoneId *string `field:"optional" json:"hostedZoneId" yaml:"hostedZoneId"`
	// `CfnApi.Route53ConfigurationProperty.HostedZoneName`.
	HostedZoneName *string `field:"optional" json:"hostedZoneName" yaml:"hostedZoneName"`
	// `CfnApi.Route53ConfigurationProperty.IpV6`.
	IpV6 interface{} `field:"optional" json:"ipV6" yaml:"ipV6"`
}

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"

route53ConfigurationProperty := &route53ConfigurationProperty{
	distributedDomainName: jsii.String("distributedDomainName"),
	evaluateTargetHealth: jsii.Boolean(false),
	hostedZoneId: jsii.String("hostedZoneId"),
	hostedZoneName: jsii.String("hostedZoneName"),
	ipV6: jsii.Boolean(false),
}

type CfnApi_S3LocationProperty

type CfnApi_S3LocationProperty struct {
	// `CfnApi.S3LocationProperty.Bucket`.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// `CfnApi.S3LocationProperty.Key`.
	Key *string `field:"required" json:"key" yaml:"key"`
	// `CfnApi.S3LocationProperty.Version`.
	Version *float64 `field:"required" json:"version" yaml:"version"`
}

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"

s3LocationProperty := &s3LocationProperty{
	bucket: jsii.String("bucket"),
	key: jsii.String("key"),
	version: jsii.Number(123),
}

type CfnApplication

type CfnApplication interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	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.
	CreationStack() *[]*string
	// `AWS::Serverless::Application.Location`.
	Location() interface{}
	SetLocation(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.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// `AWS::Serverless::Application.NotificationArns`.
	NotificationArns() *[]*string
	SetNotificationArns(val *[]*string)
	// `AWS::Serverless::Application.Parameters`.
	Parameters() interface{}
	SetParameters(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 })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::Serverless::Application.Tags`.
	Tags() awscdk.TagManager
	// `AWS::Serverless::Application.TimeoutInMinutes`.
	TimeoutInMinutes() *float64
	SetTimeoutInMinutes(val *float64)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	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.
	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.
	//
	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.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	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`).
	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.
	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.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	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.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Serverless::Application`.

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"

cfnApplication := awscdk.Aws_sam.NewCfnApplication(this, jsii.String("MyCfnApplication"), &cfnApplicationProps{
	location: jsii.String("location"),

	// the properties below are optional
	notificationArns: []*string{
		jsii.String("notificationArns"),
	},
	parameters: map[string]*string{
		"parametersKey": jsii.String("parameters"),
	},
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	timeoutInMinutes: jsii.Number(123),
})

func NewCfnApplication

func NewCfnApplication(scope constructs.Construct, id *string, props *CfnApplicationProps) CfnApplication

Create a new `AWS::Serverless::Application`.

type CfnApplicationProps

type CfnApplicationProps struct {
	// `AWS::Serverless::Application.Location`.
	Location interface{} `field:"required" json:"location" yaml:"location"`
	// `AWS::Serverless::Application.NotificationArns`.
	NotificationArns *[]*string `field:"optional" json:"notificationArns" yaml:"notificationArns"`
	// `AWS::Serverless::Application.Parameters`.
	Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
	// `AWS::Serverless::Application.Tags`.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// `AWS::Serverless::Application.TimeoutInMinutes`.
	TimeoutInMinutes *float64 `field:"optional" json:"timeoutInMinutes" yaml:"timeoutInMinutes"`
}

Properties for defining a `CfnApplication`.

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"

cfnApplicationProps := &cfnApplicationProps{
	location: jsii.String("location"),

	// the properties below are optional
	notificationArns: []*string{
		jsii.String("notificationArns"),
	},
	parameters: map[string]*string{
		"parametersKey": jsii.String("parameters"),
	},
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	timeoutInMinutes: jsii.Number(123),
}

type CfnApplication_ApplicationLocationProperty

type CfnApplication_ApplicationLocationProperty struct {
	// `CfnApplication.ApplicationLocationProperty.ApplicationId`.
	ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"`
	// `CfnApplication.ApplicationLocationProperty.SemanticVersion`.
	SemanticVersion *string `field:"required" json:"semanticVersion" yaml:"semanticVersion"`
}

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"

applicationLocationProperty := &applicationLocationProperty{
	applicationId: jsii.String("applicationId"),
	semanticVersion: jsii.String("semanticVersion"),
}

type CfnFunction

type CfnFunction interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// `AWS::Serverless::Function.Architectures`.
	Architectures() *[]*string
	SetArchitectures(val *[]*string)
	// `AWS::Serverless::Function.AssumeRolePolicyDocument`.
	AssumeRolePolicyDocument() interface{}
	SetAssumeRolePolicyDocument(val interface{})
	// `AWS::Serverless::Function.AutoPublishAlias`.
	AutoPublishAlias() *string
	SetAutoPublishAlias(val *string)
	// `AWS::Serverless::Function.AutoPublishCodeSha256`.
	AutoPublishCodeSha256() *string
	SetAutoPublishCodeSha256(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// `AWS::Serverless::Function.CodeSigningConfigArn`.
	CodeSigningConfigArn() *string
	SetCodeSigningConfigArn(val *string)
	// `AWS::Serverless::Function.CodeUri`.
	CodeUri() interface{}
	SetCodeUri(val interface{})
	// 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.
	CreationStack() *[]*string
	// `AWS::Serverless::Function.DeadLetterQueue`.
	DeadLetterQueue() interface{}
	SetDeadLetterQueue(val interface{})
	// `AWS::Serverless::Function.DeploymentPreference`.
	DeploymentPreference() interface{}
	SetDeploymentPreference(val interface{})
	// `AWS::Serverless::Function.Description`.
	Description() *string
	SetDescription(val *string)
	// `AWS::Serverless::Function.Environment`.
	Environment() interface{}
	SetEnvironment(val interface{})
	// `AWS::Serverless::Function.EventInvokeConfig`.
	EventInvokeConfig() interface{}
	SetEventInvokeConfig(val interface{})
	// `AWS::Serverless::Function.Events`.
	Events() interface{}
	SetEvents(val interface{})
	// `AWS::Serverless::Function.FileSystemConfigs`.
	FileSystemConfigs() interface{}
	SetFileSystemConfigs(val interface{})
	// `AWS::Serverless::Function.FunctionName`.
	FunctionName() *string
	SetFunctionName(val *string)
	// `AWS::Serverless::Function.Handler`.
	Handler() *string
	SetHandler(val *string)
	// `AWS::Serverless::Function.ImageConfig`.
	ImageConfig() interface{}
	SetImageConfig(val interface{})
	// `AWS::Serverless::Function.ImageUri`.
	ImageUri() *string
	SetImageUri(val *string)
	// `AWS::Serverless::Function.InlineCode`.
	InlineCode() *string
	SetInlineCode(val *string)
	// `AWS::Serverless::Function.KmsKeyArn`.
	KmsKeyArn() *string
	SetKmsKeyArn(val *string)
	// `AWS::Serverless::Function.Layers`.
	Layers() *[]*string
	SetLayers(val *[]*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.
	LogicalId() *string
	// `AWS::Serverless::Function.MemorySize`.
	MemorySize() *float64
	SetMemorySize(val *float64)
	// The tree node.
	Node() constructs.Node
	// `AWS::Serverless::Function.PackageType`.
	PackageType() *string
	SetPackageType(val *string)
	// `AWS::Serverless::Function.PermissionsBoundary`.
	PermissionsBoundary() *string
	SetPermissionsBoundary(val *string)
	// `AWS::Serverless::Function.Policies`.
	Policies() interface{}
	SetPolicies(val interface{})
	// `AWS::Serverless::Function.ProvisionedConcurrencyConfig`.
	ProvisionedConcurrencyConfig() interface{}
	SetProvisionedConcurrencyConfig(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 })`.
	Ref() *string
	// `AWS::Serverless::Function.ReservedConcurrentExecutions`.
	ReservedConcurrentExecutions() *float64
	SetReservedConcurrentExecutions(val *float64)
	// `AWS::Serverless::Function.Role`.
	Role() *string
	SetRole(val *string)
	// `AWS::Serverless::Function.Runtime`.
	Runtime() *string
	SetRuntime(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::Serverless::Function.Tags`.
	Tags() awscdk.TagManager
	// `AWS::Serverless::Function.Timeout`.
	Timeout() *float64
	SetTimeout(val *float64)
	// `AWS::Serverless::Function.Tracing`.
	Tracing() *string
	SetTracing(val *string)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// `AWS::Serverless::Function.VersionDescription`.
	VersionDescription() *string
	SetVersionDescription(val *string)
	// `AWS::Serverless::Function.VpcConfig`.
	VpcConfig() interface{}
	SetVpcConfig(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	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.
	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.
	//
	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.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	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`).
	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.
	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.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	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.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Serverless::Function`.

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 assumeRolePolicyDocument interface{}

cfnFunction := awscdk.Aws_sam.NewCfnFunction(this, jsii.String("MyCfnFunction"), &cfnFunctionProps{
	architectures: []*string{
		jsii.String("architectures"),
	},
	assumeRolePolicyDocument: assumeRolePolicyDocument,
	autoPublishAlias: jsii.String("autoPublishAlias"),
	autoPublishCodeSha256: jsii.String("autoPublishCodeSha256"),
	codeSigningConfigArn: jsii.String("codeSigningConfigArn"),
	codeUri: jsii.String("codeUri"),
	deadLetterQueue: &deadLetterQueueProperty{
		targetArn: jsii.String("targetArn"),
		type: jsii.String("type"),
	},
	deploymentPreference: &deploymentPreferenceProperty{
		enabled: jsii.Boolean(false),
		type: jsii.String("type"),

		// the properties below are optional
		alarms: []*string{
			jsii.String("alarms"),
		},
		hooks: &hooksProperty{
			postTraffic: jsii.String("postTraffic"),
			preTraffic: jsii.String("preTraffic"),
		},
	},
	description: jsii.String("description"),
	environment: &functionEnvironmentProperty{
		variables: map[string]*string{
			"variablesKey": jsii.String("variables"),
		},
	},
	eventInvokeConfig: &eventInvokeConfigProperty{
		destinationConfig: &eventInvokeDestinationConfigProperty{
			onFailure: &destinationProperty{
				destination: jsii.String("destination"),

				// the properties below are optional
				type: jsii.String("type"),
			},
			onSuccess: &destinationProperty{
				destination: jsii.String("destination"),

				// the properties below are optional
				type: jsii.String("type"),
			},
		},
		maximumEventAgeInSeconds: jsii.Number(123),
		maximumRetryAttempts: jsii.Number(123),
	},
	events: map[string]interface{}{
		"eventsKey": &EventSourceProperty{
			"properties": &S3EventProperty{
				"variables": map[string]*string{
					"variablesKey": jsii.String("variables"),
				},
			},
			"type": jsii.String("type"),
		},
	},
	fileSystemConfigs: []interface{}{
		&fileSystemConfigProperty{
			arn: jsii.String("arn"),
			localMountPath: jsii.String("localMountPath"),
		},
	},
	functionName: jsii.String("functionName"),
	handler: jsii.String("handler"),
	imageConfig: &imageConfigProperty{
		command: []*string{
			jsii.String("command"),
		},
		entryPoint: []*string{
			jsii.String("entryPoint"),
		},
		workingDirectory: jsii.String("workingDirectory"),
	},
	imageUri: jsii.String("imageUri"),
	inlineCode: jsii.String("inlineCode"),
	kmsKeyArn: jsii.String("kmsKeyArn"),
	layers: []*string{
		jsii.String("layers"),
	},
	memorySize: jsii.Number(123),
	packageType: jsii.String("packageType"),
	permissionsBoundary: jsii.String("permissionsBoundary"),
	policies: jsii.String("policies"),
	provisionedConcurrencyConfig: &provisionedConcurrencyConfigProperty{
		provisionedConcurrentExecutions: jsii.String("provisionedConcurrentExecutions"),
	},
	reservedConcurrentExecutions: jsii.Number(123),
	role: jsii.String("role"),
	runtime: jsii.String("runtime"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	timeout: jsii.Number(123),
	tracing: jsii.String("tracing"),
	versionDescription: jsii.String("versionDescription"),
	vpcConfig: &vpcConfigProperty{
		securityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		subnetIds: []*string{
			jsii.String("subnetIds"),
		},
	},
})

func NewCfnFunction

func NewCfnFunction(scope constructs.Construct, id *string, props *CfnFunctionProps) CfnFunction

Create a new `AWS::Serverless::Function`.

type CfnFunctionProps

type CfnFunctionProps struct {
	// `AWS::Serverless::Function.Architectures`.
	Architectures *[]*string `field:"optional" json:"architectures" yaml:"architectures"`
	// `AWS::Serverless::Function.AssumeRolePolicyDocument`.
	AssumeRolePolicyDocument interface{} `field:"optional" json:"assumeRolePolicyDocument" yaml:"assumeRolePolicyDocument"`
	// `AWS::Serverless::Function.AutoPublishAlias`.
	AutoPublishAlias *string `field:"optional" json:"autoPublishAlias" yaml:"autoPublishAlias"`
	// `AWS::Serverless::Function.AutoPublishCodeSha256`.
	AutoPublishCodeSha256 *string `field:"optional" json:"autoPublishCodeSha256" yaml:"autoPublishCodeSha256"`
	// `AWS::Serverless::Function.CodeSigningConfigArn`.
	CodeSigningConfigArn *string `field:"optional" json:"codeSigningConfigArn" yaml:"codeSigningConfigArn"`
	// `AWS::Serverless::Function.CodeUri`.
	CodeUri interface{} `field:"optional" json:"codeUri" yaml:"codeUri"`
	// `AWS::Serverless::Function.DeadLetterQueue`.
	DeadLetterQueue interface{} `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"`
	// `AWS::Serverless::Function.DeploymentPreference`.
	DeploymentPreference interface{} `field:"optional" json:"deploymentPreference" yaml:"deploymentPreference"`
	// `AWS::Serverless::Function.Description`.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::Serverless::Function.Environment`.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// `AWS::Serverless::Function.EventInvokeConfig`.
	EventInvokeConfig interface{} `field:"optional" json:"eventInvokeConfig" yaml:"eventInvokeConfig"`
	// `AWS::Serverless::Function.Events`.
	Events interface{} `field:"optional" json:"events" yaml:"events"`
	// `AWS::Serverless::Function.FileSystemConfigs`.
	FileSystemConfigs interface{} `field:"optional" json:"fileSystemConfigs" yaml:"fileSystemConfigs"`
	// `AWS::Serverless::Function.FunctionName`.
	FunctionName *string `field:"optional" json:"functionName" yaml:"functionName"`
	// `AWS::Serverless::Function.Handler`.
	Handler *string `field:"optional" json:"handler" yaml:"handler"`
	// `AWS::Serverless::Function.ImageConfig`.
	ImageConfig interface{} `field:"optional" json:"imageConfig" yaml:"imageConfig"`
	// `AWS::Serverless::Function.ImageUri`.
	ImageUri *string `field:"optional" json:"imageUri" yaml:"imageUri"`
	// `AWS::Serverless::Function.InlineCode`.
	InlineCode *string `field:"optional" json:"inlineCode" yaml:"inlineCode"`
	// `AWS::Serverless::Function.KmsKeyArn`.
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
	// `AWS::Serverless::Function.Layers`.
	Layers *[]*string `field:"optional" json:"layers" yaml:"layers"`
	// `AWS::Serverless::Function.MemorySize`.
	MemorySize *float64 `field:"optional" json:"memorySize" yaml:"memorySize"`
	// `AWS::Serverless::Function.PackageType`.
	PackageType *string `field:"optional" json:"packageType" yaml:"packageType"`
	// `AWS::Serverless::Function.PermissionsBoundary`.
	PermissionsBoundary *string `field:"optional" json:"permissionsBoundary" yaml:"permissionsBoundary"`
	// `AWS::Serverless::Function.Policies`.
	Policies interface{} `field:"optional" json:"policies" yaml:"policies"`
	// `AWS::Serverless::Function.ProvisionedConcurrencyConfig`.
	ProvisionedConcurrencyConfig interface{} `field:"optional" json:"provisionedConcurrencyConfig" yaml:"provisionedConcurrencyConfig"`
	// `AWS::Serverless::Function.ReservedConcurrentExecutions`.
	ReservedConcurrentExecutions *float64 `field:"optional" json:"reservedConcurrentExecutions" yaml:"reservedConcurrentExecutions"`
	// `AWS::Serverless::Function.Role`.
	Role *string `field:"optional" json:"role" yaml:"role"`
	// `AWS::Serverless::Function.Runtime`.
	Runtime *string `field:"optional" json:"runtime" yaml:"runtime"`
	// `AWS::Serverless::Function.Tags`.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// `AWS::Serverless::Function.Timeout`.
	Timeout *float64 `field:"optional" json:"timeout" yaml:"timeout"`
	// `AWS::Serverless::Function.Tracing`.
	Tracing *string `field:"optional" json:"tracing" yaml:"tracing"`
	// `AWS::Serverless::Function.VersionDescription`.
	VersionDescription *string `field:"optional" json:"versionDescription" yaml:"versionDescription"`
	// `AWS::Serverless::Function.VpcConfig`.
	VpcConfig interface{} `field:"optional" json:"vpcConfig" yaml:"vpcConfig"`
}

Properties for defining a `CfnFunction`.

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 assumeRolePolicyDocument interface{}

cfnFunctionProps := &cfnFunctionProps{
	architectures: []*string{
		jsii.String("architectures"),
	},
	assumeRolePolicyDocument: assumeRolePolicyDocument,
	autoPublishAlias: jsii.String("autoPublishAlias"),
	autoPublishCodeSha256: jsii.String("autoPublishCodeSha256"),
	codeSigningConfigArn: jsii.String("codeSigningConfigArn"),
	codeUri: jsii.String("codeUri"),
	deadLetterQueue: &deadLetterQueueProperty{
		targetArn: jsii.String("targetArn"),
		type: jsii.String("type"),
	},
	deploymentPreference: &deploymentPreferenceProperty{
		enabled: jsii.Boolean(false),
		type: jsii.String("type"),

		// the properties below are optional
		alarms: []*string{
			jsii.String("alarms"),
		},
		hooks: &hooksProperty{
			postTraffic: jsii.String("postTraffic"),
			preTraffic: jsii.String("preTraffic"),
		},
	},
	description: jsii.String("description"),
	environment: &functionEnvironmentProperty{
		variables: map[string]*string{
			"variablesKey": jsii.String("variables"),
		},
	},
	eventInvokeConfig: &eventInvokeConfigProperty{
		destinationConfig: &eventInvokeDestinationConfigProperty{
			onFailure: &destinationProperty{
				destination: jsii.String("destination"),

				// the properties below are optional
				type: jsii.String("type"),
			},
			onSuccess: &destinationProperty{
				destination: jsii.String("destination"),

				// the properties below are optional
				type: jsii.String("type"),
			},
		},
		maximumEventAgeInSeconds: jsii.Number(123),
		maximumRetryAttempts: jsii.Number(123),
	},
	events: map[string]interface{}{
		"eventsKey": &EventSourceProperty{
			"properties": &S3EventProperty{
				"variables": map[string]*string{
					"variablesKey": jsii.String("variables"),
				},
			},
			"type": jsii.String("type"),
		},
	},
	fileSystemConfigs: []interface{}{
		&fileSystemConfigProperty{
			arn: jsii.String("arn"),
			localMountPath: jsii.String("localMountPath"),
		},
	},
	functionName: jsii.String("functionName"),
	handler: jsii.String("handler"),
	imageConfig: &imageConfigProperty{
		command: []*string{
			jsii.String("command"),
		},
		entryPoint: []*string{
			jsii.String("entryPoint"),
		},
		workingDirectory: jsii.String("workingDirectory"),
	},
	imageUri: jsii.String("imageUri"),
	inlineCode: jsii.String("inlineCode"),
	kmsKeyArn: jsii.String("kmsKeyArn"),
	layers: []*string{
		jsii.String("layers"),
	},
	memorySize: jsii.Number(123),
	packageType: jsii.String("packageType"),
	permissionsBoundary: jsii.String("permissionsBoundary"),
	policies: jsii.String("policies"),
	provisionedConcurrencyConfig: &provisionedConcurrencyConfigProperty{
		provisionedConcurrentExecutions: jsii.String("provisionedConcurrentExecutions"),
	},
	reservedConcurrentExecutions: jsii.Number(123),
	role: jsii.String("role"),
	runtime: jsii.String("runtime"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	timeout: jsii.Number(123),
	tracing: jsii.String("tracing"),
	versionDescription: jsii.String("versionDescription"),
	vpcConfig: &vpcConfigProperty{
		securityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		subnetIds: []*string{
			jsii.String("subnetIds"),
		},
	},
}

type CfnFunction_AlexaSkillEventProperty

type CfnFunction_AlexaSkillEventProperty struct {
	// `CfnFunction.AlexaSkillEventProperty.Variables`.
	Variables interface{} `field:"optional" json:"variables" yaml:"variables"`
}

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"

alexaSkillEventProperty := &alexaSkillEventProperty{
	variables: map[string]*string{
		"variablesKey": jsii.String("variables"),
	},
}

type CfnFunction_ApiEventProperty

type CfnFunction_ApiEventProperty struct {
	// `CfnFunction.ApiEventProperty.Method`.
	Method *string `field:"required" json:"method" yaml:"method"`
	// `CfnFunction.ApiEventProperty.Path`.
	Path *string `field:"required" json:"path" yaml:"path"`
	// `CfnFunction.ApiEventProperty.Auth`.
	Auth interface{} `field:"optional" json:"auth" yaml:"auth"`
	// `CfnFunction.ApiEventProperty.RestApiId`.
	RestApiId *string `field:"optional" json:"restApiId" yaml:"restApiId"`
}

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 customStatements interface{}

apiEventProperty := &apiEventProperty{
	method: jsii.String("method"),
	path: jsii.String("path"),

	// the properties below are optional
	auth: &authProperty{
		apiKeyRequired: jsii.Boolean(false),
		authorizationScopes: []*string{
			jsii.String("authorizationScopes"),
		},
		authorizer: jsii.String("authorizer"),
		resourcePolicy: &authResourcePolicyProperty{
			awsAccountBlacklist: []*string{
				jsii.String("awsAccountBlacklist"),
			},
			awsAccountWhitelist: []*string{
				jsii.String("awsAccountWhitelist"),
			},
			customStatements: []interface{}{
				customStatements,
			},
			intrinsicVpcBlacklist: []*string{
				jsii.String("intrinsicVpcBlacklist"),
			},
			intrinsicVpceBlacklist: []*string{
				jsii.String("intrinsicVpceBlacklist"),
			},
			intrinsicVpceWhitelist: []*string{
				jsii.String("intrinsicVpceWhitelist"),
			},
			intrinsicVpcWhitelist: []*string{
				jsii.String("intrinsicVpcWhitelist"),
			},
			ipRangeBlacklist: []*string{
				jsii.String("ipRangeBlacklist"),
			},
			ipRangeWhitelist: []*string{
				jsii.String("ipRangeWhitelist"),
			},
			sourceVpcBlacklist: []*string{
				jsii.String("sourceVpcBlacklist"),
			},
			sourceVpcWhitelist: []*string{
				jsii.String("sourceVpcWhitelist"),
			},
		},
	},
	restApiId: jsii.String("restApiId"),
}

type CfnFunction_AuthProperty

type CfnFunction_AuthProperty struct {
	// `CfnFunction.AuthProperty.ApiKeyRequired`.
	ApiKeyRequired interface{} `field:"optional" json:"apiKeyRequired" yaml:"apiKeyRequired"`
	// `CfnFunction.AuthProperty.AuthorizationScopes`.
	AuthorizationScopes *[]*string `field:"optional" json:"authorizationScopes" yaml:"authorizationScopes"`
	// `CfnFunction.AuthProperty.Authorizer`.
	Authorizer *string `field:"optional" json:"authorizer" yaml:"authorizer"`
	// `CfnFunction.AuthProperty.ResourcePolicy`.
	ResourcePolicy interface{} `field:"optional" json:"resourcePolicy" yaml:"resourcePolicy"`
}

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 customStatements interface{}

authProperty := &authProperty{
	apiKeyRequired: jsii.Boolean(false),
	authorizationScopes: []*string{
		jsii.String("authorizationScopes"),
	},
	authorizer: jsii.String("authorizer"),
	resourcePolicy: &authResourcePolicyProperty{
		awsAccountBlacklist: []*string{
			jsii.String("awsAccountBlacklist"),
		},
		awsAccountWhitelist: []*string{
			jsii.String("awsAccountWhitelist"),
		},
		customStatements: []interface{}{
			customStatements,
		},
		intrinsicVpcBlacklist: []*string{
			jsii.String("intrinsicVpcBlacklist"),
		},
		intrinsicVpceBlacklist: []*string{
			jsii.String("intrinsicVpceBlacklist"),
		},
		intrinsicVpceWhitelist: []*string{
			jsii.String("intrinsicVpceWhitelist"),
		},
		intrinsicVpcWhitelist: []*string{
			jsii.String("intrinsicVpcWhitelist"),
		},
		ipRangeBlacklist: []*string{
			jsii.String("ipRangeBlacklist"),
		},
		ipRangeWhitelist: []*string{
			jsii.String("ipRangeWhitelist"),
		},
		sourceVpcBlacklist: []*string{
			jsii.String("sourceVpcBlacklist"),
		},
		sourceVpcWhitelist: []*string{
			jsii.String("sourceVpcWhitelist"),
		},
	},
}

type CfnFunction_AuthResourcePolicyProperty

type CfnFunction_AuthResourcePolicyProperty struct {
	// `CfnFunction.AuthResourcePolicyProperty.AwsAccountBlacklist`.
	AwsAccountBlacklist *[]*string `field:"optional" json:"awsAccountBlacklist" yaml:"awsAccountBlacklist"`
	// `CfnFunction.AuthResourcePolicyProperty.AwsAccountWhitelist`.
	AwsAccountWhitelist *[]*string `field:"optional" json:"awsAccountWhitelist" yaml:"awsAccountWhitelist"`
	// `CfnFunction.AuthResourcePolicyProperty.CustomStatements`.
	CustomStatements interface{} `field:"optional" json:"customStatements" yaml:"customStatements"`
	// `CfnFunction.AuthResourcePolicyProperty.IntrinsicVpcBlacklist`.
	IntrinsicVpcBlacklist *[]*string `field:"optional" json:"intrinsicVpcBlacklist" yaml:"intrinsicVpcBlacklist"`
	// `CfnFunction.AuthResourcePolicyProperty.IntrinsicVpceBlacklist`.
	IntrinsicVpceBlacklist *[]*string `field:"optional" json:"intrinsicVpceBlacklist" yaml:"intrinsicVpceBlacklist"`
	// `CfnFunction.AuthResourcePolicyProperty.IntrinsicVpceWhitelist`.
	IntrinsicVpceWhitelist *[]*string `field:"optional" json:"intrinsicVpceWhitelist" yaml:"intrinsicVpceWhitelist"`
	// `CfnFunction.AuthResourcePolicyProperty.IntrinsicVpcWhitelist`.
	IntrinsicVpcWhitelist *[]*string `field:"optional" json:"intrinsicVpcWhitelist" yaml:"intrinsicVpcWhitelist"`
	// `CfnFunction.AuthResourcePolicyProperty.IpRangeBlacklist`.
	IpRangeBlacklist *[]*string `field:"optional" json:"ipRangeBlacklist" yaml:"ipRangeBlacklist"`
	// `CfnFunction.AuthResourcePolicyProperty.IpRangeWhitelist`.
	IpRangeWhitelist *[]*string `field:"optional" json:"ipRangeWhitelist" yaml:"ipRangeWhitelist"`
	// `CfnFunction.AuthResourcePolicyProperty.SourceVpcBlacklist`.
	SourceVpcBlacklist *[]*string `field:"optional" json:"sourceVpcBlacklist" yaml:"sourceVpcBlacklist"`
	// `CfnFunction.AuthResourcePolicyProperty.SourceVpcWhitelist`.
	SourceVpcWhitelist *[]*string `field:"optional" json:"sourceVpcWhitelist" yaml:"sourceVpcWhitelist"`
}

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 customStatements interface{}

authResourcePolicyProperty := &authResourcePolicyProperty{
	awsAccountBlacklist: []*string{
		jsii.String("awsAccountBlacklist"),
	},
	awsAccountWhitelist: []*string{
		jsii.String("awsAccountWhitelist"),
	},
	customStatements: []interface{}{
		customStatements,
	},
	intrinsicVpcBlacklist: []*string{
		jsii.String("intrinsicVpcBlacklist"),
	},
	intrinsicVpceBlacklist: []*string{
		jsii.String("intrinsicVpceBlacklist"),
	},
	intrinsicVpceWhitelist: []*string{
		jsii.String("intrinsicVpceWhitelist"),
	},
	intrinsicVpcWhitelist: []*string{
		jsii.String("intrinsicVpcWhitelist"),
	},
	ipRangeBlacklist: []*string{
		jsii.String("ipRangeBlacklist"),
	},
	ipRangeWhitelist: []*string{
		jsii.String("ipRangeWhitelist"),
	},
	sourceVpcBlacklist: []*string{
		jsii.String("sourceVpcBlacklist"),
	},
	sourceVpcWhitelist: []*string{
		jsii.String("sourceVpcWhitelist"),
	},
}

type CfnFunction_BucketSAMPTProperty

type CfnFunction_BucketSAMPTProperty struct {
	// `CfnFunction.BucketSAMPTProperty.BucketName`.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
}

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"

bucketSAMPTProperty := &bucketSAMPTProperty{
	bucketName: jsii.String("bucketName"),
}

type CfnFunction_CloudWatchEventEventProperty

type CfnFunction_CloudWatchEventEventProperty struct {
	// `CfnFunction.CloudWatchEventEventProperty.Pattern`.
	Pattern interface{} `field:"required" json:"pattern" yaml:"pattern"`
	// `CfnFunction.CloudWatchEventEventProperty.Input`.
	Input *string `field:"optional" json:"input" yaml:"input"`
	// `CfnFunction.CloudWatchEventEventProperty.InputPath`.
	InputPath *string `field:"optional" json:"inputPath" yaml:"inputPath"`
}

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 pattern interface{}

cloudWatchEventEventProperty := &cloudWatchEventEventProperty{
	pattern: pattern,

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

type CfnFunction_CloudWatchLogsEventProperty

type CfnFunction_CloudWatchLogsEventProperty struct {
	// `CfnFunction.CloudWatchLogsEventProperty.FilterPattern`.
	FilterPattern *string `field:"required" json:"filterPattern" yaml:"filterPattern"`
	// `CfnFunction.CloudWatchLogsEventProperty.LogGroupName`.
	LogGroupName *string `field:"required" json:"logGroupName" yaml:"logGroupName"`
}

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"

cloudWatchLogsEventProperty := &cloudWatchLogsEventProperty{
	filterPattern: jsii.String("filterPattern"),
	logGroupName: jsii.String("logGroupName"),
}

type CfnFunction_CollectionSAMPTProperty

type CfnFunction_CollectionSAMPTProperty struct {
	// `CfnFunction.CollectionSAMPTProperty.CollectionId`.
	CollectionId *string `field:"required" json:"collectionId" yaml:"collectionId"`
}

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"

collectionSAMPTProperty := &collectionSAMPTProperty{
	collectionId: jsii.String("collectionId"),
}

type CfnFunction_DeadLetterQueueProperty

type CfnFunction_DeadLetterQueueProperty struct {
	// `CfnFunction.DeadLetterQueueProperty.TargetArn`.
	TargetArn *string `field:"required" json:"targetArn" yaml:"targetArn"`
	// `CfnFunction.DeadLetterQueueProperty.Type`.
	Type *string `field:"required" json:"type" yaml:"type"`
}

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"

deadLetterQueueProperty := &deadLetterQueueProperty{
	targetArn: jsii.String("targetArn"),
	type: jsii.String("type"),
}

type CfnFunction_DeploymentPreferenceProperty

type CfnFunction_DeploymentPreferenceProperty struct {
	// `CfnFunction.DeploymentPreferenceProperty.Enabled`.
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
	// `CfnFunction.DeploymentPreferenceProperty.Type`.
	Type *string `field:"required" json:"type" yaml:"type"`
	// `CfnFunction.DeploymentPreferenceProperty.Alarms`.
	Alarms *[]*string `field:"optional" json:"alarms" yaml:"alarms"`
	// `CfnFunction.DeploymentPreferenceProperty.Hooks`.
	Hooks interface{} `field:"optional" json:"hooks" yaml:"hooks"`
}

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"

deploymentPreferenceProperty := &deploymentPreferenceProperty{
	enabled: jsii.Boolean(false),
	type: jsii.String("type"),

	// the properties below are optional
	alarms: []*string{
		jsii.String("alarms"),
	},
	hooks: &hooksProperty{
		postTraffic: jsii.String("postTraffic"),
		preTraffic: jsii.String("preTraffic"),
	},
}

type CfnFunction_DestinationConfigProperty

type CfnFunction_DestinationConfigProperty struct {
	// `CfnFunction.DestinationConfigProperty.OnFailure`.
	OnFailure interface{} `field:"required" json:"onFailure" yaml:"onFailure"`
}

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"

destinationConfigProperty := &destinationConfigProperty{
	onFailure: &destinationProperty{
		destination: jsii.String("destination"),

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

type CfnFunction_DestinationProperty

type CfnFunction_DestinationProperty struct {
	// `CfnFunction.DestinationProperty.Destination`.
	Destination *string `field:"required" json:"destination" yaml:"destination"`
	// `CfnFunction.DestinationProperty.Type`.
	Type *string `field:"optional" json:"type" yaml:"type"`
}

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"

destinationProperty := &destinationProperty{
	destination: jsii.String("destination"),

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

type CfnFunction_DomainSAMPTProperty

type CfnFunction_DomainSAMPTProperty struct {
	// `CfnFunction.DomainSAMPTProperty.DomainName`.
	DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
}

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"

domainSAMPTProperty := &domainSAMPTProperty{
	domainName: jsii.String("domainName"),
}

type CfnFunction_DynamoDBEventProperty

type CfnFunction_DynamoDBEventProperty struct {
	// `CfnFunction.DynamoDBEventProperty.StartingPosition`.
	StartingPosition *string `field:"required" json:"startingPosition" yaml:"startingPosition"`
	// `CfnFunction.DynamoDBEventProperty.Stream`.
	Stream *string `field:"required" json:"stream" yaml:"stream"`
	// `CfnFunction.DynamoDBEventProperty.BatchSize`.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// `CfnFunction.DynamoDBEventProperty.BisectBatchOnFunctionError`.
	BisectBatchOnFunctionError interface{} `field:"optional" json:"bisectBatchOnFunctionError" yaml:"bisectBatchOnFunctionError"`
	// `CfnFunction.DynamoDBEventProperty.DestinationConfig`.
	DestinationConfig interface{} `field:"optional" json:"destinationConfig" yaml:"destinationConfig"`
	// `CfnFunction.DynamoDBEventProperty.Enabled`.
	Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
	// `CfnFunction.DynamoDBEventProperty.MaximumBatchingWindowInSeconds`.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
	// `CfnFunction.DynamoDBEventProperty.MaximumRecordAgeInSeconds`.
	MaximumRecordAgeInSeconds *float64 `field:"optional" json:"maximumRecordAgeInSeconds" yaml:"maximumRecordAgeInSeconds"`
	// `CfnFunction.DynamoDBEventProperty.MaximumRetryAttempts`.
	MaximumRetryAttempts *float64 `field:"optional" json:"maximumRetryAttempts" yaml:"maximumRetryAttempts"`
	// `CfnFunction.DynamoDBEventProperty.ParallelizationFactor`.
	ParallelizationFactor *float64 `field:"optional" json:"parallelizationFactor" yaml:"parallelizationFactor"`
}

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"

dynamoDBEventProperty := &dynamoDBEventProperty{
	startingPosition: jsii.String("startingPosition"),
	stream: jsii.String("stream"),

	// the properties below are optional
	batchSize: jsii.Number(123),
	bisectBatchOnFunctionError: jsii.Boolean(false),
	destinationConfig: &destinationConfigProperty{
		onFailure: &destinationProperty{
			destination: jsii.String("destination"),

			// the properties below are optional
			type: jsii.String("type"),
		},
	},
	enabled: jsii.Boolean(false),
	maximumBatchingWindowInSeconds: jsii.Number(123),
	maximumRecordAgeInSeconds: jsii.Number(123),
	maximumRetryAttempts: jsii.Number(123),
	parallelizationFactor: jsii.Number(123),
}

type CfnFunction_EmptySAMPTProperty

type CfnFunction_EmptySAMPTProperty struct {
}

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"

emptySAMPTProperty := &emptySAMPTProperty{
}

type CfnFunction_EventBridgeRuleEventProperty

type CfnFunction_EventBridgeRuleEventProperty struct {
	// `CfnFunction.EventBridgeRuleEventProperty.Pattern`.
	Pattern interface{} `field:"required" json:"pattern" yaml:"pattern"`
	// `CfnFunction.EventBridgeRuleEventProperty.EventBusName`.
	EventBusName *string `field:"optional" json:"eventBusName" yaml:"eventBusName"`
	// `CfnFunction.EventBridgeRuleEventProperty.Input`.
	Input *string `field:"optional" json:"input" yaml:"input"`
	// `CfnFunction.EventBridgeRuleEventProperty.InputPath`.
	InputPath *string `field:"optional" json:"inputPath" yaml:"inputPath"`
}

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 pattern interface{}

eventBridgeRuleEventProperty := &eventBridgeRuleEventProperty{
	pattern: pattern,

	// the properties below are optional
	eventBusName: jsii.String("eventBusName"),
	input: jsii.String("input"),
	inputPath: jsii.String("inputPath"),
}

type CfnFunction_EventInvokeConfigProperty

type CfnFunction_EventInvokeConfigProperty struct {
	// `CfnFunction.EventInvokeConfigProperty.DestinationConfig`.
	DestinationConfig interface{} `field:"optional" json:"destinationConfig" yaml:"destinationConfig"`
	// `CfnFunction.EventInvokeConfigProperty.MaximumEventAgeInSeconds`.
	MaximumEventAgeInSeconds *float64 `field:"optional" json:"maximumEventAgeInSeconds" yaml:"maximumEventAgeInSeconds"`
	// `CfnFunction.EventInvokeConfigProperty.MaximumRetryAttempts`.
	MaximumRetryAttempts *float64 `field:"optional" json:"maximumRetryAttempts" yaml:"maximumRetryAttempts"`
}

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"

eventInvokeConfigProperty := &eventInvokeConfigProperty{
	destinationConfig: &eventInvokeDestinationConfigProperty{
		onFailure: &destinationProperty{
			destination: jsii.String("destination"),

			// the properties below are optional
			type: jsii.String("type"),
		},
		onSuccess: &destinationProperty{
			destination: jsii.String("destination"),

			// the properties below are optional
			type: jsii.String("type"),
		},
	},
	maximumEventAgeInSeconds: jsii.Number(123),
	maximumRetryAttempts: jsii.Number(123),
}

type CfnFunction_EventInvokeDestinationConfigProperty

type CfnFunction_EventInvokeDestinationConfigProperty struct {
	// `CfnFunction.EventInvokeDestinationConfigProperty.OnFailure`.
	OnFailure interface{} `field:"required" json:"onFailure" yaml:"onFailure"`
	// `CfnFunction.EventInvokeDestinationConfigProperty.OnSuccess`.
	OnSuccess interface{} `field:"required" json:"onSuccess" yaml:"onSuccess"`
}

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"

eventInvokeDestinationConfigProperty := &eventInvokeDestinationConfigProperty{
	onFailure: &destinationProperty{
		destination: jsii.String("destination"),

		// the properties below are optional
		type: jsii.String("type"),
	},
	onSuccess: &destinationProperty{
		destination: jsii.String("destination"),

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

type CfnFunction_EventSourceProperty

type CfnFunction_EventSourceProperty struct {
	// `CfnFunction.EventSourceProperty.Properties`.
	Properties interface{} `field:"required" json:"properties" yaml:"properties"`
	// `CfnFunction.EventSourceProperty.Type`.
	Type *string `field:"required" json:"type" yaml:"type"`
}

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"

eventSourceProperty := &eventSourceProperty{
	properties: &s3EventProperty{
		variables: map[string]*string{
			"variablesKey": jsii.String("variables"),
		},
	},
	type: jsii.String("type"),
}

type CfnFunction_FileSystemConfigProperty

type CfnFunction_FileSystemConfigProperty struct {
	// `CfnFunction.FileSystemConfigProperty.Arn`.
	Arn *string `field:"optional" json:"arn" yaml:"arn"`
	// `CfnFunction.FileSystemConfigProperty.LocalMountPath`.
	LocalMountPath *string `field:"optional" json:"localMountPath" yaml:"localMountPath"`
}

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"

fileSystemConfigProperty := &fileSystemConfigProperty{
	arn: jsii.String("arn"),
	localMountPath: jsii.String("localMountPath"),
}

type CfnFunction_FunctionEnvironmentProperty

type CfnFunction_FunctionEnvironmentProperty struct {
	// `CfnFunction.FunctionEnvironmentProperty.Variables`.
	Variables interface{} `field:"required" json:"variables" yaml:"variables"`
}

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"

functionEnvironmentProperty := &functionEnvironmentProperty{
	variables: map[string]*string{
		"variablesKey": jsii.String("variables"),
	},
}

type CfnFunction_FunctionSAMPTProperty

type CfnFunction_FunctionSAMPTProperty struct {
	// `CfnFunction.FunctionSAMPTProperty.FunctionName`.
	FunctionName *string `field:"required" json:"functionName" yaml:"functionName"`
}

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"

functionSAMPTProperty := &functionSAMPTProperty{
	functionName: jsii.String("functionName"),
}

type CfnFunction_HooksProperty added in v2.21.0

type CfnFunction_HooksProperty struct {
	// `CfnFunction.HooksProperty.PostTraffic`.
	PostTraffic *string `field:"optional" json:"postTraffic" yaml:"postTraffic"`
	// `CfnFunction.HooksProperty.PreTraffic`.
	PreTraffic *string `field:"optional" json:"preTraffic" yaml:"preTraffic"`
}

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"

hooksProperty := &hooksProperty{
	postTraffic: jsii.String("postTraffic"),
	preTraffic: jsii.String("preTraffic"),
}

type CfnFunction_IAMPolicyDocumentProperty

type CfnFunction_IAMPolicyDocumentProperty struct {
	// `CfnFunction.IAMPolicyDocumentProperty.Statement`.
	Statement interface{} `field:"required" json:"statement" yaml:"statement"`
}

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 statement interface{}

iAMPolicyDocumentProperty := map[string]interface{}{
	"statement": statement,
}

type CfnFunction_IdentitySAMPTProperty

type CfnFunction_IdentitySAMPTProperty struct {
	// `CfnFunction.IdentitySAMPTProperty.IdentityName`.
	IdentityName *string `field:"required" json:"identityName" yaml:"identityName"`
}

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"

identitySAMPTProperty := &identitySAMPTProperty{
	identityName: jsii.String("identityName"),
}

type CfnFunction_ImageConfigProperty

type CfnFunction_ImageConfigProperty struct {
	// `CfnFunction.ImageConfigProperty.Command`.
	Command *[]*string `field:"optional" json:"command" yaml:"command"`
	// `CfnFunction.ImageConfigProperty.EntryPoint`.
	EntryPoint *[]*string `field:"optional" json:"entryPoint" yaml:"entryPoint"`
	// `CfnFunction.ImageConfigProperty.WorkingDirectory`.
	WorkingDirectory *string `field:"optional" json:"workingDirectory" yaml:"workingDirectory"`
}

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"

imageConfigProperty := &imageConfigProperty{
	command: []*string{
		jsii.String("command"),
	},
	entryPoint: []*string{
		jsii.String("entryPoint"),
	},
	workingDirectory: jsii.String("workingDirectory"),
}

type CfnFunction_IoTRuleEventProperty

type CfnFunction_IoTRuleEventProperty struct {
	// `CfnFunction.IoTRuleEventProperty.Sql`.
	Sql *string `field:"required" json:"sql" yaml:"sql"`
	// `CfnFunction.IoTRuleEventProperty.AwsIotSqlVersion`.
	AwsIotSqlVersion *string `field:"optional" json:"awsIotSqlVersion" yaml:"awsIotSqlVersion"`
}

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"

ioTRuleEventProperty := &ioTRuleEventProperty{
	sql: jsii.String("sql"),

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

type CfnFunction_KeySAMPTProperty

type CfnFunction_KeySAMPTProperty struct {
	// `CfnFunction.KeySAMPTProperty.KeyId`.
	KeyId *string `field:"required" json:"keyId" yaml:"keyId"`
}

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"

keySAMPTProperty := &keySAMPTProperty{
	keyId: jsii.String("keyId"),
}

type CfnFunction_KinesisEventProperty

type CfnFunction_KinesisEventProperty struct {
	// `CfnFunction.KinesisEventProperty.StartingPosition`.
	StartingPosition *string `field:"required" json:"startingPosition" yaml:"startingPosition"`
	// `CfnFunction.KinesisEventProperty.Stream`.
	Stream *string `field:"required" json:"stream" yaml:"stream"`
	// `CfnFunction.KinesisEventProperty.BatchSize`.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// `CfnFunction.KinesisEventProperty.Enabled`.
	Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
}

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"

kinesisEventProperty := &kinesisEventProperty{
	startingPosition: jsii.String("startingPosition"),
	stream: jsii.String("stream"),

	// the properties below are optional
	batchSize: jsii.Number(123),
	enabled: jsii.Boolean(false),
}

type CfnFunction_LogGroupSAMPTProperty

type CfnFunction_LogGroupSAMPTProperty struct {
	// `CfnFunction.LogGroupSAMPTProperty.LogGroupName`.
	LogGroupName *string `field:"required" json:"logGroupName" yaml:"logGroupName"`
}

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"

logGroupSAMPTProperty := &logGroupSAMPTProperty{
	logGroupName: jsii.String("logGroupName"),
}

type CfnFunction_ParameterNameSAMPTProperty added in v2.23.0

type CfnFunction_ParameterNameSAMPTProperty struct {
	// `CfnFunction.ParameterNameSAMPTProperty.ParameterName`.
	ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"`
}

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"

parameterNameSAMPTProperty := &parameterNameSAMPTProperty{
	parameterName: jsii.String("parameterName"),
}

type CfnFunction_ProvisionedConcurrencyConfigProperty

type CfnFunction_ProvisionedConcurrencyConfigProperty struct {
	// `CfnFunction.ProvisionedConcurrencyConfigProperty.ProvisionedConcurrentExecutions`.
	ProvisionedConcurrentExecutions *string `field:"required" json:"provisionedConcurrentExecutions" yaml:"provisionedConcurrentExecutions"`
}

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"

provisionedConcurrencyConfigProperty := &provisionedConcurrencyConfigProperty{
	provisionedConcurrentExecutions: jsii.String("provisionedConcurrentExecutions"),
}

type CfnFunction_QueueSAMPTProperty

type CfnFunction_QueueSAMPTProperty struct {
	// `CfnFunction.QueueSAMPTProperty.QueueName`.
	QueueName *string `field:"required" json:"queueName" yaml:"queueName"`
}

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"

queueSAMPTProperty := &queueSAMPTProperty{
	queueName: jsii.String("queueName"),
}

type CfnFunction_S3EventProperty

type CfnFunction_S3EventProperty struct {
	// `CfnFunction.S3EventProperty.Bucket`.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// `CfnFunction.S3EventProperty.Events`.
	Events interface{} `field:"required" json:"events" yaml:"events"`
	// `CfnFunction.S3EventProperty.Filter`.
	Filter interface{} `field:"optional" json:"filter" yaml:"filter"`
}

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"

s3EventProperty := &s3EventProperty{
	bucket: jsii.String("bucket"),
	events: jsii.String("events"),

	// the properties below are optional
	filter: &s3NotificationFilterProperty{
		s3Key: &s3KeyFilterProperty{
			rules: []interface{}{
				&s3KeyFilterRuleProperty{
					name: jsii.String("name"),
					value: jsii.String("value"),
				},
			},
		},
	},
}

type CfnFunction_S3KeyFilterProperty

type CfnFunction_S3KeyFilterProperty struct {
	// `CfnFunction.S3KeyFilterProperty.Rules`.
	Rules interface{} `field:"required" json:"rules" yaml:"rules"`
}

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"

s3KeyFilterProperty := &s3KeyFilterProperty{
	rules: []interface{}{
		&s3KeyFilterRuleProperty{
			name: jsii.String("name"),
			value: jsii.String("value"),
		},
	},
}

type CfnFunction_S3KeyFilterRuleProperty

type CfnFunction_S3KeyFilterRuleProperty struct {
	// `CfnFunction.S3KeyFilterRuleProperty.Name`.
	Name *string `field:"required" json:"name" yaml:"name"`
	// `CfnFunction.S3KeyFilterRuleProperty.Value`.
	Value *string `field:"required" json:"value" yaml:"value"`
}

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"

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

type CfnFunction_S3LocationProperty

type CfnFunction_S3LocationProperty struct {
	// `CfnFunction.S3LocationProperty.Bucket`.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// `CfnFunction.S3LocationProperty.Key`.
	Key *string `field:"required" json:"key" yaml:"key"`
	// `CfnFunction.S3LocationProperty.Version`.
	Version *float64 `field:"optional" json:"version" yaml:"version"`
}

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"

s3LocationProperty := &s3LocationProperty{
	bucket: jsii.String("bucket"),
	key: jsii.String("key"),

	// the properties below are optional
	version: jsii.Number(123),
}

type CfnFunction_S3NotificationFilterProperty

type CfnFunction_S3NotificationFilterProperty struct {
	// `CfnFunction.S3NotificationFilterProperty.S3Key`.
	S3Key interface{} `field:"required" json:"s3Key" yaml:"s3Key"`
}

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"

s3NotificationFilterProperty := &s3NotificationFilterProperty{
	s3Key: &s3KeyFilterProperty{
		rules: []interface{}{
			&s3KeyFilterRuleProperty{
				name: jsii.String("name"),
				value: jsii.String("value"),
			},
		},
	},
}

type CfnFunction_SAMPolicyTemplateProperty

type CfnFunction_SAMPolicyTemplateProperty struct {
	// `CfnFunction.SAMPolicyTemplateProperty.AMIDescribePolicy`.
	AmiDescribePolicy interface{} `field:"optional" json:"amiDescribePolicy" yaml:"amiDescribePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.AWSSecretsManagerGetSecretValuePolicy`.
	AwsSecretsManagerGetSecretValuePolicy interface{} `field:"optional" json:"awsSecretsManagerGetSecretValuePolicy" yaml:"awsSecretsManagerGetSecretValuePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.CloudFormationDescribeStacksPolicy`.
	CloudFormationDescribeStacksPolicy interface{} `field:"optional" json:"cloudFormationDescribeStacksPolicy" yaml:"cloudFormationDescribeStacksPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.CloudWatchPutMetricPolicy`.
	CloudWatchPutMetricPolicy interface{} `field:"optional" json:"cloudWatchPutMetricPolicy" yaml:"cloudWatchPutMetricPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.DynamoDBCrudPolicy`.
	DynamoDbCrudPolicy interface{} `field:"optional" json:"dynamoDbCrudPolicy" yaml:"dynamoDbCrudPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.DynamoDBReadPolicy`.
	DynamoDbReadPolicy interface{} `field:"optional" json:"dynamoDbReadPolicy" yaml:"dynamoDbReadPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.DynamoDBStreamReadPolicy`.
	DynamoDbStreamReadPolicy interface{} `field:"optional" json:"dynamoDbStreamReadPolicy" yaml:"dynamoDbStreamReadPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.DynamoDBWritePolicy`.
	DynamoDbWritePolicy interface{} `field:"optional" json:"dynamoDbWritePolicy" yaml:"dynamoDbWritePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.EC2DescribePolicy`.
	Ec2DescribePolicy interface{} `field:"optional" json:"ec2DescribePolicy" yaml:"ec2DescribePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.ElasticsearchHttpPostPolicy`.
	ElasticsearchHttpPostPolicy interface{} `field:"optional" json:"elasticsearchHttpPostPolicy" yaml:"elasticsearchHttpPostPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.FilterLogEventsPolicy`.
	FilterLogEventsPolicy interface{} `field:"optional" json:"filterLogEventsPolicy" yaml:"filterLogEventsPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.KinesisCrudPolicy`.
	KinesisCrudPolicy interface{} `field:"optional" json:"kinesisCrudPolicy" yaml:"kinesisCrudPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.KinesisStreamReadPolicy`.
	KinesisStreamReadPolicy interface{} `field:"optional" json:"kinesisStreamReadPolicy" yaml:"kinesisStreamReadPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.KMSDecryptPolicy`.
	KmsDecryptPolicy interface{} `field:"optional" json:"kmsDecryptPolicy" yaml:"kmsDecryptPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.LambdaInvokePolicy`.
	LambdaInvokePolicy interface{} `field:"optional" json:"lambdaInvokePolicy" yaml:"lambdaInvokePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.RekognitionDetectOnlyPolicy`.
	RekognitionDetectOnlyPolicy interface{} `field:"optional" json:"rekognitionDetectOnlyPolicy" yaml:"rekognitionDetectOnlyPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.RekognitionLabelsPolicy`.
	RekognitionLabelsPolicy interface{} `field:"optional" json:"rekognitionLabelsPolicy" yaml:"rekognitionLabelsPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.RekognitionNoDataAccessPolicy`.
	RekognitionNoDataAccessPolicy interface{} `field:"optional" json:"rekognitionNoDataAccessPolicy" yaml:"rekognitionNoDataAccessPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.RekognitionReadPolicy`.
	RekognitionReadPolicy interface{} `field:"optional" json:"rekognitionReadPolicy" yaml:"rekognitionReadPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.RekognitionWriteOnlyAccessPolicy`.
	RekognitionWriteOnlyAccessPolicy interface{} `field:"optional" json:"rekognitionWriteOnlyAccessPolicy" yaml:"rekognitionWriteOnlyAccessPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.S3CrudPolicy`.
	S3CrudPolicy interface{} `field:"optional" json:"s3CrudPolicy" yaml:"s3CrudPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.S3ReadPolicy`.
	S3ReadPolicy interface{} `field:"optional" json:"s3ReadPolicy" yaml:"s3ReadPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.S3WritePolicy`.
	S3WritePolicy interface{} `field:"optional" json:"s3WritePolicy" yaml:"s3WritePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SESBulkTemplatedCrudPolicy`.
	SesBulkTemplatedCrudPolicy interface{} `field:"optional" json:"sesBulkTemplatedCrudPolicy" yaml:"sesBulkTemplatedCrudPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SESCrudPolicy`.
	SesCrudPolicy interface{} `field:"optional" json:"sesCrudPolicy" yaml:"sesCrudPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SESEmailTemplateCrudPolicy`.
	SesEmailTemplateCrudPolicy interface{} `field:"optional" json:"sesEmailTemplateCrudPolicy" yaml:"sesEmailTemplateCrudPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SESSendBouncePolicy`.
	SesSendBouncePolicy interface{} `field:"optional" json:"sesSendBouncePolicy" yaml:"sesSendBouncePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SNSCrudPolicy`.
	SnsCrudPolicy interface{} `field:"optional" json:"snsCrudPolicy" yaml:"snsCrudPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SNSPublishMessagePolicy`.
	SnsPublishMessagePolicy interface{} `field:"optional" json:"snsPublishMessagePolicy" yaml:"snsPublishMessagePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SQSPollerPolicy`.
	SqsPollerPolicy interface{} `field:"optional" json:"sqsPollerPolicy" yaml:"sqsPollerPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SQSSendMessagePolicy`.
	SqsSendMessagePolicy interface{} `field:"optional" json:"sqsSendMessagePolicy" yaml:"sqsSendMessagePolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.SSMParameterReadPolicy`.
	SsmParameterReadPolicy interface{} `field:"optional" json:"ssmParameterReadPolicy" yaml:"ssmParameterReadPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.StepFunctionsExecutionPolicy`.
	StepFunctionsExecutionPolicy interface{} `field:"optional" json:"stepFunctionsExecutionPolicy" yaml:"stepFunctionsExecutionPolicy"`
	// `CfnFunction.SAMPolicyTemplateProperty.VPCAccessPolicy`.
	VpcAccessPolicy interface{} `field:"optional" json:"vpcAccessPolicy" yaml:"vpcAccessPolicy"`
}

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"

sAMPolicyTemplateProperty := &sAMPolicyTemplateProperty{
	amiDescribePolicy: &emptySAMPTProperty{
	},
	awsSecretsManagerGetSecretValuePolicy: &secretArnSAMPTProperty{
		secretArn: jsii.String("secretArn"),
	},
	cloudFormationDescribeStacksPolicy: &emptySAMPTProperty{
	},
	cloudWatchPutMetricPolicy: &emptySAMPTProperty{
	},
	dynamoDbCrudPolicy: &tableSAMPTProperty{
		tableName: jsii.String("tableName"),
	},
	dynamoDbReadPolicy: &tableSAMPTProperty{
		tableName: jsii.String("tableName"),
	},
	dynamoDbStreamReadPolicy: &tableStreamSAMPTProperty{
		streamName: jsii.String("streamName"),
		tableName: jsii.String("tableName"),
	},
	dynamoDbWritePolicy: &tableSAMPTProperty{
		tableName: jsii.String("tableName"),
	},
	ec2DescribePolicy: &emptySAMPTProperty{
	},
	elasticsearchHttpPostPolicy: &domainSAMPTProperty{
		domainName: jsii.String("domainName"),
	},
	filterLogEventsPolicy: &logGroupSAMPTProperty{
		logGroupName: jsii.String("logGroupName"),
	},
	kinesisCrudPolicy: &streamSAMPTProperty{
		streamName: jsii.String("streamName"),
	},
	kinesisStreamReadPolicy: &streamSAMPTProperty{
		streamName: jsii.String("streamName"),
	},
	kmsDecryptPolicy: &keySAMPTProperty{
		keyId: jsii.String("keyId"),
	},
	lambdaInvokePolicy: &functionSAMPTProperty{
		functionName: jsii.String("functionName"),
	},
	rekognitionDetectOnlyPolicy: &emptySAMPTProperty{
	},
	rekognitionLabelsPolicy: &emptySAMPTProperty{
	},
	rekognitionNoDataAccessPolicy: &collectionSAMPTProperty{
		collectionId: jsii.String("collectionId"),
	},
	rekognitionReadPolicy: &collectionSAMPTProperty{
		collectionId: jsii.String("collectionId"),
	},
	rekognitionWriteOnlyAccessPolicy: &collectionSAMPTProperty{
		collectionId: jsii.String("collectionId"),
	},
	s3CrudPolicy: &bucketSAMPTProperty{
		bucketName: jsii.String("bucketName"),
	},
	s3ReadPolicy: &bucketSAMPTProperty{
		bucketName: jsii.String("bucketName"),
	},
	s3WritePolicy: &bucketSAMPTProperty{
		bucketName: jsii.String("bucketName"),
	},
	sesBulkTemplatedCrudPolicy: &identitySAMPTProperty{
		identityName: jsii.String("identityName"),
	},
	sesCrudPolicy: &identitySAMPTProperty{
		identityName: jsii.String("identityName"),
	},
	sesEmailTemplateCrudPolicy: &emptySAMPTProperty{
	},
	sesSendBouncePolicy: &identitySAMPTProperty{
		identityName: jsii.String("identityName"),
	},
	snsCrudPolicy: &topicSAMPTProperty{
		topicName: jsii.String("topicName"),
	},
	snsPublishMessagePolicy: &topicSAMPTProperty{
		topicName: jsii.String("topicName"),
	},
	sqsPollerPolicy: &queueSAMPTProperty{
		queueName: jsii.String("queueName"),
	},
	sqsSendMessagePolicy: &queueSAMPTProperty{
		queueName: jsii.String("queueName"),
	},
	ssmParameterReadPolicy: &parameterNameSAMPTProperty{
		parameterName: jsii.String("parameterName"),
	},
	stepFunctionsExecutionPolicy: &stateMachineSAMPTProperty{
		stateMachineName: jsii.String("stateMachineName"),
	},
	vpcAccessPolicy: &emptySAMPTProperty{
	},
}

type CfnFunction_SNSEventProperty

type CfnFunction_SNSEventProperty struct {
	// `CfnFunction.SNSEventProperty.Topic`.
	Topic *string `field:"required" json:"topic" yaml:"topic"`
}

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"

sNSEventProperty := &sNSEventProperty{
	topic: jsii.String("topic"),
}

type CfnFunction_SQSEventProperty

type CfnFunction_SQSEventProperty struct {
	// `CfnFunction.SQSEventProperty.Queue`.
	Queue *string `field:"required" json:"queue" yaml:"queue"`
	// `CfnFunction.SQSEventProperty.BatchSize`.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// `CfnFunction.SQSEventProperty.Enabled`.
	Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
}

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"

sQSEventProperty := &sQSEventProperty{
	queue: jsii.String("queue"),

	// the properties below are optional
	batchSize: jsii.Number(123),
	enabled: jsii.Boolean(false),
}

type CfnFunction_ScheduleEventProperty

type CfnFunction_ScheduleEventProperty struct {
	// `CfnFunction.ScheduleEventProperty.Schedule`.
	Schedule *string `field:"required" json:"schedule" yaml:"schedule"`
	// `CfnFunction.ScheduleEventProperty.Input`.
	Input *string `field:"optional" json:"input" yaml:"input"`
}

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"

scheduleEventProperty := &scheduleEventProperty{
	schedule: jsii.String("schedule"),

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

type CfnFunction_SecretArnSAMPTProperty added in v2.23.0

type CfnFunction_SecretArnSAMPTProperty struct {
	// `CfnFunction.SecretArnSAMPTProperty.SecretArn`.
	SecretArn *string `field:"required" json:"secretArn" yaml:"secretArn"`
}

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"

secretArnSAMPTProperty := &secretArnSAMPTProperty{
	secretArn: jsii.String("secretArn"),
}

type CfnFunction_StateMachineSAMPTProperty

type CfnFunction_StateMachineSAMPTProperty struct {
	// `CfnFunction.StateMachineSAMPTProperty.StateMachineName`.
	StateMachineName *string `field:"required" json:"stateMachineName" yaml:"stateMachineName"`
}

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"

stateMachineSAMPTProperty := &stateMachineSAMPTProperty{
	stateMachineName: jsii.String("stateMachineName"),
}

type CfnFunction_StreamSAMPTProperty

type CfnFunction_StreamSAMPTProperty struct {
	// `CfnFunction.StreamSAMPTProperty.StreamName`.
	StreamName *string `field:"required" json:"streamName" yaml:"streamName"`
}

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"

streamSAMPTProperty := &streamSAMPTProperty{
	streamName: jsii.String("streamName"),
}

type CfnFunction_TableSAMPTProperty

type CfnFunction_TableSAMPTProperty struct {
	// `CfnFunction.TableSAMPTProperty.TableName`.
	TableName *string `field:"required" json:"tableName" yaml:"tableName"`
}

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"

tableSAMPTProperty := &tableSAMPTProperty{
	tableName: jsii.String("tableName"),
}

type CfnFunction_TableStreamSAMPTProperty

type CfnFunction_TableStreamSAMPTProperty struct {
	// `CfnFunction.TableStreamSAMPTProperty.StreamName`.
	StreamName *string `field:"required" json:"streamName" yaml:"streamName"`
	// `CfnFunction.TableStreamSAMPTProperty.TableName`.
	TableName *string `field:"required" json:"tableName" yaml:"tableName"`
}

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"

tableStreamSAMPTProperty := &tableStreamSAMPTProperty{
	streamName: jsii.String("streamName"),
	tableName: jsii.String("tableName"),
}

type CfnFunction_TopicSAMPTProperty

type CfnFunction_TopicSAMPTProperty struct {
	// `CfnFunction.TopicSAMPTProperty.TopicName`.
	TopicName *string `field:"required" json:"topicName" yaml:"topicName"`
}

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"

topicSAMPTProperty := &topicSAMPTProperty{
	topicName: jsii.String("topicName"),
}

type CfnFunction_VpcConfigProperty

type CfnFunction_VpcConfigProperty struct {
	// `CfnFunction.VpcConfigProperty.SecurityGroupIds`.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// `CfnFunction.VpcConfigProperty.SubnetIds`.
	SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
}

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"

vpcConfigProperty := &vpcConfigProperty{
	securityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	subnetIds: []*string{
		jsii.String("subnetIds"),
	},
}

type CfnHttpApi

type CfnHttpApi interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// `AWS::Serverless::HttpApi.AccessLogSetting`.
	AccessLogSetting() interface{}
	SetAccessLogSetting(val interface{})
	// `AWS::Serverless::HttpApi.Auth`.
	Auth() interface{}
	SetAuth(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// `AWS::Serverless::HttpApi.CorsConfiguration`.
	CorsConfiguration() interface{}
	SetCorsConfiguration(val interface{})
	// 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.
	CreationStack() *[]*string
	// `AWS::Serverless::HttpApi.DefaultRouteSettings`.
	DefaultRouteSettings() interface{}
	SetDefaultRouteSettings(val interface{})
	// `AWS::Serverless::HttpApi.DefinitionBody`.
	DefinitionBody() interface{}
	SetDefinitionBody(val interface{})
	// `AWS::Serverless::HttpApi.DefinitionUri`.
	DefinitionUri() interface{}
	SetDefinitionUri(val interface{})
	// `AWS::Serverless::HttpApi.Description`.
	Description() *string
	SetDescription(val *string)
	// `AWS::Serverless::HttpApi.DisableExecuteApiEndpoint`.
	DisableExecuteApiEndpoint() interface{}
	SetDisableExecuteApiEndpoint(val interface{})
	// `AWS::Serverless::HttpApi.Domain`.
	Domain() interface{}
	SetDomain(val interface{})
	// `AWS::Serverless::HttpApi.FailOnWarnings`.
	FailOnWarnings() interface{}
	SetFailOnWarnings(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.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// 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 })`.
	Ref() *string
	// `AWS::Serverless::HttpApi.RouteSettings`.
	RouteSettings() interface{}
	SetRouteSettings(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::Serverless::HttpApi.StageName`.
	StageName() *string
	SetStageName(val *string)
	// `AWS::Serverless::HttpApi.StageVariables`.
	StageVariables() interface{}
	SetStageVariables(val interface{})
	// `AWS::Serverless::HttpApi.Tags`.
	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.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	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.
	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.
	//
	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.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	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`).
	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.
	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.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	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.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Serverless::HttpApi`.

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 authorizers interface{}
var definitionBody interface{}

cfnHttpApi := awscdk.Aws_sam.NewCfnHttpApi(this, jsii.String("MyCfnHttpApi"), &cfnHttpApiProps{
	accessLogSetting: &accessLogSettingProperty{
		destinationArn: jsii.String("destinationArn"),
		format: jsii.String("format"),
	},
	auth: &httpApiAuthProperty{
		authorizers: authorizers,
		defaultAuthorizer: jsii.String("defaultAuthorizer"),
	},
	corsConfiguration: jsii.Boolean(false),
	defaultRouteSettings: &routeSettingsProperty{
		dataTraceEnabled: jsii.Boolean(false),
		detailedMetricsEnabled: jsii.Boolean(false),
		loggingLevel: jsii.String("loggingLevel"),
		throttlingBurstLimit: jsii.Number(123),
		throttlingRateLimit: jsii.Number(123),
	},
	definitionBody: definitionBody,
	definitionUri: jsii.String("definitionUri"),
	description: jsii.String("description"),
	disableExecuteApiEndpoint: jsii.Boolean(false),
	domain: &httpApiDomainConfigurationProperty{
		certificateArn: jsii.String("certificateArn"),
		domainName: jsii.String("domainName"),

		// the properties below are optional
		basePath: jsii.String("basePath"),
		endpointConfiguration: jsii.String("endpointConfiguration"),
		mutualTlsAuthentication: &mutualTlsAuthenticationProperty{
			truststoreUri: jsii.String("truststoreUri"),
			truststoreVersion: jsii.Boolean(false),
		},
		route53: &route53ConfigurationProperty{
			distributedDomainName: jsii.String("distributedDomainName"),
			evaluateTargetHealth: jsii.Boolean(false),
			hostedZoneId: jsii.String("hostedZoneId"),
			hostedZoneName: jsii.String("hostedZoneName"),
			ipV6: jsii.Boolean(false),
		},
		securityPolicy: jsii.String("securityPolicy"),
	},
	failOnWarnings: jsii.Boolean(false),
	routeSettings: &routeSettingsProperty{
		dataTraceEnabled: jsii.Boolean(false),
		detailedMetricsEnabled: jsii.Boolean(false),
		loggingLevel: jsii.String("loggingLevel"),
		throttlingBurstLimit: jsii.Number(123),
		throttlingRateLimit: jsii.Number(123),
	},
	stageName: jsii.String("stageName"),
	stageVariables: map[string]*string{
		"stageVariablesKey": jsii.String("stageVariables"),
	},
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
})

func NewCfnHttpApi

func NewCfnHttpApi(scope constructs.Construct, id *string, props *CfnHttpApiProps) CfnHttpApi

Create a new `AWS::Serverless::HttpApi`.

type CfnHttpApiProps

type CfnHttpApiProps struct {
	// `AWS::Serverless::HttpApi.AccessLogSetting`.
	AccessLogSetting interface{} `field:"optional" json:"accessLogSetting" yaml:"accessLogSetting"`
	// `AWS::Serverless::HttpApi.Auth`.
	Auth interface{} `field:"optional" json:"auth" yaml:"auth"`
	// `AWS::Serverless::HttpApi.CorsConfiguration`.
	CorsConfiguration interface{} `field:"optional" json:"corsConfiguration" yaml:"corsConfiguration"`
	// `AWS::Serverless::HttpApi.DefaultRouteSettings`.
	DefaultRouteSettings interface{} `field:"optional" json:"defaultRouteSettings" yaml:"defaultRouteSettings"`
	// `AWS::Serverless::HttpApi.DefinitionBody`.
	DefinitionBody interface{} `field:"optional" json:"definitionBody" yaml:"definitionBody"`
	// `AWS::Serverless::HttpApi.DefinitionUri`.
	DefinitionUri interface{} `field:"optional" json:"definitionUri" yaml:"definitionUri"`
	// `AWS::Serverless::HttpApi.Description`.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::Serverless::HttpApi.DisableExecuteApiEndpoint`.
	DisableExecuteApiEndpoint interface{} `field:"optional" json:"disableExecuteApiEndpoint" yaml:"disableExecuteApiEndpoint"`
	// `AWS::Serverless::HttpApi.Domain`.
	Domain interface{} `field:"optional" json:"domain" yaml:"domain"`
	// `AWS::Serverless::HttpApi.FailOnWarnings`.
	FailOnWarnings interface{} `field:"optional" json:"failOnWarnings" yaml:"failOnWarnings"`
	// `AWS::Serverless::HttpApi.RouteSettings`.
	RouteSettings interface{} `field:"optional" json:"routeSettings" yaml:"routeSettings"`
	// `AWS::Serverless::HttpApi.StageName`.
	StageName *string `field:"optional" json:"stageName" yaml:"stageName"`
	// `AWS::Serverless::HttpApi.StageVariables`.
	StageVariables interface{} `field:"optional" json:"stageVariables" yaml:"stageVariables"`
	// `AWS::Serverless::HttpApi.Tags`.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnHttpApi`.

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 authorizers interface{}
var definitionBody interface{}

cfnHttpApiProps := &cfnHttpApiProps{
	accessLogSetting: &accessLogSettingProperty{
		destinationArn: jsii.String("destinationArn"),
		format: jsii.String("format"),
	},
	auth: &httpApiAuthProperty{
		authorizers: authorizers,
		defaultAuthorizer: jsii.String("defaultAuthorizer"),
	},
	corsConfiguration: jsii.Boolean(false),
	defaultRouteSettings: &routeSettingsProperty{
		dataTraceEnabled: jsii.Boolean(false),
		detailedMetricsEnabled: jsii.Boolean(false),
		loggingLevel: jsii.String("loggingLevel"),
		throttlingBurstLimit: jsii.Number(123),
		throttlingRateLimit: jsii.Number(123),
	},
	definitionBody: definitionBody,
	definitionUri: jsii.String("definitionUri"),
	description: jsii.String("description"),
	disableExecuteApiEndpoint: jsii.Boolean(false),
	domain: &httpApiDomainConfigurationProperty{
		certificateArn: jsii.String("certificateArn"),
		domainName: jsii.String("domainName"),

		// the properties below are optional
		basePath: jsii.String("basePath"),
		endpointConfiguration: jsii.String("endpointConfiguration"),
		mutualTlsAuthentication: &mutualTlsAuthenticationProperty{
			truststoreUri: jsii.String("truststoreUri"),
			truststoreVersion: jsii.Boolean(false),
		},
		route53: &route53ConfigurationProperty{
			distributedDomainName: jsii.String("distributedDomainName"),
			evaluateTargetHealth: jsii.Boolean(false),
			hostedZoneId: jsii.String("hostedZoneId"),
			hostedZoneName: jsii.String("hostedZoneName"),
			ipV6: jsii.Boolean(false),
		},
		securityPolicy: jsii.String("securityPolicy"),
	},
	failOnWarnings: jsii.Boolean(false),
	routeSettings: &routeSettingsProperty{
		dataTraceEnabled: jsii.Boolean(false),
		detailedMetricsEnabled: jsii.Boolean(false),
		loggingLevel: jsii.String("loggingLevel"),
		throttlingBurstLimit: jsii.Number(123),
		throttlingRateLimit: jsii.Number(123),
	},
	stageName: jsii.String("stageName"),
	stageVariables: map[string]*string{
		"stageVariablesKey": jsii.String("stageVariables"),
	},
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
}

type CfnHttpApi_AccessLogSettingProperty

type CfnHttpApi_AccessLogSettingProperty struct {
	// `CfnHttpApi.AccessLogSettingProperty.DestinationArn`.
	DestinationArn *string `field:"optional" json:"destinationArn" yaml:"destinationArn"`
	// `CfnHttpApi.AccessLogSettingProperty.Format`.
	Format *string `field:"optional" json:"format" yaml:"format"`
}

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"

accessLogSettingProperty := &accessLogSettingProperty{
	destinationArn: jsii.String("destinationArn"),
	format: jsii.String("format"),
}

type CfnHttpApi_CorsConfigurationObjectProperty

type CfnHttpApi_CorsConfigurationObjectProperty struct {
	// `CfnHttpApi.CorsConfigurationObjectProperty.AllowCredentials`.
	AllowCredentials interface{} `field:"optional" json:"allowCredentials" yaml:"allowCredentials"`
	// `CfnHttpApi.CorsConfigurationObjectProperty.AllowHeaders`.
	AllowHeaders *string `field:"optional" json:"allowHeaders" yaml:"allowHeaders"`
	// `CfnHttpApi.CorsConfigurationObjectProperty.AllowMethods`.
	AllowMethods *string `field:"optional" json:"allowMethods" yaml:"allowMethods"`
	// `CfnHttpApi.CorsConfigurationObjectProperty.AllowOrigin`.
	AllowOrigin *string `field:"optional" json:"allowOrigin" yaml:"allowOrigin"`
	// `CfnHttpApi.CorsConfigurationObjectProperty.ExposeHeaders`.
	ExposeHeaders *[]*string `field:"optional" json:"exposeHeaders" yaml:"exposeHeaders"`
	// `CfnHttpApi.CorsConfigurationObjectProperty.MaxAge`.
	MaxAge *string `field:"optional" json:"maxAge" yaml:"maxAge"`
}

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"

corsConfigurationObjectProperty := &corsConfigurationObjectProperty{
	allowCredentials: jsii.Boolean(false),
	allowHeaders: jsii.String("allowHeaders"),
	allowMethods: jsii.String("allowMethods"),
	allowOrigin: jsii.String("allowOrigin"),
	exposeHeaders: []*string{
		jsii.String("exposeHeaders"),
	},
	maxAge: jsii.String("maxAge"),
}

type CfnHttpApi_HttpApiAuthProperty

type CfnHttpApi_HttpApiAuthProperty struct {
	// `CfnHttpApi.HttpApiAuthProperty.Authorizers`.
	Authorizers interface{} `field:"optional" json:"authorizers" yaml:"authorizers"`
	// `CfnHttpApi.HttpApiAuthProperty.DefaultAuthorizer`.
	DefaultAuthorizer *string `field:"optional" json:"defaultAuthorizer" yaml:"defaultAuthorizer"`
}

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 authorizers interface{}

httpApiAuthProperty := &httpApiAuthProperty{
	authorizers: authorizers,
	defaultAuthorizer: jsii.String("defaultAuthorizer"),
}

type CfnHttpApi_HttpApiDomainConfigurationProperty

type CfnHttpApi_HttpApiDomainConfigurationProperty struct {
	// `CfnHttpApi.HttpApiDomainConfigurationProperty.CertificateArn`.
	CertificateArn *string `field:"required" json:"certificateArn" yaml:"certificateArn"`
	// `CfnHttpApi.HttpApiDomainConfigurationProperty.DomainName`.
	DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
	// `CfnHttpApi.HttpApiDomainConfigurationProperty.BasePath`.
	BasePath *string `field:"optional" json:"basePath" yaml:"basePath"`
	// `CfnHttpApi.HttpApiDomainConfigurationProperty.EndpointConfiguration`.
	EndpointConfiguration *string `field:"optional" json:"endpointConfiguration" yaml:"endpointConfiguration"`
	// `CfnHttpApi.HttpApiDomainConfigurationProperty.MutualTlsAuthentication`.
	MutualTlsAuthentication interface{} `field:"optional" json:"mutualTlsAuthentication" yaml:"mutualTlsAuthentication"`
	// `CfnHttpApi.HttpApiDomainConfigurationProperty.Route53`.
	Route53 interface{} `field:"optional" json:"route53" yaml:"route53"`
	// `CfnHttpApi.HttpApiDomainConfigurationProperty.SecurityPolicy`.
	SecurityPolicy *string `field:"optional" json:"securityPolicy" yaml:"securityPolicy"`
}

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"

httpApiDomainConfigurationProperty := &httpApiDomainConfigurationProperty{
	certificateArn: jsii.String("certificateArn"),
	domainName: jsii.String("domainName"),

	// the properties below are optional
	basePath: jsii.String("basePath"),
	endpointConfiguration: jsii.String("endpointConfiguration"),
	mutualTlsAuthentication: &mutualTlsAuthenticationProperty{
		truststoreUri: jsii.String("truststoreUri"),
		truststoreVersion: jsii.Boolean(false),
	},
	route53: &route53ConfigurationProperty{
		distributedDomainName: jsii.String("distributedDomainName"),
		evaluateTargetHealth: jsii.Boolean(false),
		hostedZoneId: jsii.String("hostedZoneId"),
		hostedZoneName: jsii.String("hostedZoneName"),
		ipV6: jsii.Boolean(false),
	},
	securityPolicy: jsii.String("securityPolicy"),
}

type CfnHttpApi_MutualTlsAuthenticationProperty

type CfnHttpApi_MutualTlsAuthenticationProperty struct {
	// `CfnHttpApi.MutualTlsAuthenticationProperty.TruststoreUri`.
	TruststoreUri *string `field:"optional" json:"truststoreUri" yaml:"truststoreUri"`
	// `CfnHttpApi.MutualTlsAuthenticationProperty.TruststoreVersion`.
	TruststoreVersion interface{} `field:"optional" json:"truststoreVersion" yaml:"truststoreVersion"`
}

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"

mutualTlsAuthenticationProperty := &mutualTlsAuthenticationProperty{
	truststoreUri: jsii.String("truststoreUri"),
	truststoreVersion: jsii.Boolean(false),
}

type CfnHttpApi_Route53ConfigurationProperty

type CfnHttpApi_Route53ConfigurationProperty struct {
	// `CfnHttpApi.Route53ConfigurationProperty.DistributedDomainName`.
	DistributedDomainName *string `field:"optional" json:"distributedDomainName" yaml:"distributedDomainName"`
	// `CfnHttpApi.Route53ConfigurationProperty.EvaluateTargetHealth`.
	EvaluateTargetHealth interface{} `field:"optional" json:"evaluateTargetHealth" yaml:"evaluateTargetHealth"`
	// `CfnHttpApi.Route53ConfigurationProperty.HostedZoneId`.
	HostedZoneId *string `field:"optional" json:"hostedZoneId" yaml:"hostedZoneId"`
	// `CfnHttpApi.Route53ConfigurationProperty.HostedZoneName`.
	HostedZoneName *string `field:"optional" json:"hostedZoneName" yaml:"hostedZoneName"`
	// `CfnHttpApi.Route53ConfigurationProperty.IpV6`.
	IpV6 interface{} `field:"optional" json:"ipV6" yaml:"ipV6"`
}

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"

route53ConfigurationProperty := &route53ConfigurationProperty{
	distributedDomainName: jsii.String("distributedDomainName"),
	evaluateTargetHealth: jsii.Boolean(false),
	hostedZoneId: jsii.String("hostedZoneId"),
	hostedZoneName: jsii.String("hostedZoneName"),
	ipV6: jsii.Boolean(false),
}

type CfnHttpApi_RouteSettingsProperty

type CfnHttpApi_RouteSettingsProperty struct {
	// `CfnHttpApi.RouteSettingsProperty.DataTraceEnabled`.
	DataTraceEnabled interface{} `field:"optional" json:"dataTraceEnabled" yaml:"dataTraceEnabled"`
	// `CfnHttpApi.RouteSettingsProperty.DetailedMetricsEnabled`.
	DetailedMetricsEnabled interface{} `field:"optional" json:"detailedMetricsEnabled" yaml:"detailedMetricsEnabled"`
	// `CfnHttpApi.RouteSettingsProperty.LoggingLevel`.
	LoggingLevel *string `field:"optional" json:"loggingLevel" yaml:"loggingLevel"`
	// `CfnHttpApi.RouteSettingsProperty.ThrottlingBurstLimit`.
	ThrottlingBurstLimit *float64 `field:"optional" json:"throttlingBurstLimit" yaml:"throttlingBurstLimit"`
	// `CfnHttpApi.RouteSettingsProperty.ThrottlingRateLimit`.
	ThrottlingRateLimit *float64 `field:"optional" json:"throttlingRateLimit" yaml:"throttlingRateLimit"`
}

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"

routeSettingsProperty := &routeSettingsProperty{
	dataTraceEnabled: jsii.Boolean(false),
	detailedMetricsEnabled: jsii.Boolean(false),
	loggingLevel: jsii.String("loggingLevel"),
	throttlingBurstLimit: jsii.Number(123),
	throttlingRateLimit: jsii.Number(123),
}

type CfnHttpApi_S3LocationProperty

type CfnHttpApi_S3LocationProperty struct {
	// `CfnHttpApi.S3LocationProperty.Bucket`.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// `CfnHttpApi.S3LocationProperty.Key`.
	Key *string `field:"required" json:"key" yaml:"key"`
	// `CfnHttpApi.S3LocationProperty.Version`.
	Version *float64 `field:"required" json:"version" yaml:"version"`
}

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"

s3LocationProperty := &s3LocationProperty{
	bucket: jsii.String("bucket"),
	key: jsii.String("key"),
	version: jsii.Number(123),
}

type CfnLayerVersion

type CfnLayerVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// `AWS::Serverless::LayerVersion.CompatibleRuntimes`.
	CompatibleRuntimes() *[]*string
	SetCompatibleRuntimes(val *[]*string)
	// `AWS::Serverless::LayerVersion.ContentUri`.
	ContentUri() interface{}
	SetContentUri(val interface{})
	// 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.
	CreationStack() *[]*string
	// `AWS::Serverless::LayerVersion.Description`.
	Description() *string
	SetDescription(val *string)
	// `AWS::Serverless::LayerVersion.LayerName`.
	LayerName() *string
	SetLayerName(val *string)
	// `AWS::Serverless::LayerVersion.LicenseInfo`.
	LicenseInfo() *string
	SetLicenseInfo(val *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.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// 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 })`.
	Ref() *string
	// `AWS::Serverless::LayerVersion.RetentionPolicy`.
	RetentionPolicy() *string
	SetRetentionPolicy(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	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.
	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.
	//
	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.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	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`).
	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.
	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.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	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.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Serverless::LayerVersion`.

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"

cfnLayerVersion := awscdk.Aws_sam.NewCfnLayerVersion(this, jsii.String("MyCfnLayerVersion"), &cfnLayerVersionProps{
	compatibleRuntimes: []*string{
		jsii.String("compatibleRuntimes"),
	},
	contentUri: jsii.String("contentUri"),
	description: jsii.String("description"),
	layerName: jsii.String("layerName"),
	licenseInfo: jsii.String("licenseInfo"),
	retentionPolicy: jsii.String("retentionPolicy"),
})

func NewCfnLayerVersion

func NewCfnLayerVersion(scope constructs.Construct, id *string, props *CfnLayerVersionProps) CfnLayerVersion

Create a new `AWS::Serverless::LayerVersion`.

type CfnLayerVersionProps

type CfnLayerVersionProps struct {
	// `AWS::Serverless::LayerVersion.CompatibleRuntimes`.
	CompatibleRuntimes *[]*string `field:"optional" json:"compatibleRuntimes" yaml:"compatibleRuntimes"`
	// `AWS::Serverless::LayerVersion.ContentUri`.
	ContentUri interface{} `field:"optional" json:"contentUri" yaml:"contentUri"`
	// `AWS::Serverless::LayerVersion.Description`.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// `AWS::Serverless::LayerVersion.LayerName`.
	LayerName *string `field:"optional" json:"layerName" yaml:"layerName"`
	// `AWS::Serverless::LayerVersion.LicenseInfo`.
	LicenseInfo *string `field:"optional" json:"licenseInfo" yaml:"licenseInfo"`
	// `AWS::Serverless::LayerVersion.RetentionPolicy`.
	RetentionPolicy *string `field:"optional" json:"retentionPolicy" yaml:"retentionPolicy"`
}

Properties for defining a `CfnLayerVersion`.

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"

cfnLayerVersionProps := &cfnLayerVersionProps{
	compatibleRuntimes: []*string{
		jsii.String("compatibleRuntimes"),
	},
	contentUri: jsii.String("contentUri"),
	description: jsii.String("description"),
	layerName: jsii.String("layerName"),
	licenseInfo: jsii.String("licenseInfo"),
	retentionPolicy: jsii.String("retentionPolicy"),
}

type CfnLayerVersion_S3LocationProperty

type CfnLayerVersion_S3LocationProperty struct {
	// `CfnLayerVersion.S3LocationProperty.Bucket`.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// `CfnLayerVersion.S3LocationProperty.Key`.
	Key *string `field:"required" json:"key" yaml:"key"`
	// `CfnLayerVersion.S3LocationProperty.Version`.
	Version *float64 `field:"optional" json:"version" yaml:"version"`
}

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"

s3LocationProperty := &s3LocationProperty{
	bucket: jsii.String("bucket"),
	key: jsii.String("key"),

	// the properties below are optional
	version: jsii.Number(123),
}

type CfnSimpleTable

type CfnSimpleTable interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	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.
	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.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// `AWS::Serverless::SimpleTable.PrimaryKey`.
	PrimaryKey() interface{}
	SetPrimaryKey(val interface{})
	// `AWS::Serverless::SimpleTable.ProvisionedThroughput`.
	ProvisionedThroughput() interface{}
	SetProvisionedThroughput(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 })`.
	Ref() *string
	// `AWS::Serverless::SimpleTable.SSESpecification`.
	SseSpecification() interface{}
	SetSseSpecification(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::Serverless::SimpleTable.TableName`.
	TableName() *string
	SetTableName(val *string)
	// `AWS::Serverless::SimpleTable.Tags`.
	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.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	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.
	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.
	//
	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.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	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`).
	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.
	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.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	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.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Serverless::SimpleTable`.

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"

cfnSimpleTable := awscdk.Aws_sam.NewCfnSimpleTable(this, jsii.String("MyCfnSimpleTable"), &cfnSimpleTableProps{
	primaryKey: &primaryKeyProperty{
		type: jsii.String("type"),

		// the properties below are optional
		name: jsii.String("name"),
	},
	provisionedThroughput: &provisionedThroughputProperty{
		writeCapacityUnits: jsii.Number(123),

		// the properties below are optional
		readCapacityUnits: jsii.Number(123),
	},
	sseSpecification: &sSESpecificationProperty{
		sseEnabled: jsii.Boolean(false),
	},
	tableName: jsii.String("tableName"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
})

func NewCfnSimpleTable

func NewCfnSimpleTable(scope constructs.Construct, id *string, props *CfnSimpleTableProps) CfnSimpleTable

Create a new `AWS::Serverless::SimpleTable`.

type CfnSimpleTableProps

type CfnSimpleTableProps struct {
	// `AWS::Serverless::SimpleTable.PrimaryKey`.
	PrimaryKey interface{} `field:"optional" json:"primaryKey" yaml:"primaryKey"`
	// `AWS::Serverless::SimpleTable.ProvisionedThroughput`.
	ProvisionedThroughput interface{} `field:"optional" json:"provisionedThroughput" yaml:"provisionedThroughput"`
	// `AWS::Serverless::SimpleTable.SSESpecification`.
	SseSpecification interface{} `field:"optional" json:"sseSpecification" yaml:"sseSpecification"`
	// `AWS::Serverless::SimpleTable.TableName`.
	TableName *string `field:"optional" json:"tableName" yaml:"tableName"`
	// `AWS::Serverless::SimpleTable.Tags`.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnSimpleTable`.

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"

cfnSimpleTableProps := &cfnSimpleTableProps{
	primaryKey: &primaryKeyProperty{
		type: jsii.String("type"),

		// the properties below are optional
		name: jsii.String("name"),
	},
	provisionedThroughput: &provisionedThroughputProperty{
		writeCapacityUnits: jsii.Number(123),

		// the properties below are optional
		readCapacityUnits: jsii.Number(123),
	},
	sseSpecification: &sSESpecificationProperty{
		sseEnabled: jsii.Boolean(false),
	},
	tableName: jsii.String("tableName"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
}

type CfnSimpleTable_PrimaryKeyProperty

type CfnSimpleTable_PrimaryKeyProperty struct {
	// `CfnSimpleTable.PrimaryKeyProperty.Type`.
	Type *string `field:"required" json:"type" yaml:"type"`
	// `CfnSimpleTable.PrimaryKeyProperty.Name`.
	Name *string `field:"optional" json:"name" yaml:"name"`
}

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"

primaryKeyProperty := &primaryKeyProperty{
	type: jsii.String("type"),

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

type CfnSimpleTable_ProvisionedThroughputProperty

type CfnSimpleTable_ProvisionedThroughputProperty struct {
	// `CfnSimpleTable.ProvisionedThroughputProperty.WriteCapacityUnits`.
	WriteCapacityUnits *float64 `field:"required" json:"writeCapacityUnits" yaml:"writeCapacityUnits"`
	// `CfnSimpleTable.ProvisionedThroughputProperty.ReadCapacityUnits`.
	ReadCapacityUnits *float64 `field:"optional" json:"readCapacityUnits" yaml:"readCapacityUnits"`
}

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"

provisionedThroughputProperty := &provisionedThroughputProperty{
	writeCapacityUnits: jsii.Number(123),

	// the properties below are optional
	readCapacityUnits: jsii.Number(123),
}

type CfnSimpleTable_SSESpecificationProperty

type CfnSimpleTable_SSESpecificationProperty struct {
	// `CfnSimpleTable.SSESpecificationProperty.SSEEnabled`.
	SseEnabled interface{} `field:"optional" json:"sseEnabled" yaml:"sseEnabled"`
}

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"

sSESpecificationProperty := &sSESpecificationProperty{
	sseEnabled: jsii.Boolean(false),
}

type CfnStateMachine

type CfnStateMachine interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	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.
	CreationStack() *[]*string
	// `AWS::Serverless::StateMachine.Definition`.
	Definition() interface{}
	SetDefinition(val interface{})
	// `AWS::Serverless::StateMachine.DefinitionSubstitutions`.
	DefinitionSubstitutions() interface{}
	SetDefinitionSubstitutions(val interface{})
	// `AWS::Serverless::StateMachine.DefinitionUri`.
	DefinitionUri() interface{}
	SetDefinitionUri(val interface{})
	// `AWS::Serverless::StateMachine.Events`.
	Events() interface{}
	SetEvents(val interface{})
	// `AWS::Serverless::StateMachine.Logging`.
	Logging() interface{}
	SetLogging(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.
	LogicalId() *string
	// `AWS::Serverless::StateMachine.Name`.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// `AWS::Serverless::StateMachine.PermissionsBoundaries`.
	PermissionsBoundaries() *string
	SetPermissionsBoundaries(val *string)
	// `AWS::Serverless::StateMachine.Policies`.
	Policies() interface{}
	SetPolicies(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 })`.
	Ref() *string
	// `AWS::Serverless::StateMachine.Role`.
	Role() *string
	SetRole(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// `AWS::Serverless::StateMachine.Tags`.
	Tags() awscdk.TagManager
	// `AWS::Serverless::StateMachine.Tracing`.
	Tracing() interface{}
	SetTracing(val interface{})
	// `AWS::Serverless::StateMachine.Type`.
	Type() *string
	SetType(val *string)
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	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.
	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.
	//
	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.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	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`).
	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.
	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.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	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.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Serverless::StateMachine`.

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 definition interface{}

cfnStateMachine := awscdk.Aws_sam.NewCfnStateMachine(this, jsii.String("MyCfnStateMachine"), &cfnStateMachineProps{
	definition: definition,
	definitionSubstitutions: map[string]*string{
		"definitionSubstitutionsKey": jsii.String("definitionSubstitutions"),
	},
	definitionUri: jsii.String("definitionUri"),
	events: map[string]interface{}{
		"eventsKey": &EventSourceProperty{
			"properties": &CloudWatchEventEventProperty{
				"method": jsii.String("method"),
				"path": jsii.String("path"),

				// the properties below are optional
				"restApiId": jsii.String("restApiId"),
			},
			"type": jsii.String("type"),
		},
	},
	logging: &loggingConfigurationProperty{
		destinations: []interface{}{
			&logDestinationProperty{
				cloudWatchLogsLogGroup: &cloudWatchLogsLogGroupProperty{
					logGroupArn: jsii.String("logGroupArn"),
				},
			},
		},
		includeExecutionData: jsii.Boolean(false),
		level: jsii.String("level"),
	},
	name: jsii.String("name"),
	permissionsBoundaries: jsii.String("permissionsBoundaries"),
	policies: jsii.String("policies"),
	role: jsii.String("role"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	tracing: &tracingConfigurationProperty{
		enabled: jsii.Boolean(false),
	},
	type: jsii.String("type"),
})

func NewCfnStateMachine

func NewCfnStateMachine(scope constructs.Construct, id *string, props *CfnStateMachineProps) CfnStateMachine

Create a new `AWS::Serverless::StateMachine`.

type CfnStateMachineProps

type CfnStateMachineProps struct {
	// `AWS::Serverless::StateMachine.Definition`.
	Definition interface{} `field:"optional" json:"definition" yaml:"definition"`
	// `AWS::Serverless::StateMachine.DefinitionSubstitutions`.
	DefinitionSubstitutions interface{} `field:"optional" json:"definitionSubstitutions" yaml:"definitionSubstitutions"`
	// `AWS::Serverless::StateMachine.DefinitionUri`.
	DefinitionUri interface{} `field:"optional" json:"definitionUri" yaml:"definitionUri"`
	// `AWS::Serverless::StateMachine.Events`.
	Events interface{} `field:"optional" json:"events" yaml:"events"`
	// `AWS::Serverless::StateMachine.Logging`.
	Logging interface{} `field:"optional" json:"logging" yaml:"logging"`
	// `AWS::Serverless::StateMachine.Name`.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// `AWS::Serverless::StateMachine.PermissionsBoundaries`.
	PermissionsBoundaries *string `field:"optional" json:"permissionsBoundaries" yaml:"permissionsBoundaries"`
	// `AWS::Serverless::StateMachine.Policies`.
	Policies interface{} `field:"optional" json:"policies" yaml:"policies"`
	// `AWS::Serverless::StateMachine.Role`.
	Role *string `field:"optional" json:"role" yaml:"role"`
	// `AWS::Serverless::StateMachine.Tags`.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// `AWS::Serverless::StateMachine.Tracing`.
	Tracing interface{} `field:"optional" json:"tracing" yaml:"tracing"`
	// `AWS::Serverless::StateMachine.Type`.
	Type *string `field:"optional" json:"type" yaml:"type"`
}

Properties for defining a `CfnStateMachine`.

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 definition interface{}

cfnStateMachineProps := &cfnStateMachineProps{
	definition: definition,
	definitionSubstitutions: map[string]*string{
		"definitionSubstitutionsKey": jsii.String("definitionSubstitutions"),
	},
	definitionUri: jsii.String("definitionUri"),
	events: map[string]interface{}{
		"eventsKey": &EventSourceProperty{
			"properties": &CloudWatchEventEventProperty{
				"method": jsii.String("method"),
				"path": jsii.String("path"),

				// the properties below are optional
				"restApiId": jsii.String("restApiId"),
			},
			"type": jsii.String("type"),
		},
	},
	logging: &loggingConfigurationProperty{
		destinations: []interface{}{
			&logDestinationProperty{
				cloudWatchLogsLogGroup: &cloudWatchLogsLogGroupProperty{
					logGroupArn: jsii.String("logGroupArn"),
				},
			},
		},
		includeExecutionData: jsii.Boolean(false),
		level: jsii.String("level"),
	},
	name: jsii.String("name"),
	permissionsBoundaries: jsii.String("permissionsBoundaries"),
	policies: jsii.String("policies"),
	role: jsii.String("role"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	tracing: &tracingConfigurationProperty{
		enabled: jsii.Boolean(false),
	},
	type: jsii.String("type"),
}

type CfnStateMachine_ApiEventProperty

type CfnStateMachine_ApiEventProperty struct {
	// `CfnStateMachine.ApiEventProperty.Method`.
	Method *string `field:"required" json:"method" yaml:"method"`
	// `CfnStateMachine.ApiEventProperty.Path`.
	Path *string `field:"required" json:"path" yaml:"path"`
	// `CfnStateMachine.ApiEventProperty.RestApiId`.
	RestApiId *string `field:"optional" json:"restApiId" yaml:"restApiId"`
}

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"

apiEventProperty := &apiEventProperty{
	method: jsii.String("method"),
	path: jsii.String("path"),

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

type CfnStateMachine_CloudWatchEventEventProperty

type CfnStateMachine_CloudWatchEventEventProperty struct {
	// `CfnStateMachine.CloudWatchEventEventProperty.Pattern`.
	Pattern interface{} `field:"required" json:"pattern" yaml:"pattern"`
	// `CfnStateMachine.CloudWatchEventEventProperty.EventBusName`.
	EventBusName *string `field:"optional" json:"eventBusName" yaml:"eventBusName"`
	// `CfnStateMachine.CloudWatchEventEventProperty.Input`.
	Input *string `field:"optional" json:"input" yaml:"input"`
	// `CfnStateMachine.CloudWatchEventEventProperty.InputPath`.
	InputPath *string `field:"optional" json:"inputPath" yaml:"inputPath"`
}

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 pattern interface{}

cloudWatchEventEventProperty := &cloudWatchEventEventProperty{
	pattern: pattern,

	// the properties below are optional
	eventBusName: jsii.String("eventBusName"),
	input: jsii.String("input"),
	inputPath: jsii.String("inputPath"),
}

type CfnStateMachine_CloudWatchLogsLogGroupProperty

type CfnStateMachine_CloudWatchLogsLogGroupProperty struct {
	// `CfnStateMachine.CloudWatchLogsLogGroupProperty.LogGroupArn`.
	LogGroupArn *string `field:"required" json:"logGroupArn" yaml:"logGroupArn"`
}

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"

cloudWatchLogsLogGroupProperty := &cloudWatchLogsLogGroupProperty{
	logGroupArn: jsii.String("logGroupArn"),
}

type CfnStateMachine_EventBridgeRuleEventProperty

type CfnStateMachine_EventBridgeRuleEventProperty struct {
	// `CfnStateMachine.EventBridgeRuleEventProperty.Pattern`.
	Pattern interface{} `field:"required" json:"pattern" yaml:"pattern"`
	// `CfnStateMachine.EventBridgeRuleEventProperty.EventBusName`.
	EventBusName *string `field:"optional" json:"eventBusName" yaml:"eventBusName"`
	// `CfnStateMachine.EventBridgeRuleEventProperty.Input`.
	Input *string `field:"optional" json:"input" yaml:"input"`
	// `CfnStateMachine.EventBridgeRuleEventProperty.InputPath`.
	InputPath *string `field:"optional" json:"inputPath" yaml:"inputPath"`
}

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 pattern interface{}

eventBridgeRuleEventProperty := &eventBridgeRuleEventProperty{
	pattern: pattern,

	// the properties below are optional
	eventBusName: jsii.String("eventBusName"),
	input: jsii.String("input"),
	inputPath: jsii.String("inputPath"),
}

type CfnStateMachine_EventSourceProperty

type CfnStateMachine_EventSourceProperty struct {
	// `CfnStateMachine.EventSourceProperty.Properties`.
	Properties interface{} `field:"required" json:"properties" yaml:"properties"`
	// `CfnStateMachine.EventSourceProperty.Type`.
	Type *string `field:"required" json:"type" yaml:"type"`
}

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"

eventSourceProperty := &eventSourceProperty{
	properties: &cloudWatchEventEventProperty{
		method: jsii.String("method"),
		path: jsii.String("path"),

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

type CfnStateMachine_FunctionSAMPTProperty

type CfnStateMachine_FunctionSAMPTProperty struct {
	// `CfnStateMachine.FunctionSAMPTProperty.FunctionName`.
	FunctionName *string `field:"required" json:"functionName" yaml:"functionName"`
}

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"

functionSAMPTProperty := &functionSAMPTProperty{
	functionName: jsii.String("functionName"),
}

type CfnStateMachine_IAMPolicyDocumentProperty

type CfnStateMachine_IAMPolicyDocumentProperty struct {
	// `CfnStateMachine.IAMPolicyDocumentProperty.Statement`.
	Statement interface{} `field:"required" json:"statement" yaml:"statement"`
}

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 statement interface{}

iAMPolicyDocumentProperty := map[string]interface{}{
	"statement": statement,
}

type CfnStateMachine_LogDestinationProperty

type CfnStateMachine_LogDestinationProperty struct {
	// `CfnStateMachine.LogDestinationProperty.CloudWatchLogsLogGroup`.
	CloudWatchLogsLogGroup interface{} `field:"required" json:"cloudWatchLogsLogGroup" yaml:"cloudWatchLogsLogGroup"`
}

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"

logDestinationProperty := &logDestinationProperty{
	cloudWatchLogsLogGroup: &cloudWatchLogsLogGroupProperty{
		logGroupArn: jsii.String("logGroupArn"),
	},
}

type CfnStateMachine_LoggingConfigurationProperty

type CfnStateMachine_LoggingConfigurationProperty struct {
	// `CfnStateMachine.LoggingConfigurationProperty.Destinations`.
	Destinations interface{} `field:"required" json:"destinations" yaml:"destinations"`
	// `CfnStateMachine.LoggingConfigurationProperty.IncludeExecutionData`.
	IncludeExecutionData interface{} `field:"required" json:"includeExecutionData" yaml:"includeExecutionData"`
	// `CfnStateMachine.LoggingConfigurationProperty.Level`.
	Level *string `field:"required" json:"level" yaml:"level"`
}

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"

loggingConfigurationProperty := &loggingConfigurationProperty{
	destinations: []interface{}{
		&logDestinationProperty{
			cloudWatchLogsLogGroup: &cloudWatchLogsLogGroupProperty{
				logGroupArn: jsii.String("logGroupArn"),
			},
		},
	},
	includeExecutionData: jsii.Boolean(false),
	level: jsii.String("level"),
}

type CfnStateMachine_S3LocationProperty

type CfnStateMachine_S3LocationProperty struct {
	// `CfnStateMachine.S3LocationProperty.Bucket`.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// `CfnStateMachine.S3LocationProperty.Key`.
	Key *string `field:"required" json:"key" yaml:"key"`
	// `CfnStateMachine.S3LocationProperty.Version`.
	Version *float64 `field:"optional" json:"version" yaml:"version"`
}

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"

s3LocationProperty := &s3LocationProperty{
	bucket: jsii.String("bucket"),
	key: jsii.String("key"),

	// the properties below are optional
	version: jsii.Number(123),
}

type CfnStateMachine_SAMPolicyTemplateProperty

type CfnStateMachine_SAMPolicyTemplateProperty struct {
	// `CfnStateMachine.SAMPolicyTemplateProperty.LambdaInvokePolicy`.
	LambdaInvokePolicy interface{} `field:"optional" json:"lambdaInvokePolicy" yaml:"lambdaInvokePolicy"`
	// `CfnStateMachine.SAMPolicyTemplateProperty.StepFunctionsExecutionPolicy`.
	StepFunctionsExecutionPolicy interface{} `field:"optional" json:"stepFunctionsExecutionPolicy" yaml:"stepFunctionsExecutionPolicy"`
}

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"

sAMPolicyTemplateProperty := &sAMPolicyTemplateProperty{
	lambdaInvokePolicy: &functionSAMPTProperty{
		functionName: jsii.String("functionName"),
	},
	stepFunctionsExecutionPolicy: &stateMachineSAMPTProperty{
		stateMachineName: jsii.String("stateMachineName"),
	},
}

type CfnStateMachine_ScheduleEventProperty

type CfnStateMachine_ScheduleEventProperty struct {
	// `CfnStateMachine.ScheduleEventProperty.Schedule`.
	Schedule *string `field:"required" json:"schedule" yaml:"schedule"`
	// `CfnStateMachine.ScheduleEventProperty.Input`.
	Input *string `field:"optional" json:"input" yaml:"input"`
}

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"

scheduleEventProperty := &scheduleEventProperty{
	schedule: jsii.String("schedule"),

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

type CfnStateMachine_StateMachineSAMPTProperty

type CfnStateMachine_StateMachineSAMPTProperty struct {
	// `CfnStateMachine.StateMachineSAMPTProperty.StateMachineName`.
	StateMachineName *string `field:"required" json:"stateMachineName" yaml:"stateMachineName"`
}

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"

stateMachineSAMPTProperty := &stateMachineSAMPTProperty{
	stateMachineName: jsii.String("stateMachineName"),
}

type CfnStateMachine_TracingConfigurationProperty

type CfnStateMachine_TracingConfigurationProperty struct {
	// `CfnStateMachine.TracingConfigurationProperty.Enabled`.
	Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
}

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"

tracingConfigurationProperty := &tracingConfigurationProperty{
	enabled: jsii.Boolean(false),
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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