Skip to content

Latest commit

 

History

History
452 lines (235 loc) · 18.6 KB

API.md

File metadata and controls

452 lines (235 loc) · 18.6 KB

API Reference

Classes

Name Description
EfsFargateSite No description
EfsFargateTask Represents the AWS Fargate task with EFS and secret manager support.
GithubSyncSource No description
S3ArchiveSyncSource No description
StatefulFargateNginx No description
SyncSource No description
SyncedAccessPoint No description

Structs

Name Description
EfsFargateSiteProps No description
EfsFargateTaskProps No description
FargateTaskConfig No description
GithubSecret No description
GithubSourceProps No description
S3ArchiveSourceProps No description
StatefulFargateNginxProps No description
SyncSourceProps No description
SyncedAccessPointProps No description

Enums

Name Description
SyncEngine No description

class EfsFargateSite

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

new EfsFargateSite(scope: Construct, id: string, props: EfsFargateSiteProps)

Properties

Name Type Description
service ApplicationLoadBalancedFargateService
task FargateTaskDefinition

class EfsFargateTask

Represents the AWS Fargate task with EFS and secret manager support.

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

new EfsFargateTask(scope: Construct, id: string, props: EfsFargateTaskProps)

Properties

Name Type Description
securityGroup SecurityGroup
task FargateTaskDefinition

class GithubSyncSource

Extends: SyncSource

Initializer

new GithubSyncSource(props: GithubSourceProps)
  • props (GithubSourceProps) No description
    • vpc (IVpc) The VPC of the Amazon EFS Filesystem.
    • syncDirectoryPath (string) The (absolute) directory path inside the EFS AccessPoint to sync files to. Optional
    • timeout (Duration) Timeout duration for sync Lambda function. Optional
    • vpcSubnets (SubnetSelection) Where to place the network interfaces within the VPC. Optional
    • repository (string) The github repository HTTP URI.
    • secret (GithubSecret) The github secret for the private repository. Optional

class S3ArchiveSyncSource

Extends: SyncSource

Initializer

new S3ArchiveSyncSource(props: S3ArchiveSourceProps)
  • props (S3ArchiveSourceProps) No description
    • vpc (IVpc) The VPC of the Amazon EFS Filesystem.
    • syncDirectoryPath (string) The (absolute) directory path inside the EFS AccessPoint to sync files to. Optional
    • timeout (Duration) Timeout duration for sync Lambda function. Optional
    • vpcSubnets (SubnetSelection) Where to place the network interfaces within the VPC. Optional
    • bucket (IBucket) The S3 bucket containing the archive file.
    • zipFilePath (string) The path of the zip file to extract in the S3 bucket.
    • syncOnUpdate (boolean) If this is set to true, then whenever a new object is uploaded to the specified path, an EFS sync will be triggered. Default: true

class StatefulFargateNginx

Implements: IConstruct, IConstruct, IConstruct, IDependable Extends: Construct

Initializer

new StatefulFargateNginx(scope: Construct, id: string, props: StatefulFargateNginxProps)
  • scope (Construct) No description
  • id (string) No description
  • props (StatefulFargateNginxProps) No description
    • efsFileSystem (IFileSystem) The EFS FilesSystem as the stateful shared storage of the Fargate service. Default: create a new EFS FileSystem
    • github (string) The github repository to clone as the doc root of the nginx. Default: https://github.com/cristurm/nyan-cat.git
    • vpc (IVpc) The VPC for the fargate service. Default: create a new VPC

Methods

createSyncedAccessPoint()

createSyncedAccessPoint(): SyncedAccessPoint

Returns:

class SyncSource

Implemented by: GithubSyncSource, S3ArchiveSyncSource

Initializer

new SyncSource()

Methods

static github(props)

static github(props: GithubSourceProps): SyncSource
  • props (GithubSourceProps) No description
    • vpc (IVpc) The VPC of the Amazon EFS Filesystem.
    • syncDirectoryPath (string) The (absolute) directory path inside the EFS AccessPoint to sync files to. Optional
    • timeout (Duration) Timeout duration for sync Lambda function. Optional
    • vpcSubnets (SubnetSelection) Where to place the network interfaces within the VPC. Optional
    • repository (string) The github repository HTTP URI.
    • secret (GithubSecret) The github secret for the private repository. Optional

Returns:

static s3Archive(props)

static s3Archive(props: S3ArchiveSourceProps): SyncSource
  • props (S3ArchiveSourceProps) No description
    • vpc (IVpc) The VPC of the Amazon EFS Filesystem.
    • syncDirectoryPath (string) The (absolute) directory path inside the EFS AccessPoint to sync files to. Optional
    • timeout (Duration) Timeout duration for sync Lambda function. Optional
    • vpcSubnets (SubnetSelection) Where to place the network interfaces within the VPC. Optional
    • bucket (IBucket) The S3 bucket containing the archive file.
    • zipFilePath (string) The path of the zip file to extract in the S3 bucket.
    • syncOnUpdate (boolean) If this is set to true, then whenever a new object is uploaded to the specified path, an EFS sync will be triggered. Default: true

