awssolutionsconstructscore

package module
v2.0.0-...-341f44a Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2022 License: MIT Imports: 22 Imported by: 0

README

bark

Documentation

Overview

Core CDK Construct for patterns library

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddProxyMethodToApiResourceInputParams

type AddProxyMethodToApiResourceInputParams struct {
	ApiGatewayRole      awsiam.IRole                     `json:"apiGatewayRole"`
	ApiMethod           *string                          `json:"apiMethod"`
	ApiResource         awsapigateway.IResource          `json:"apiResource"`
	RequestTemplate     *string                          `json:"requestTemplate"`
	Service             *string                          `json:"service"`
	Action              *string                          `json:"action"`
	AwsIntegrationProps interface{}                      `json:"awsIntegrationProps"`
	ContentType         *string                          `json:"contentType"`
	MethodOptions       *awsapigateway.MethodOptions     `json:"methodOptions"`
	Path                *string                          `json:"path"`
	RequestModel        *map[string]awsapigateway.IModel `json:"requestModel"`
	RequestValidator    awsapigateway.IRequestValidator  `json:"requestValidator"`
}

type BuildDeadLetterQueueProps

type BuildDeadLetterQueueProps struct {
	// Optional user provided properties for the dead letter queue.
	DeadLetterQueueProps *awssqs.QueueProps `json:"deadLetterQueueProps"`
	// Whether to deploy a secondary queue to be used as a dead letter queue.
	DeployDeadLetterQueue *bool `json:"deployDeadLetterQueue"`
	// Existing instance of SQS queue object, providing both this and queueProps will cause an error.
	ExistingQueueObj awssqs.Queue `json:"existingQueueObj"`
	// The number of times a message can be unsuccessfully dequeued before being moved to the dead letter queue.
	MaxReceiveCount *float64 `json:"maxReceiveCount"`
}

type BuildDynamoDBTableProps

type BuildDynamoDBTableProps struct {
	// Optional user provided props to override the default props.
	DynamoTableProps *awsdynamodb.TableProps `json:"dynamoTableProps"`
	// Existing instance of dynamodb table object.
	//
	// Providing both this and `dynamoTableProps` will cause an error.
	ExistingTableObj awsdynamodb.Table `json:"existingTableObj"`
}

type BuildDynamoDBTableWithStreamProps

type BuildDynamoDBTableWithStreamProps struct {
	// Optional user provided props to override the default props.
	DynamoTableProps *awsdynamodb.TableProps `json:"dynamoTableProps"`
	// Existing instance of dynamodb table object.
	//
	// Providing both this and `dynamoTableProps` will cause an error.
	ExistingTableInterface awsdynamodb.ITable `json:"existingTableInterface"`
}

type BuildEventBusProps

type BuildEventBusProps struct {
	// Optional user provided props to override the default props for the SNS topic.
	EventBusProps *awsevents.EventBusProps `json:"eventBusProps"`
	// Existing instance of SNS Topic object, providing both this and `topicProps` will cause an error.
	ExistingEventBusInterface awsevents.IEventBus `json:"existingEventBusInterface"`
}

type BuildGlueJobProps

type BuildGlueJobProps struct {
	// AWS Glue database.
	Database awsglue.CfnDatabase `json:"database"`
	// AWS Glue table.
	Table awsglue.CfnTable `json:"table"`
	// Existing instance of the S3 bucket object, if this is set then the script location is ignored.
	ExistingCfnJob awsglue.CfnJob `json:"existingCfnJob"`
	// Glue ETL job properties.
	GlueJobProps interface{} `json:"glueJobProps"`
	// Output storage options.
	OutputDataStore *SinkDataStoreProps `json:"outputDataStore"`
}

type BuildKinesisAnalyticsAppProps

type BuildKinesisAnalyticsAppProps struct {
	// A Kinesis Data Firehose for the Kinesis Streams application to connect to.
	KinesisFirehose awskinesisfirehose.CfnDeliveryStream `json:"kinesisFirehose"`
	// Optional user provided props to override the default props for the Kinesis analytics app.
	KinesisAnalyticsProps interface{} `json:"kinesisAnalyticsProps"`
}

type BuildKinesisStreamProps

type BuildKinesisStreamProps struct {
	// Existing instance of Kinesis Stream, providing both this and `kinesisStreamProps` will cause an error.
	ExistingStreamObj awskinesis.Stream `json:"existingStreamObj"`
	// Optional user provided props to override the default props for the Kinesis stream.
	KinesisStreamProps *awskinesis.StreamProps `json:"kinesisStreamProps"`
}

