awsfsx

package
v1.120.0-devpreview Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2021 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnFileSystem_CFN_RESOURCE_TYPE_NAME

func CfnFileSystem_CFN_RESOURCE_TYPE_NAME() *string

func CfnFileSystem_IsCfnElement

func CfnFileSystem_IsCfnElement(x interface{}) *bool

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

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

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

func CfnFileSystem_IsCfnResource

func CfnFileSystem_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnFileSystem_IsConstruct

func CfnFileSystem_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func FileSystemBase_IsConstruct

func FileSystemBase_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func FileSystemBase_IsResource

func FileSystemBase_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func LustreFileSystem_IsConstruct

func LustreFileSystem_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func LustreFileSystem_IsResource

func LustreFileSystem_IsResource(construct awscdk.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewCfnFileSystem_Override

func NewCfnFileSystem_Override(c CfnFileSystem, scope awscdk.Construct, id *string, props *CfnFileSystemProps)

Create a new `AWS::FSx::FileSystem`.

func NewFileSystemBase_Override

func NewFileSystemBase_Override(f FileSystemBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)

Experimental.

func NewLustreFileSystem_Override

func NewLustreFileSystem_Override(l LustreFileSystem, scope constructs.Construct, id *string, props *LustreFileSystemProps)

Experimental.

func NewLustreMaintenanceTime_Override

func NewLustreMaintenanceTime_Override(l LustreMaintenanceTime, props *LustreMaintenanceTimeProps)

Experimental.

Types

type CfnFileSystem

type CfnFileSystem interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrDnsName() *string
	AttrLustreMountName() *string
	BackupId() *string
	SetBackupId(val *string)
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	FileSystemType() *string
	SetFileSystemType(val *string)
	KmsKeyId() *string
	SetKmsKeyId(val *string)
	LogicalId() *string
	LustreConfiguration() interface{}
	SetLustreConfiguration(val interface{})
	Node() awscdk.ConstructNode
	Ref() *string
	SecurityGroupIds() *[]*string
	SetSecurityGroupIds(val *[]*string)
	Stack() awscdk.Stack
	StorageCapacity() *float64
	SetStorageCapacity(val *float64)
	StorageType() *string
	SetStorageType(val *string)
	SubnetIds() *[]*string
	SetSubnetIds(val *[]*string)
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	WindowsConfiguration() interface{}
	SetWindowsConfiguration(val interface{})
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::FSx::FileSystem`.

func NewCfnFileSystem

func NewCfnFileSystem(scope awscdk.Construct, id *string, props *CfnFileSystemProps) CfnFileSystem

Create a new `AWS::FSx::FileSystem`.

type CfnFileSystemProps

type CfnFileSystemProps struct {
	// `AWS::FSx::FileSystem.FileSystemType`.
	FileSystemType *string `json:"fileSystemType"`
	// `AWS::FSx::FileSystem.SubnetIds`.
	SubnetIds *[]*string `json:"subnetIds"`
	// `AWS::FSx::FileSystem.BackupId`.
	BackupId *string `json:"backupId"`
	// `AWS::FSx::FileSystem.KmsKeyId`.
	KmsKeyId *string `json:"kmsKeyId"`
	// `AWS::FSx::FileSystem.LustreConfiguration`.
	LustreConfiguration interface{} `json:"lustreConfiguration"`
	// `AWS::FSx::FileSystem.SecurityGroupIds`.
	SecurityGroupIds *[]*string `json:"securityGroupIds"`
	// `AWS::FSx::FileSystem.StorageCapacity`.
	StorageCapacity *float64 `json:"storageCapacity"`
	// `AWS::FSx::FileSystem.StorageType`.
	StorageType *string `json:"storageType"`
	// `AWS::FSx::FileSystem.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
	// `AWS::FSx::FileSystem.WindowsConfiguration`.
	WindowsConfiguration interface{} `json:"windowsConfiguration"`
}

Properties for defining a `AWS::FSx::FileSystem`.

type CfnFileSystem_AuditLogConfigurationProperty

type CfnFileSystem_AuditLogConfigurationProperty struct {
	// `CfnFileSystem.AuditLogConfigurationProperty.FileAccessAuditLogLevel`.
	FileAccessAuditLogLevel *string `json:"fileAccessAuditLogLevel"`
	// `CfnFileSystem.AuditLogConfigurationProperty.FileShareAccessAuditLogLevel`.
	FileShareAccessAuditLogLevel *string `json:"fileShareAccessAuditLogLevel"`
	// `CfnFileSystem.AuditLogConfigurationProperty.AuditLogDestination`.
	AuditLogDestination *string `json:"auditLogDestination"`
}