Returns:

class SyncedAccessPoint

Implements: IConstruct, IConstruct, IConstruct, IDependable, IResource, IConstruct, IDependable, IConstruct, IAccessPoint, IConstruct, IDependable, IConstruct, IResource, IAccessPoint, IConstruct, IDependable, IConstruct, IResource Extends: AccessPoint

Initializer

new SyncedAccessPoint(scope: Construct, id: string, props: SyncedAccessPointProps)
  • scope (Construct) No description
  • id (string) No description
  • props (SyncedAccessPointProps) No description
    • createAcl (Acl) Specifies the POSIX IDs and permissions to apply when creating the access point's root directory. Default: None. The directory specified by path must exist.
    • path (string) Specifies the path on the EFS file system to expose as the root directory to NFS clients using the access point to access the EFS file system. Default: '/'
    • posixUser (PosixUser) The full POSIX identity, including the user ID, group ID, and any secondary group IDs, on the access point that is used for all file system operations performed by NFS clients using the access point. Default: user identity not enforced
    • fileSystem (IFileSystem) The efs filesystem.
    • syncSource (SyncSource) No description
    • vpc (IVpc) The VPC to run the sync job.
    • engine (SyncEngine) Trigger the sync with AWS Lambda or AWS Fargate. Optional

struct EfsFargateSiteProps

Name Type Description
accessPoint AccessPoint
task FargateTaskDefinition
vpc IVpc

struct EfsFargateTaskProps

Name Type Description
accessPoint AccessPoint
syncContainer ContainerDefinitionOptions
vpc IVpc
efsMountTarget? string EFS mount target in the container.
Default: /mnt/efsmount
secret? GithubSecret Optional

struct FargateTaskConfig

Name Type Description
securityGroup ISecurityGroup The security group of the fargate task.
task TaskDefinition

struct GithubSecret

Name Type Description
id string The secret ID from AWS Secrets Manager.
key string The key of the secret.

struct GithubSourceProps

Name Type Description
repository string The github repository HTTP URI.
vpc IVpc The VPC of the Amazon EFS Filesystem.
secret? GithubSecret The github secret for the private repository.
Optional
syncDirectoryPath? string The (absolute) directory path inside the EFS AccessPoint to sync files to.
Optional
timeout? Duration Timeout duration for sync Lambda function.
Optional
vpcSubnets? SubnetSelection Where to place the network interfaces within the VPC.
Optional

struct S3ArchiveSourceProps

Name Type Description
bucket IBucket The S3 bucket containing the archive file.
vpc IVpc The VPC of the Amazon EFS Filesystem.
zipFilePath string The path of the zip file to extract in the S3 bucket.
syncDirectoryPath? string The (absolute) directory path inside the EFS AccessPoint to sync files to.
Optional
syncOnUpdate? boolean If this is set to true, then whenever a new object is uploaded to the specified path, an EFS sync will be triggered.
Default: true
timeout? Duration Timeout duration for sync Lambda function.
Optional
vpcSubnets? SubnetSelection Where to place the network interfaces within the VPC.
Optional

struct StatefulFargateNginxProps

Name Type Description
efsFileSystem? IFileSystem The EFS FilesSystem as the stateful shared storage of the Fargate service.
Default: create a new EFS FileSystem
github? string The github repository to clone as the doc root of the nginx.
Default: https://github.com/cristurm/nyan-cat.git
vpc? IVpc The VPC for the fargate service.
Default: create a new VPC

struct SyncSourceProps

Name Type Description
vpc IVpc The VPC of the Amazon EFS Filesystem.
syncDirectoryPath? string The (absolute) directory path inside the EFS AccessPoint to sync files to.
Optional
timeout? Duration Timeout duration for sync Lambda function.
Optional
vpcSubnets? SubnetSelection Where to place the network interfaces within the VPC.
Optional

struct SyncedAccessPointProps

Name Type Description
fileSystem IFileSystem The efs filesystem.
syncSource SyncSource
vpc IVpc The VPC to run the sync job.
createAcl? Acl Specifies the POSIX IDs and permissions to apply when creating the access point's root directory.
Default: None. The directory specified by path must exist.
engine? SyncEngine Trigger the sync with AWS Lambda or AWS Fargate.
Optional
path? string Specifies the path on the EFS file system to expose as the root directory to NFS clients using the access point to access the EFS file system.
Default: '/'
posixUser? PosixUser The full POSIX identity, including the user ID, group ID, and any secondary group IDs, on the access point that is used for all file system operations performed by NFS clients using the access point.
Default: user identity not enforced

enum SyncEngine

Name Description
FARGATE
LAMBDA