type BuildLambdaFunctionProps

type BuildLambdaFunctionProps struct {
	// Existing instance of Lambda Function object, Providing both this and lambdaFunctionProps will cause an error.
	ExistingLambdaObj awslambda.Function `json:"existingLambdaObj"`
	// User provided props to override the default props for the Lambda function.
	LambdaFunctionProps *awslambda.FunctionProps `json:"lambdaFunctionProps"`
	// A VPC where the Lambda function will access internal resources.
	Vpc awsec2.IVpc `json:"vpc"`
}

type BuildQueueProps

type BuildQueueProps struct {
	// Optional dead letter queue to pass bad requests to after the max receive count is reached.
	DeadLetterQueue *awssqs.DeadLetterQueue `json:"deadLetterQueue"`
	// Use a KMS Key, either managed by this CDK app, or imported.
	//
	// If importing an encryption key, it must be specified in
	// the encryptionKey property for this construct.
	EnableEncryptionWithCustomerManagedKey *bool `json:"enableEncryptionWithCustomerManagedKey"`
	// An optional, imported encryption key to encrypt the SQS queue with.
	EncryptionKey awskms.Key `json:"encryptionKey"`
	// Optional user-provided props to override the default props for the encryption key.
	EncryptionKeyProps *awskms.KeyProps `json:"encryptionKeyProps"`
	// Existing instance of SQS queue object, providing both this and queueProps will cause an error.
	ExistingQueueObj awssqs.Queue `json:"existingQueueObj"`
	// Optional user provided props to override the default props for the primary queue.
	QueueProps *awssqs.QueueProps `json:"queueProps"`
}

type BuildS3BucketProps

type BuildS3BucketProps struct {
	// User provided props to override the default props for the S3 Bucket.
	BucketProps *awss3.BucketProps `json:"bucketProps"`
	// User provided props to override the default props for the S3 Logging Bucket.
	LoggingBucketProps *awss3.BucketProps `json:"loggingBucketProps"`
	// Whether to turn on Access Logs for S3.
	//
	// Uses an S3 bucket with associated storage costs.
	// Enabling Access Logging is a best practice.
	LogS3AccessLogs *bool `json:"logS3AccessLogs"`
}

type BuildSagemakerEndpointProps

type BuildSagemakerEndpointProps struct {
	// User provided props to create Sagemaker Endpoint Configuration.
	EndpointConfigProps *awssagemaker.CfnEndpointConfigProps `json:"endpointConfigProps"`
	// User provided props to create Sagemaker Endpoint.
	EndpointProps *awssagemaker.CfnEndpointProps `json:"endpointProps"`
	// Existing Sagemaker Enpoint object, if this is set then the modelProps, endpointConfigProps, and endpointProps are ignored.
	ExistingSagemakerEndpointObj awssagemaker.CfnEndpoint `json:"existingSagemakerEndpointObj"`
	// User provided props to create Sagemaker Model.
	ModelProps interface{} `json:"modelProps"`
	// A VPC where the Sagemaker Endpoint will be placed.
	Vpc awsec2.IVpc `json:"vpc"`
}

type BuildSagemakerNotebookProps

type BuildSagemakerNotebookProps struct {
	// IAM Role Arn for Sagemaker NoteBookInstance.
	Role awsiam.Role `json:"role"`
	// Optional user provided props to deploy inside vpc.
	DeployInsideVpc *bool `json:"deployInsideVpc"`
	// An optional, Existing instance of notebook object.
	//
	// If this is set then the sagemakerNotebookProps is ignored
	ExistingNotebookObj awssagemaker.CfnNotebookInstance `json:"existingNotebookObj"`
	// Optional user provided props for CfnNotebookInstanceProps.
	SagemakerNotebookProps interface{} `json:"sagemakerNotebookProps"`
}

type BuildTopicProps

type BuildTopicProps struct {
	// Use a Customer Managed KMS Key, either managed by this CDK app, or imported.
	//
	// If importing an encryption key, it must be specified in
	// the encryptionKey property for this construct.
	EnableEncryptionWithCustomerManagedKey *bool `json:"enableEncryptionWithCustomerManagedKey"`
	// An optional, imported encryption key to encrypt the SNS topic with.
	EncryptionKey awskms.Key `json:"encryptionKey"`
	// Optional user-provided props to override the default props for the encryption key.
	EncryptionKeyProps *awskms.KeyProps `json:"encryptionKeyProps"`
	// Existing instance of SNS Topic object, providing both this and `topicProps` will cause an error.
	ExistingTopicObj awssns.Topic `json:"existingTopicObj"`
	// Optional user provided props to override the default props for the SNS topic.
	TopicProps *awssns.TopicProps `json:"topicProps"`
}