type CfnFileSystem_LustreConfigurationProperty

type CfnFileSystem_LustreConfigurationProperty struct {
	// `CfnFileSystem.LustreConfigurationProperty.AutoImportPolicy`.
	AutoImportPolicy *string `json:"autoImportPolicy"`
	// `CfnFileSystem.LustreConfigurationProperty.AutomaticBackupRetentionDays`.
	AutomaticBackupRetentionDays *float64 `json:"automaticBackupRetentionDays"`
	// `CfnFileSystem.LustreConfigurationProperty.CopyTagsToBackups`.
	CopyTagsToBackups interface{} `json:"copyTagsToBackups"`
	// `CfnFileSystem.LustreConfigurationProperty.DailyAutomaticBackupStartTime`.
	DailyAutomaticBackupStartTime *string `json:"dailyAutomaticBackupStartTime"`
	// `CfnFileSystem.LustreConfigurationProperty.DataCompressionType`.
	DataCompressionType *string `json:"dataCompressionType"`
	// `CfnFileSystem.LustreConfigurationProperty.DeploymentType`.
	DeploymentType *string `json:"deploymentType"`
	// `CfnFileSystem.LustreConfigurationProperty.DriveCacheType`.
	DriveCacheType *string `json:"driveCacheType"`
	// `CfnFileSystem.LustreConfigurationProperty.ExportPath`.
	ExportPath *string `json:"exportPath"`
	// `CfnFileSystem.LustreConfigurationProperty.ImportedFileChunkSize`.
	ImportedFileChunkSize *float64 `json:"importedFileChunkSize"`
	// `CfnFileSystem.LustreConfigurationProperty.ImportPath`.
	ImportPath *string `json:"importPath"`
	// `CfnFileSystem.LustreConfigurationProperty.PerUnitStorageThroughput`.
	PerUnitStorageThroughput *float64 `json:"perUnitStorageThroughput"`
	// `CfnFileSystem.LustreConfigurationProperty.WeeklyMaintenanceStartTime`.
	WeeklyMaintenanceStartTime *string `json:"weeklyMaintenanceStartTime"`
}

type CfnFileSystem_SelfManagedActiveDirectoryConfigurationProperty

type CfnFileSystem_SelfManagedActiveDirectoryConfigurationProperty struct {
	// `CfnFileSystem.SelfManagedActiveDirectoryConfigurationProperty.DnsIps`.
	DnsIps *[]*string `json:"dnsIps"`
	// `CfnFileSystem.SelfManagedActiveDirectoryConfigurationProperty.DomainName`.
	DomainName *string `json:"domainName"`
	// `CfnFileSystem.SelfManagedActiveDirectoryConfigurationProperty.FileSystemAdministratorsGroup`.
	FileSystemAdministratorsGroup *string `json:"fileSystemAdministratorsGroup"`
	// `CfnFileSystem.SelfManagedActiveDirectoryConfigurationProperty.OrganizationalUnitDistinguishedName`.
	OrganizationalUnitDistinguishedName *string `json:"organizationalUnitDistinguishedName"`
	// `CfnFileSystem.SelfManagedActiveDirectoryConfigurationProperty.Password`.
	Password *string `json:"password"`
	// `CfnFileSystem.SelfManagedActiveDirectoryConfigurationProperty.UserName`.
	UserName *string `json:"userName"`
}

type CfnFileSystem_WindowsConfigurationProperty

type CfnFileSystem_WindowsConfigurationProperty struct {
	// `CfnFileSystem.WindowsConfigurationProperty.ThroughputCapacity`.
	ThroughputCapacity *float64 `json:"throughputCapacity"`
	// `CfnFileSystem.WindowsConfigurationProperty.ActiveDirectoryId`.
	ActiveDirectoryId *string `json:"activeDirectoryId"`
	// `CfnFileSystem.WindowsConfigurationProperty.Aliases`.
	Aliases *[]*string `json:"aliases"`
	// `CfnFileSystem.WindowsConfigurationProperty.AuditLogConfiguration`.
	AuditLogConfiguration interface{} `json:"auditLogConfiguration"`
	// `CfnFileSystem.WindowsConfigurationProperty.AutomaticBackupRetentionDays`.
	AutomaticBackupRetentionDays *float64 `json:"automaticBackupRetentionDays"`
	// `CfnFileSystem.WindowsConfigurationProperty.CopyTagsToBackups`.
	CopyTagsToBackups interface{} `json:"copyTagsToBackups"`
	// `CfnFileSystem.WindowsConfigurationProperty.DailyAutomaticBackupStartTime`.
	DailyAutomaticBackupStartTime *string `json:"dailyAutomaticBackupStartTime"`
	// `CfnFileSystem.WindowsConfigurationProperty.DeploymentType`.
	DeploymentType *string `json:"deploymentType"`
	// `CfnFileSystem.WindowsConfigurationProperty.PreferredSubnetId`.
	PreferredSubnetId *string `json:"preferredSubnetId"`
	// `CfnFileSystem.WindowsConfigurationProperty.SelfManagedActiveDirectoryConfiguration`.
	SelfManagedActiveDirectoryConfiguration interface{} `json:"selfManagedActiveDirectoryConfiguration"`
	// `CfnFileSystem.WindowsConfigurationProperty.WeeklyMaintenanceStartTime`.
	WeeklyMaintenanceStartTime *string `json:"weeklyMaintenanceStartTime"`
}