type BuildVpcProps

type BuildVpcProps struct {
	// One of the default VPC configurations available in vpc-defaults.
	DefaultVpcProps *awsec2.VpcProps `json:"defaultVpcProps"`
	// Construct specified props that override both the default props and user props for the VPC.
	ConstructVpcProps *awsec2.VpcProps `json:"constructVpcProps"`
	// Existing instance of a VPC, if this is set then the all Props are ignored.
	ExistingVpc awsec2.IVpc `json:"existingVpc"`
	// User provided props to override the default props for the VPC.
	UserVpcProps *awsec2.VpcProps `json:"userVpcProps"`
}

type BuildWebaclProps

type BuildWebaclProps struct {
	// Existing instance of a WAF web ACL, if this is set then the all props are ignored.
	ExistingWebaclObj awswafv2.CfnWebACL `json:"existingWebaclObj"`
	// User provided props to override the default ACL props for WAF web ACL.
	WebaclProps *awswafv2.CfnWebACLProps `json:"webaclProps"`
}

type CfnDomainOptions

type CfnDomainOptions struct {
	CognitoAuthorizedRoleARN *string                    `json:"cognitoAuthorizedRoleARN"`
	Identitypool             awscognito.CfnIdentityPool `json:"identitypool"`
	Userpool                 awscognito.UserPool        `json:"userpool"`
	ServiceRoleARN           *string                    `json:"serviceRoleARN"`
}

type CfnNagSuppressRule

type CfnNagSuppressRule struct {
	Id     *string `json:"id"`
	Reason *string `json:"reason"`
}

The CFN NAG suppress rule interface.

type CognitoOptions

type CognitoOptions struct {
	Identitypool   awscognito.CfnIdentityPool `json:"identitypool"`
	Userpool       awscognito.UserPool        `json:"userpool"`
	Userpoolclient awscognito.UserPoolClient  `json:"userpoolclient"`
}

type EventSourceProps

type EventSourceProps struct {
	DeploySqsDlqQueue *bool                                         `json:"deploySqsDlqQueue"`
	EventSourceProps  *awslambdaeventsources.StreamEventSourceProps `json:"eventSourceProps"`
	SqsDlqQueueProps  *awssqs.QueueProps                            `json:"sqsDlqQueueProps"`
}

type SecurityGroupRuleDefinition

type SecurityGroupRuleDefinition struct {
	Connection  awsec2.Port  `json:"connection"`
	Peer        awsec2.IPeer `json:"peer"`
	Description *string      `json:"description"`
	RemoteRule  *bool        `json:"remoteRule"`
}

type ServiceEndpointTypes

type ServiceEndpointTypes string
const (
	ServiceEndpointTypes_DYNAMODB          ServiceEndpointTypes = "DYNAMODB"
	ServiceEndpointTypes_SNS               ServiceEndpointTypes = "SNS"
	ServiceEndpointTypes_SQS               ServiceEndpointTypes = "SQS"
	ServiceEndpointTypes_S3                ServiceEndpointTypes = "S3"
	ServiceEndpointTypes_STEP_FUNCTIONS    ServiceEndpointTypes = "STEP_FUNCTIONS"
	ServiceEndpointTypes_SAGEMAKER_RUNTIME ServiceEndpointTypes = "SAGEMAKER_RUNTIME"
	ServiceEndpointTypes_SECRETS_MANAGER   ServiceEndpointTypes = "SECRETS_MANAGER"
	ServiceEndpointTypes_SSM               ServiceEndpointTypes = "SSM"
	ServiceEndpointTypes_EVENTS            ServiceEndpointTypes = "EVENTS"
)

type SinkDataStoreProps

type SinkDataStoreProps struct {
	// Sink data store type.
	DatastoreType SinkStoreType `json:"datastoreType"`
	// The output S3 location where the data should be written.
	//
	// The provided S3 bucket will be used to pass
	// the output location to the etl script as an argument to the AWS Glue job.
	//
	// If no location is provided, it will check if @outputBucketProps are provided. If not it will create a new
	// bucket if the @datastoreType is S3.
	//
	// The argument key is `output_path`. The value of the argument can be retrieve in the python script
	// as follows:
	//   getResolvedOptions(sys.argv, ["JOB_NAME", "output_path", <other arguments that are passed> ])
	//   output_path = args["output_path"]
	ExistingS3OutputBucket awss3.Bucket `json:"existingS3OutputBucket"`
	// If @existingS3OutputBUcket is provided, this parameter is ignored.
	//
	// If this parameter is not provided,
	// the construct will create a new bucket if the @datastoreType is S3.
	OutputBucketProps *awss3.BucketProps `json:"outputBucketProps"`
}

Interface to define potential outputs to allow the construct define additional output destinations for ETL transformation.

type SinkStoreType

type SinkStoreType string

Enumeration of data store types that could include S3, DynamoDB, DocumentDB, RDS or Redshift.

Current construct implementation only supports S3, but potential to add other output types in the future

const (
	SinkStoreType_S3 SinkStoreType = "S3"
)

type VerifiedProps

type VerifiedProps struct {
	AlbLoggingBucketProps          *awss3.BucketProps                                      `json:"albLoggingBucketProps"`
	BucketProps                    *awss3.BucketProps                                      `json:"bucketProps"`
	DeadLetterQueueProps           *awssqs.QueueProps                                      `json:"deadLetterQueueProps"`
	DeployDeadLetterQueue          *bool                                                   `json:"deployDeadLetterQueue"`
	DeployVpc                      *bool                                                   `json:"deployVpc"`
	DynamoTableProps               *awsdynamodb.TableProps                                 `json:"dynamoTableProps"`
	EncryptionKey                  awskms.Key                                              `json:"encryptionKey"`
	EncryptionKeyProps             *awskms.KeyProps                                        `json:"encryptionKeyProps"`
	EndpointProps                  *awssagemaker.CfnEndpointProps                          `json:"endpointProps"`
	ExistingBucketInterface        awss3.IBucket                                           `json:"existingBucketInterface"`
	ExistingBucketObj              awss3.Bucket                                            `json:"existingBucketObj"`
	ExistingGlueJob                awsglue.CfnJob                                          `json:"existingGlueJob"`
	ExistingLambdaObj              awslambda.Function                                      `json:"existingLambdaObj"`
	ExistingLoadBalancerObj        awselasticloadbalancingv2.ApplicationLoadBalancer       `json:"existingLoadBalancerObj"`
	ExistingLoggingBucketObj       awss3.IBucket                                           `json:"existingLoggingBucketObj"`
	ExistingMediaStoreContainerObj awsmediastore.CfnContainer                              `json:"existingMediaStoreContainerObj"`
	ExistingQueueObj               awssqs.Queue                                            `json:"existingQueueObj"`
	ExistingSagemakerEndpointObj   awssagemaker.CfnEndpoint                                `json:"existingSagemakerEndpointObj"`
	ExistingSecretObj              awssecretsmanager.Secret                                `json:"existingSecretObj"`
	ExistingStreamObj              awskinesis.Stream                                       `json:"existingStreamObj"`
	ExistingTableInterface         awsdynamodb.ITable                                      `json:"existingTableInterface"`
	ExistingTableObj               awsdynamodb.Table                                       `json:"existingTableObj"`
	ExistingTopicObj               awssns.Topic                                            `json:"existingTopicObj"`
	ExistingVpc                    awsec2.IVpc                                             `json:"existingVpc"`
	GlueJobProps                   *awsglue.CfnJobProps                                    `json:"glueJobProps"`
	KinesisStreamProps             *awskinesis.StreamProps                                 `json:"kinesisStreamProps"`
	LambdaFunctionProps            *awslambda.FunctionProps                                `json:"lambdaFunctionProps"`
	LoadBalancerProps              *awselasticloadbalancingv2.ApplicationLoadBalancerProps `json:"loadBalancerProps"`
	LogAlbAccessLogs               *bool                                                   `json:"logAlbAccessLogs"`
	LoggingBucketProps             *awss3.BucketProps                                      `json:"loggingBucketProps"`
	LogS3AccessLogs                *bool                                                   `json:"logS3AccessLogs"`
	MediaStoreContainerProps       *awsmediastore.CfnContainerProps                        `json:"mediaStoreContainerProps"`
	QueueProps                     *awssqs.QueueProps                                      `json:"queueProps"`
	SecretProps                    *awssecretsmanager.SecretProps                          `json:"secretProps"`
	TopicProps                     *awssns.TopicProps                                      `json:"topicProps"`
	VpcProps                       *awsec2.VpcProps                                        `json:"vpcProps"`
}

Directories

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

Jump to

Keyboard shortcuts

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