type FileSystemAttributes

type FileSystemAttributes struct {
	// The DNS name assigned to this file system.
	// Experimental.
	DnsName *string `json:"dnsName"`
	// The ID of the file system, assigned by Amazon FSx.
	// Experimental.
	FileSystemId *string `json:"fileSystemId"`
	// The security group of the file system.
	// Experimental.
	SecurityGroup awsec2.ISecurityGroup `json:"securityGroup"`
}

Properties that describe an existing FSx file system. Experimental.

type FileSystemBase

type FileSystemBase interface {
	awscdk.Resource
	IFileSystem
	Connections() awsec2.Connections
	DnsName() *string
	Env() *awscdk.ResourceEnvironment
	FileSystemId() *string
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

A new or imported FSx file system. Experimental.

type FileSystemProps

type FileSystemProps struct {
	// The storage capacity of the file system being created.
	//
	// For Windows file systems, valid values are 32 GiB to 65,536 GiB.
	// For SCRATCH_1 deployment types, valid values are 1,200, 2,400, 3,600, then continuing in increments of 3,600 GiB.
	// For SCRATCH_2 and PERSISTENT_1 types, valid values are 1,200, 2,400, then continuing in increments of 2,400 GiB.
	// Experimental.
	StorageCapacityGiB *float64 `json:"storageCapacityGiB"`
	// The VPC to launch the file system in.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// The ID of the backup.
	//
	// Specifies the backup to use if you're creating a file system from an existing backup.
	// Experimental.
	BackupId *string `json:"backupId"`
	// The KMS key used for encryption to protect your data at rest.
	// Experimental.
	KmsKey awskms.IKey `json:"kmsKey"`
	// Policy to apply when the file system is removed from the stack.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
	// Security Group to assign to this file system.
	// Experimental.
	SecurityGroup awsec2.ISecurityGroup `json:"securityGroup"`
}

Properties for the FSx file system. See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html

Experimental.

type IFileSystem

type IFileSystem interface {
	awsec2.IConnectable
	// The ID of the file system, assigned by Amazon FSx.
	// Experimental.
	FileSystemId() *string
}

Interface to implement FSx File Systems. Experimental.

func LustreFileSystem_FromLustreFileSystemAttributes

func LustreFileSystem_FromLustreFileSystemAttributes(scope constructs.Construct, id *string, attrs *FileSystemAttributes) IFileSystem

Import an existing FSx for Lustre file system from the given properties. Experimental.

type LustreConfiguration

type LustreConfiguration struct {
	// The type of backing file system deployment used by FSx.
	// Experimental.
	DeploymentType LustreDeploymentType `json:"deploymentType"`
	// The path in Amazon S3 where the root of your Amazon FSx file system is exported.
	//
	// The path must use the same
	// Amazon S3 bucket as specified in ImportPath. If you only specify a bucket name, such as s3://import-bucket, you
	// get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is
	// overwritten on export. If you provide a custom prefix in the export path, such as
	// s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the contents of your file system to that export
	// prefix in the Amazon S3 bucket.
	// Experimental.
	ExportPath *string `json:"exportPath"`
	// For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk.
	//
	// Allowed values are between 1 and 512,000.
	// Experimental.
	ImportedFileChunkSizeMiB *float64 `json:"importedFileChunkSizeMiB"`
	// The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system.
	//
	// Must be of the format "s3://{bucketName}/optional-prefix" and cannot
	// exceed 900 characters.
	// Experimental.
	ImportPath *string `json:"importPath"`
	// Required for the PERSISTENT_1 deployment type, describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB.
	//
	// Valid values are 50, 100, 200.
	// Experimental.
	PerUnitStorageThroughput *float64 `json:"perUnitStorageThroughput"`
	// The preferred day and time to perform weekly maintenance.
	//
	// The first digit is the day of the week, starting at 1
	// for Monday, then the following are hours and minutes in the UTC time zone, 24 hour clock. For example: '2:20:30'
	// is Tuesdays at 20:30.
	// Experimental.
	WeeklyMaintenanceStartTime LustreMaintenanceTime `json:"weeklyMaintenanceStartTime"`
}

The configuration for the Amazon FSx for Lustre file system. See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html

Experimental.

type LustreDeploymentType

type LustreDeploymentType string

The different kinds of file system deployments used by Lustre. Experimental.

const (
	LustreDeploymentType_SCRATCH_1    LustreDeploymentType = "SCRATCH_1"
	LustreDeploymentType_SCRATCH_2    LustreDeploymentType = "SCRATCH_2"
	LustreDeploymentType_PERSISTENT_1 LustreDeploymentType = "PERSISTENT_1"
)

type LustreFileSystem

type LustreFileSystem interface {
	FileSystemBase
	Connections() awsec2.Connections
	DnsName() *string
	Env() *awscdk.ResourceEnvironment
	FileSystemId() *string
	MountName() *string
	Node() awscdk.ConstructNode
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	Prepare()
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
}

The FSx for Lustre File System implementation of IFileSystem. See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html

Experimental.

func NewLustreFileSystem

func NewLustreFileSystem(scope constructs.Construct, id *string, props *LustreFileSystemProps) LustreFileSystem

Experimental.

type LustreFileSystemProps

type LustreFileSystemProps struct {
	// The storage capacity of the file system being created.
	//
	// For Windows file systems, valid values are 32 GiB to 65,536 GiB.
	// For SCRATCH_1 deployment types, valid values are 1,200, 2,400, 3,600, then continuing in increments of 3,600 GiB.
	// For SCRATCH_2 and PERSISTENT_1 types, valid values are 1,200, 2,400, then continuing in increments of 2,400 GiB.
	// Experimental.
	StorageCapacityGiB *float64 `json:"storageCapacityGiB"`
	// The VPC to launch the file system in.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// The ID of the backup.
	//
	// Specifies the backup to use if you're creating a file system from an existing backup.
	// Experimental.
	BackupId *string `json:"backupId"`
	// The KMS key used for encryption to protect your data at rest.
	// Experimental.
	KmsKey awskms.IKey `json:"kmsKey"`
	// Policy to apply when the file system is removed from the stack.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
	// Security Group to assign to this file system.
	// Experimental.
	SecurityGroup awsec2.ISecurityGroup `json:"securityGroup"`
	// Additional configuration for FSx specific to Lustre.
	// Experimental.
	LustreConfiguration *LustreConfiguration `json:"lustreConfiguration"`
	// The subnet that the file system will be accessible from.
	// Experimental.
	VpcSubnet awsec2.ISubnet `json:"vpcSubnet"`
}

Properties specific to the Lustre version of the FSx file system. Experimental.

type LustreMaintenanceTime

type LustreMaintenanceTime interface {
	ToTimestamp() *string
}

Class for scheduling a weekly manitenance time. Experimental.

func NewLustreMaintenanceTime

func NewLustreMaintenanceTime(props *LustreMaintenanceTimeProps) LustreMaintenanceTime

Experimental.

type LustreMaintenanceTimeProps

type LustreMaintenanceTimeProps struct {
	// The day of the week for maintenance to be performed.
	// Experimental.
	Day Weekday `json:"day"`
	// The hour of the day (from 0-24) for maintenance to be performed.
	// Experimental.
	Hour *float64 `json:"hour"`
	// The minute of the hour (from 0-59) for maintenance to be performed.
	// Experimental.
	Minute *float64 `json:"minute"`
}

Properties required for setting up a weekly maintenance time. Experimental.

type Weekday

type Weekday string

Enum for representing all the days of the week. Experimental.

const (
	Weekday_MONDAY    Weekday = "MONDAY"
	Weekday_TUESDAY   Weekday = "TUESDAY"
	Weekday_WEDNESDAY Weekday = "WEDNESDAY"
	Weekday_THURSDAY  Weekday = "THURSDAY"
	Weekday_FRIDAY    Weekday = "FRIDAY"
	Weekday_SATURDAY  Weekday = "SATURDAY"
	Weekday_SUNDAY    Weekday = "SUNDAY"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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