diff --git a/apis/v1alpha1/access_point.go b/apis/v1alpha1/access_point.go index 0f149f8..fa0d167 100644 --- a/apis/v1alpha1/access_point.go +++ b/apis/v1alpha1/access_point.go @@ -23,30 +23,30 @@ import ( // AccessPointSpec defines the desired state of AccessPoint. type AccessPointSpec struct { -// The ID of the EFS file system that the access point provides access to. -FileSystemID *string `json:"fileSystemID,omitempty"` -FileSystemRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"fileSystemRef,omitempty"` -// The operating system user and group applied to all file system requests made -// using the access point. -PosixUser *PosixUser `json:"posixUser,omitempty"` -// Specifies the directory on the EFS file system that the access point exposes -// as the root directory of your file system to NFS clients using the access -// point. The clients using the access point can only access the root directory -// and below. If the RootDirectory > Path specified does not exist, Amazon EFS -// creates it and applies the CreationInfo settings when a client connects to -// an access point. When specifying a RootDirectory, you must provide the Path, -// and the CreationInfo. -// -// Amazon EFS creates a root directory only if you have provided the CreationInfo: -// OwnUid, OwnGID, and permissions for the directory. If you do not provide -// this information, Amazon EFS does not create the root directory. If the root -// directory does not exist, attempts to mount using the access point will fail. -RootDirectory *RootDirectory `json:"rootDirectory,omitempty"` -// Creates tags associated with the access point. Each tag is a key-value pair, -// each key must be unique. For more information, see Tagging Amazon Web Services -// resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) -// in the Amazon Web Services General Reference Guide. -Tags []*Tag `json:"tags,omitempty"` + // The ID of the EFS file system that the access point provides access to. + FileSystemID *string `json:"fileSystemID,omitempty"` + FileSystemRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"fileSystemRef,omitempty"` + // The operating system user and group applied to all file system requests made + // using the access point. + PosixUser *PosixUser `json:"posixUser,omitempty"` + // Specifies the directory on the EFS file system that the access point exposes + // as the root directory of your file system to NFS clients using the access + // point. The clients using the access point can only access the root directory + // and below. If the RootDirectory > Path specified does not exist, Amazon EFS + // creates it and applies the CreationInfo settings when a client connects to + // an access point. When specifying a RootDirectory, you must provide the Path, + // and the CreationInfo. + // + // Amazon EFS creates a root directory only if you have provided the CreationInfo: + // OwnUid, OwnGID, and permissions for the directory. If you do not provide + // this information, Amazon EFS does not create the root directory. If the root + // directory does not exist, attempts to mount using the access point will fail. + RootDirectory *RootDirectory `json:"rootDirectory,omitempty"` + // Creates tags associated with the access point. Each tag is a key-value pair, + // each key must be unique. For more information, see Tagging Amazon Web Services + // resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // in the Amazon Web Services General Reference Guide. + Tags []*Tag `json:"tags,omitempty"` } // AccessPointStatus defines the observed state of AccessPoint @@ -90,8 +90,8 @@ type AccessPointStatus struct { type AccessPoint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec AccessPointSpec `json:"spec,omitempty"` - Status AccessPointStatus `json:"status,omitempty"` + Spec AccessPointSpec `json:"spec,omitempty"` + Status AccessPointStatus `json:"status,omitempty"` } // AccessPointList contains a list of AccessPoint @@ -99,7 +99,7 @@ type AccessPoint struct { type AccessPointList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` - Items []AccessPoint `json:"items"` + Items []AccessPoint `json:"items"` } func init() { diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 779ca6e..409189c 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2025-02-05T19:30:04Z" - build_hash: 509a9991d926c6e13b5f02566443e79ebe994e17 + build_date: "2025-02-06T03:12:52Z" + build_hash: 8762917215d9902b2011a2b0b1b0c776855a683e go_version: go1.23.5 - version: v0.41.0-18-g509a999 + version: v0.42.0 api_directory_checksum: 78c2eb5f2e05080726633beb066d0b258bf2c290 api_version: v1alpha1 aws_sdk_go_version: v1.32.6 diff --git a/apis/v1alpha1/enums.go b/apis/v1alpha1/enums.go index 39a6cee..543d759 100644 --- a/apis/v1alpha1/enums.go +++ b/apis/v1alpha1/enums.go @@ -18,7 +18,7 @@ package v1alpha1 type DeletionMode string const ( - DeletionMode_ALL_CONFIGURATIONS DeletionMode = "ALL_CONFIGURATIONS" + DeletionMode_ALL_CONFIGURATIONS DeletionMode = "ALL_CONFIGURATIONS" DeletionMode_LOCAL_CONFIGURATION_ONLY DeletionMode = "LOCAL_CONFIGURATION_ONLY" ) @@ -26,25 +26,25 @@ type LifeCycleState string const ( LifeCycleState_available LifeCycleState = "available" - LifeCycleState_creating LifeCycleState = "creating" - LifeCycleState_deleted LifeCycleState = "deleted" - LifeCycleState_deleting LifeCycleState = "deleting" - LifeCycleState_error LifeCycleState = "error" - LifeCycleState_updating LifeCycleState = "updating" + LifeCycleState_creating LifeCycleState = "creating" + LifeCycleState_deleted LifeCycleState = "deleted" + LifeCycleState_deleting LifeCycleState = "deleting" + LifeCycleState_error LifeCycleState = "error" + LifeCycleState_updating LifeCycleState = "updating" ) type PerformanceMode string const ( PerformanceMode_generalPurpose PerformanceMode = "generalPurpose" - PerformanceMode_maxIO PerformanceMode = "maxIO" + PerformanceMode_maxIO PerformanceMode = "maxIO" ) type ReplicationOverwriteProtection string const ( - ReplicationOverwriteProtection_DISABLED ReplicationOverwriteProtection = "DISABLED" - ReplicationOverwriteProtection_ENABLED ReplicationOverwriteProtection = "ENABLED" + ReplicationOverwriteProtection_DISABLED ReplicationOverwriteProtection = "DISABLED" + ReplicationOverwriteProtection_ENABLED ReplicationOverwriteProtection = "ENABLED" ReplicationOverwriteProtection_REPLICATING ReplicationOverwriteProtection = "REPLICATING" ) @@ -52,74 +52,74 @@ type ReplicationStatus string const ( ReplicationStatus_DELETING ReplicationStatus = "DELETING" - ReplicationStatus_ENABLED ReplicationStatus = "ENABLED" + ReplicationStatus_ENABLED ReplicationStatus = "ENABLED" ReplicationStatus_ENABLING ReplicationStatus = "ENABLING" - ReplicationStatus_ERROR ReplicationStatus = "ERROR" - ReplicationStatus_PAUSED ReplicationStatus = "PAUSED" - ReplicationStatus_PAUSING ReplicationStatus = "PAUSING" + ReplicationStatus_ERROR ReplicationStatus = "ERROR" + ReplicationStatus_PAUSED ReplicationStatus = "PAUSED" + ReplicationStatus_PAUSING ReplicationStatus = "PAUSING" ) type Resource string const ( - Resource_FILE_SYSTEM Resource = "FILE_SYSTEM" + Resource_FILE_SYSTEM Resource = "FILE_SYSTEM" Resource_MOUNT_TARGET Resource = "MOUNT_TARGET" ) type ResourceIDType string const ( - ResourceIDType_LONG_ID ResourceIDType = "LONG_ID" + ResourceIDType_LONG_ID ResourceIDType = "LONG_ID" ResourceIDType_SHORT_ID ResourceIDType = "SHORT_ID" ) type Status string const ( - Status_DISABLED Status = "DISABLED" + Status_DISABLED Status = "DISABLED" Status_DISABLING Status = "DISABLING" - Status_ENABLED Status = "ENABLED" - Status_ENABLING Status = "ENABLING" + Status_ENABLED Status = "ENABLED" + Status_ENABLING Status = "ENABLING" ) type ThroughputMode string const ( - ThroughputMode_bursting ThroughputMode = "bursting" - ThroughputMode_elastic ThroughputMode = "elastic" + ThroughputMode_bursting ThroughputMode = "bursting" + ThroughputMode_elastic ThroughputMode = "elastic" ThroughputMode_provisioned ThroughputMode = "provisioned" ) type TransitionToArchiveRules string const ( - TransitionToArchiveRules_AFTER_14_DAYS TransitionToArchiveRules = "AFTER_14_DAYS" + TransitionToArchiveRules_AFTER_14_DAYS TransitionToArchiveRules = "AFTER_14_DAYS" TransitionToArchiveRules_AFTER_180_DAYS TransitionToArchiveRules = "AFTER_180_DAYS" - TransitionToArchiveRules_AFTER_1_DAY TransitionToArchiveRules = "AFTER_1_DAY" + TransitionToArchiveRules_AFTER_1_DAY TransitionToArchiveRules = "AFTER_1_DAY" TransitionToArchiveRules_AFTER_270_DAYS TransitionToArchiveRules = "AFTER_270_DAYS" - TransitionToArchiveRules_AFTER_30_DAYS TransitionToArchiveRules = "AFTER_30_DAYS" + TransitionToArchiveRules_AFTER_30_DAYS TransitionToArchiveRules = "AFTER_30_DAYS" TransitionToArchiveRules_AFTER_365_DAYS TransitionToArchiveRules = "AFTER_365_DAYS" - TransitionToArchiveRules_AFTER_60_DAYS TransitionToArchiveRules = "AFTER_60_DAYS" - TransitionToArchiveRules_AFTER_7_DAYS TransitionToArchiveRules = "AFTER_7_DAYS" - TransitionToArchiveRules_AFTER_90_DAYS TransitionToArchiveRules = "AFTER_90_DAYS" + TransitionToArchiveRules_AFTER_60_DAYS TransitionToArchiveRules = "AFTER_60_DAYS" + TransitionToArchiveRules_AFTER_7_DAYS TransitionToArchiveRules = "AFTER_7_DAYS" + TransitionToArchiveRules_AFTER_90_DAYS TransitionToArchiveRules = "AFTER_90_DAYS" ) type TransitionToIARules string const ( - TransitionToIARules_AFTER_14_DAYS TransitionToIARules = "AFTER_14_DAYS" + TransitionToIARules_AFTER_14_DAYS TransitionToIARules = "AFTER_14_DAYS" TransitionToIARules_AFTER_180_DAYS TransitionToIARules = "AFTER_180_DAYS" - TransitionToIARules_AFTER_1_DAY TransitionToIARules = "AFTER_1_DAY" + TransitionToIARules_AFTER_1_DAY TransitionToIARules = "AFTER_1_DAY" TransitionToIARules_AFTER_270_DAYS TransitionToIARules = "AFTER_270_DAYS" - TransitionToIARules_AFTER_30_DAYS TransitionToIARules = "AFTER_30_DAYS" + TransitionToIARules_AFTER_30_DAYS TransitionToIARules = "AFTER_30_DAYS" TransitionToIARules_AFTER_365_DAYS TransitionToIARules = "AFTER_365_DAYS" - TransitionToIARules_AFTER_60_DAYS TransitionToIARules = "AFTER_60_DAYS" - TransitionToIARules_AFTER_7_DAYS TransitionToIARules = "AFTER_7_DAYS" - TransitionToIARules_AFTER_90_DAYS TransitionToIARules = "AFTER_90_DAYS" + TransitionToIARules_AFTER_60_DAYS TransitionToIARules = "AFTER_60_DAYS" + TransitionToIARules_AFTER_7_DAYS TransitionToIARules = "AFTER_7_DAYS" + TransitionToIARules_AFTER_90_DAYS TransitionToIARules = "AFTER_90_DAYS" ) type TransitionToPrimaryStorageClassRules string const ( TransitionToPrimaryStorageClassRules_AFTER_1_ACCESS TransitionToPrimaryStorageClassRules = "AFTER_1_ACCESS" -) \ No newline at end of file +) diff --git a/apis/v1alpha1/file_system.go b/apis/v1alpha1/file_system.go index 141ef53..4cf9968 100644 --- a/apis/v1alpha1/file_system.go +++ b/apis/v1alpha1/file_system.go @@ -23,124 +23,124 @@ import ( // FileSystemSpec defines the desired state of FileSystem. type FileSystemSpec struct { -// For One Zone file systems, specify the Amazon Web Services Availability Zone -// in which to create the file system. Use the format us-east-1a to specify -// the Availability Zone. For more information about One Zone file systems, -// see EFS file system types (https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html#file-system-type) -// in the Amazon EFS User Guide. -// -// One Zone file systems are not available in all Availability Zones in Amazon -// Web Services Regions where Amazon EFS is available. -AvailabilityZoneName *string `json:"availabilityZoneName,omitempty"` -// Specifies whether automatic backups are enabled on the file system that you -// are creating. Set the value to true to enable automatic backups. If you are -// creating a One Zone file system, automatic backups are enabled by default. -// For more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups) -// in the Amazon EFS User Guide. -// -// Default is false. However, if you specify an AvailabilityZoneName, the default -// is true. -// -// Backup is not available in all Amazon Web Services Regions where Amazon EFS -// is available. -Backup *bool `json:"backup,omitempty"` -// The backup policy included in the PutBackupPolicy request. -BackupPolicy *BackupPolicy `json:"backupPolicy,omitempty"` -// A Boolean value that, if true, creates an encrypted file system. When creating -// an encrypted file system, you have the option of specifying an existing Key -// Management Service key (KMS key). If you don't specify a KMS key, then the -// default KMS key for Amazon EFS, /aws/elasticfilesystem, is used to protect -// the encrypted file system. -Encrypted *bool `json:"encrypted,omitempty"` -FileSystemProtection *UpdateFileSystemProtectionInput `json:"fileSystemProtection,omitempty"` -// The ID of the KMS key that you want to use to protect the encrypted file -// system. This parameter is required only if you want to use a non-default -// KMS key. If this parameter is not specified, the default KMS key for Amazon -// EFS is used. You can specify a KMS key ID using the following formats: -// -// * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. -// -// * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. -// -// * Key alias - A previously created display name for a key, for example -// alias/projectKey1. -// -// * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. -// -// If you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter -// to true. -// -// EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with -// Amazon EFS file systems. -KMSKeyID *string `json:"kmsKeyID,omitempty"` -KMSKeyRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"kmsKeyRef,omitempty"` -// An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration -// object. A LifecycleConfiguration object informs lifecycle management of the -// following: -// -// * TransitionToIA – When to move files in the file system from primary -// storage (Standard storage class) into the Infrequent Access (IA) storage. -// -// * TransitionToArchive – When to move files in the file system from their -// current storage class (either IA or Standard storage) into the Archive -// storage. File systems cannot transition into Archive storage before transitioning -// into IA storage. Therefore, TransitionToArchive must either not be set -// or must be later than TransitionToIA. The Archive storage class is available -// only for file systems that use the Elastic throughput mode and the General -// Purpose performance mode. -// -// * TransitionToPrimaryStorageClass – Whether to move files in the file -// system back to primary storage (Standard storage class) after they are -// accessed in IA or Archive storage. -// -// When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration -// API action, Amazon EFS requires that each LifecyclePolicy object have only -// a single transition. This means that in a request body, LifecyclePolicies -// must be structured as an array of LifecyclePolicy objects, one object for -// each storage transition. See the example requests in the following section -// for more information. -LifecyclePolicies []*LifecyclePolicy `json:"lifecyclePolicies,omitempty"` -// The performance mode of the file system. We recommend generalPurpose performance -// mode for all file systems. File systems using the maxIO performance mode -// can scale to higher levels of aggregate throughput and operations per second -// with a tradeoff of slightly higher latencies for most file operations. The -// performance mode can't be changed after the file system has been created. -// The maxIO mode is not supported on One Zone file systems. -// -// Due to the higher per-operation latencies with Max I/O, we recommend using -// General Purpose performance mode for all file systems. -// -// Default is generalPurpose. -PerformanceMode *string `json:"performanceMode,omitempty"` -// The FileSystemPolicy that you're creating. Accepts a JSON formatted policy -// definition. EFS file system policies have a 20,000 character limit. To find -// out more about the elements that make up a file system policy, see Resource-based -// policies within Amazon EFS (https://docs.aws.amazon.com/efs/latest/ug/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies). -Policy *string `json:"policy,omitempty"` -// The throughput, measured in mebibytes per second (MiBps), that you want to -// provision for a file system that you're creating. Required if ThroughputMode -// is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit -// depending on Region. To increase this limit, contact Amazon Web Services -// Support. For more information, see Amazon EFS quotas that you can increase -// (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) in the -// Amazon EFS User Guide. -ProvisionedThroughputInMiBps *float64 `json:"provisionedThroughputInMiBps,omitempty"` -// Use to create one or more tags associated with the file system. Each tag -// is a user-defined key-value pair. Name your file system on creation by including -// a "Key":"Name","Value":"{value}" key-value pair. Each key must be unique. -// For more information, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) -// in the Amazon Web Services General Reference Guide. -Tags []*Tag `json:"tags,omitempty"` -// Specifies the throughput mode for the file system. The mode can be bursting, -// provisioned, or elastic. If you set ThroughputMode to provisioned, you must -// also set a value for ProvisionedThroughputInMibps. After you create the file -// system, you can decrease your file system's Provisioned throughput or change -// between the throughput modes, with certain time restrictions. For more information, -// see Specifying throughput with provisioned mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput) -// in the Amazon EFS User Guide. -// -// Default is bursting. -ThroughputMode *string `json:"throughputMode,omitempty"` + // For One Zone file systems, specify the Amazon Web Services Availability Zone + // in which to create the file system. Use the format us-east-1a to specify + // the Availability Zone. For more information about One Zone file systems, + // see EFS file system types (https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html#file-system-type) + // in the Amazon EFS User Guide. + // + // One Zone file systems are not available in all Availability Zones in Amazon + // Web Services Regions where Amazon EFS is available. + AvailabilityZoneName *string `json:"availabilityZoneName,omitempty"` + // Specifies whether automatic backups are enabled on the file system that you + // are creating. Set the value to true to enable automatic backups. If you are + // creating a One Zone file system, automatic backups are enabled by default. + // For more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups) + // in the Amazon EFS User Guide. + // + // Default is false. However, if you specify an AvailabilityZoneName, the default + // is true. + // + // Backup is not available in all Amazon Web Services Regions where Amazon EFS + // is available. + Backup *bool `json:"backup,omitempty"` + // The backup policy included in the PutBackupPolicy request. + BackupPolicy *BackupPolicy `json:"backupPolicy,omitempty"` + // A Boolean value that, if true, creates an encrypted file system. When creating + // an encrypted file system, you have the option of specifying an existing Key + // Management Service key (KMS key). If you don't specify a KMS key, then the + // default KMS key for Amazon EFS, /aws/elasticfilesystem, is used to protect + // the encrypted file system. + Encrypted *bool `json:"encrypted,omitempty"` + FileSystemProtection *UpdateFileSystemProtectionInput `json:"fileSystemProtection,omitempty"` + // The ID of the KMS key that you want to use to protect the encrypted file + // system. This parameter is required only if you want to use a non-default + // KMS key. If this parameter is not specified, the default KMS key for Amazon + // EFS is used. You can specify a KMS key ID using the following formats: + // + // - Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. + // + // - ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + // + // - Key alias - A previously created display name for a key, for example + // alias/projectKey1. + // + // - Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. + // + // If you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter + // to true. + // + // EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with + // Amazon EFS file systems. + KMSKeyID *string `json:"kmsKeyID,omitempty"` + KMSKeyRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"kmsKeyRef,omitempty"` + // An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration + // object. A LifecycleConfiguration object informs lifecycle management of the + // following: + // + // - TransitionToIA – When to move files in the file system from primary + // storage (Standard storage class) into the Infrequent Access (IA) storage. + // + // - TransitionToArchive – When to move files in the file system from their + // current storage class (either IA or Standard storage) into the Archive + // storage. File systems cannot transition into Archive storage before transitioning + // into IA storage. Therefore, TransitionToArchive must either not be set + // or must be later than TransitionToIA. The Archive storage class is available + // only for file systems that use the Elastic throughput mode and the General + // Purpose performance mode. + // + // - TransitionToPrimaryStorageClass – Whether to move files in the file + // system back to primary storage (Standard storage class) after they are + // accessed in IA or Archive storage. + // + // When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration + // API action, Amazon EFS requires that each LifecyclePolicy object have only + // a single transition. This means that in a request body, LifecyclePolicies + // must be structured as an array of LifecyclePolicy objects, one object for + // each storage transition. See the example requests in the following section + // for more information. + LifecyclePolicies []*LifecyclePolicy `json:"lifecyclePolicies,omitempty"` + // The performance mode of the file system. We recommend generalPurpose performance + // mode for all file systems. File systems using the maxIO performance mode + // can scale to higher levels of aggregate throughput and operations per second + // with a tradeoff of slightly higher latencies for most file operations. The + // performance mode can't be changed after the file system has been created. + // The maxIO mode is not supported on One Zone file systems. + // + // Due to the higher per-operation latencies with Max I/O, we recommend using + // General Purpose performance mode for all file systems. + // + // Default is generalPurpose. + PerformanceMode *string `json:"performanceMode,omitempty"` + // The FileSystemPolicy that you're creating. Accepts a JSON formatted policy + // definition. EFS file system policies have a 20,000 character limit. To find + // out more about the elements that make up a file system policy, see Resource-based + // policies within Amazon EFS (https://docs.aws.amazon.com/efs/latest/ug/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies). + Policy *string `json:"policy,omitempty"` + // The throughput, measured in mebibytes per second (MiBps), that you want to + // provision for a file system that you're creating. Required if ThroughputMode + // is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit + // depending on Region. To increase this limit, contact Amazon Web Services + // Support. For more information, see Amazon EFS quotas that you can increase + // (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) in the + // Amazon EFS User Guide. + ProvisionedThroughputInMiBps *float64 `json:"provisionedThroughputInMiBps,omitempty"` + // Use to create one or more tags associated with the file system. Each tag + // is a user-defined key-value pair. Name your file system on creation by including + // a "Key":"Name","Value":"{value}" key-value pair. Each key must be unique. + // For more information, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // in the Amazon Web Services General Reference Guide. + Tags []*Tag `json:"tags,omitempty"` + // Specifies the throughput mode for the file system. The mode can be bursting, + // provisioned, or elastic. If you set ThroughputMode to provisioned, you must + // also set a value for ProvisionedThroughputInMibps. After you create the file + // system, you can decrease your file system's Provisioned throughput or change + // between the throughput modes, with certain time restrictions. For more information, + // see Specifying throughput with provisioned mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput) + // in the Amazon EFS User Guide. + // + // Default is bursting. + ThroughputMode *string `json:"throughputMode,omitempty"` } // FileSystemStatus defines the observed state of FileSystem @@ -157,10 +157,10 @@ type FileSystemStatus struct { // +kubebuilder:validation:Optional Conditions []*ackv1alpha1.Condition `json:"conditions"` // The unique and consistent identifier of the Availability Zone in which the -// file system is located, and is valid only for One Zone file systems. For -// example, use1-az1 is an Availability Zone ID for the us-east-1 Amazon Web -// Services Region, and it has the same location in every Amazon Web Services -// account. + // file system is located, and is valid only for One Zone file systems. For + // example, use1-az1 is an Availability Zone ID for the us-east-1 Amazon Web + // Services Region, and it has the same location in every Amazon Web Services + // account. // +kubebuilder:validation:Optional AvailabilityZoneID *string `json:"availabilityZoneID,omitempty"` // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z). @@ -173,26 +173,26 @@ type FileSystemStatus struct { // +kubebuilder:validation:Optional LifeCycleState *string `json:"lifeCycleState,omitempty"` // You can add tags to a file system, including a Name tag. For more information, -// see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns -// the value in this field. + // see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns + // the value in this field. // +kubebuilder:validation:Optional Name *string `json:"name,omitempty"` // The current number of mount targets that the file system has. For more information, -// see CreateMountTarget. + // see CreateMountTarget. // +kubebuilder:validation:Optional NumberOfMountTargets *int64 `json:"numberOfMountTargets,omitempty"` // The Amazon Web Services account that created the file system. // +kubebuilder:validation:Optional OwnerID *string `json:"ownerID,omitempty"` // The latest known metered size (in bytes) of data stored in the file system, -// in its Value field, and the time at which that size was determined in its -// Timestamp field. The Timestamp value is the integer number of seconds since -// 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of -// a consistent snapshot of the file system, but it is eventually consistent -// when there are no writes to the file system. That is, SizeInBytes represents -// actual size only if the file system is not modified for a period longer than -// a couple of hours. Otherwise, the value is not the exact size that the file -// system was at any point in time. + // in its Value field, and the time at which that size was determined in its + // Timestamp field. The Timestamp value is the integer number of seconds since + // 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of + // a consistent snapshot of the file system, but it is eventually consistent + // when there are no writes to the file system. That is, SizeInBytes represents + // actual size only if the file system is not modified for a period longer than + // a couple of hours. Otherwise, the value is not the exact size that the file + // system was at any point in time. // +kubebuilder:validation:Optional SizeInBytes *FileSystemSize `json:"sizeInBytes,omitempty"` } @@ -213,8 +213,8 @@ type FileSystemStatus struct { type FileSystem struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec FileSystemSpec `json:"spec,omitempty"` - Status FileSystemStatus `json:"status,omitempty"` + Spec FileSystemSpec `json:"spec,omitempty"` + Status FileSystemStatus `json:"status,omitempty"` } // FileSystemList contains a list of FileSystem @@ -222,7 +222,7 @@ type FileSystem struct { type FileSystemList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` - Items []FileSystem `json:"items"` + Items []FileSystem `json:"items"` } func init() { diff --git a/apis/v1alpha1/groupversion_info.go b/apis/v1alpha1/groupversion_info.go index 2e6aa23..a058631 100644 --- a/apis/v1alpha1/groupversion_info.go +++ b/apis/v1alpha1/groupversion_info.go @@ -16,17 +16,17 @@ package v1alpha1 import ( - "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-runtime/pkg/scheme" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" ) var ( - // GroupVersion is the API Group Version used to register the objects - GroupVersion = schema.GroupVersion{Group: "efs.services.k8s.aws", Version: "v1alpha1"} + // GroupVersion is the API Group Version used to register the objects + GroupVersion = schema.GroupVersion{Group: "efs.services.k8s.aws", Version: "v1alpha1"} - // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} - // AddToScheme adds the types in this group-version to the given scheme. - AddToScheme = SchemeBuilder.AddToScheme + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme ) diff --git a/apis/v1alpha1/mount_target.go b/apis/v1alpha1/mount_target.go index c93ff50..48e5921 100644 --- a/apis/v1alpha1/mount_target.go +++ b/apis/v1alpha1/mount_target.go @@ -23,19 +23,19 @@ import ( // MountTargetSpec defines the desired state of MountTarget. type MountTargetSpec struct { -// The ID of the file system for which to create the mount target. -FileSystemID *string `json:"fileSystemID,omitempty"` -FileSystemRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"fileSystemRef,omitempty"` -// Valid IPv4 address within the address range of the specified subnet. -IPAddress *string `json:"ipAddress,omitempty"` -SecurityGroupRefs []*ackv1alpha1.AWSResourceReferenceWrapper `json:"securityGroupRefs,omitempty"` -// Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be -// for the same VPC as subnet specified. -SecurityGroups []*string `json:"securityGroups,omitempty"` -// The ID of the subnet to add the mount target in. For One Zone file systems, -// use the subnet that is associated with the file system's Availability Zone. -SubnetID *string `json:"subnetID,omitempty"` -SubnetRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"subnetRef,omitempty"` + // The ID of the file system for which to create the mount target. + FileSystemID *string `json:"fileSystemID,omitempty"` + FileSystemRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"fileSystemRef,omitempty"` + // Valid IPv4 address within the address range of the specified subnet. + IPAddress *string `json:"ipAddress,omitempty"` + SecurityGroupRefs []*ackv1alpha1.AWSResourceReferenceWrapper `json:"securityGroupRefs,omitempty"` + // Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be + // for the same VPC as subnet specified. + SecurityGroups []*string `json:"securityGroups,omitempty"` + // The ID of the subnet to add the mount target in. For One Zone file systems, + // use the subnet that is associated with the file system's Availability Zone. + SubnetID *string `json:"subnetID,omitempty"` + SubnetRef *ackv1alpha1.AWSResourceReferenceWrapper `json:"subnetRef,omitempty"` } // MountTargetStatus defines the observed state of MountTarget @@ -52,15 +52,15 @@ type MountTargetStatus struct { // +kubebuilder:validation:Optional Conditions []*ackv1alpha1.Condition `json:"conditions"` // The unique and consistent identifier of the Availability Zone that the mount -// target resides in. For example, use1-az1 is an AZ ID for the us-east-1 Region -// and it has the same location in every Amazon Web Services account. + // target resides in. For example, use1-az1 is an AZ ID for the us-east-1 Region + // and it has the same location in every Amazon Web Services account. // +kubebuilder:validation:Optional AvailabilityZoneID *string `json:"availabilityZoneID,omitempty"` // The name of the Availability Zone in which the mount target is located. Availability -// Zones are independently mapped to names for each Amazon Web Services account. -// For example, the Availability Zone us-east-1a for your Amazon Web Services -// account might not be the same location as us-east-1a for another Amazon Web -// Services account. + // Zones are independently mapped to names for each Amazon Web Services account. + // For example, the Availability Zone us-east-1a for your Amazon Web Services + // account might not be the same location as us-east-1a for another Amazon Web + // Services account. // +kubebuilder:validation:Optional AvailabilityZoneName *string `json:"availabilityZoneName,omitempty"` // Lifecycle state of the mount target. @@ -70,7 +70,7 @@ type MountTargetStatus struct { // +kubebuilder:validation:Optional MountTargetID *string `json:"mountTargetID,omitempty"` // The ID of the network interface that Amazon EFS created when it created the -// mount target. + // mount target. // +kubebuilder:validation:Optional NetworkInterfaceID *string `json:"networkInterfaceID,omitempty"` // Amazon Web Services account ID that owns the resource. @@ -97,8 +97,8 @@ type MountTargetStatus struct { type MountTarget struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec MountTargetSpec `json:"spec,omitempty"` - Status MountTargetStatus `json:"status,omitempty"` + Spec MountTargetSpec `json:"spec,omitempty"` + Status MountTargetStatus `json:"status,omitempty"` } // MountTargetList contains a list of MountTarget @@ -106,7 +106,7 @@ type MountTarget struct { type MountTargetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` - Items []MountTarget `json:"items"` + Items []MountTarget `json:"items"` } func init() { diff --git a/apis/v1alpha1/types.go b/apis/v1alpha1/types.go index 33eefb3..52730c9 100644 --- a/apis/v1alpha1/types.go +++ b/apis/v1alpha1/types.go @@ -28,29 +28,27 @@ var ( _ = ackv1alpha1.AWSAccountID("") ) - // Provides a description of an EFS file system access point. type AccessPointDescription struct { AccessPointARN *string `json:"accessPointARN,omitempty"` - AccessPointID *string `json:"accessPointID,omitempty"` - FileSystemID *string `json:"fileSystemID,omitempty"` + AccessPointID *string `json:"accessPointID,omitempty"` + FileSystemID *string `json:"fileSystemID,omitempty"` LifeCycleState *string `json:"lifeCycleState,omitempty"` - Name *string `json:"name,omitempty"` - OwnerID *string `json:"ownerID,omitempty"` + Name *string `json:"name,omitempty"` + OwnerID *string `json:"ownerID,omitempty"` // 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. + // group IDs, on the access point that is used for all file system operations + // performed by NFS clients using the access point. PosixUser *PosixUser `json:"posixUser,omitempty"` // Specifies the directory on the Amazon EFS file system that the access point -// provides access to. The access point exposes the specified file system path -// as the root directory of your file system to applications using the access -// point. NFS clients using the access point can only access data in the access -// point's RootDirectory and its subdirectories. + // provides access to. The access point exposes the specified file system path + // as the root directory of your file system to applications using the access + // point. NFS clients using the access point can only access data in the access + // point's RootDirectory and its subdirectories. RootDirectory *RootDirectory `json:"rootDirectory,omitempty"` - Tags []*Tag `json:"tags,omitempty"` + Tags []*Tag `json:"tags,omitempty"` } - // The backup policy for the file system used to create automatic daily backups. // If status has a value of ENABLED, the file system is being automatically // backed up. For more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups). @@ -58,105 +56,99 @@ type BackupPolicy struct { Status *string `json:"status,omitempty"` } - // Required if the RootDirectory > Path specified does not exist. Specifies // the POSIX IDs and permissions to apply to the access point's RootDirectory // > Path. If the access point root directory does not exist, EFS creates it // with these settings when a client connects to the access point. When specifying // CreationInfo, you must include values for all properties. -// +// // Amazon EFS creates a root directory only if you have provided the CreationInfo: // OwnUid, OwnGID, and permissions for the directory. If you do not provide // this information, Amazon EFS does not create the root directory. If the root // directory does not exist, attempts to mount using the access point will fail. -// +// // If you do not provide CreationInfo and the specified RootDirectory does not // exist, attempts to mount the file system using the access point will fail. type CreationInfo struct { - OwnerGID *int64 `json:"ownerGID,omitempty"` - OwnerUID *int64 `json:"ownerUID,omitempty"` + OwnerGID *int64 `json:"ownerGID,omitempty"` + OwnerUID *int64 `json:"ownerUID,omitempty"` Permissions *string `json:"permissions,omitempty"` } - // Describes the destination file system in the replication configuration. type Destination struct { - FileSystemID *string `json:"fileSystemID,omitempty"` + FileSystemID *string `json:"fileSystemID,omitempty"` LastReplicatedTimestamp *metav1.Time `json:"lastReplicatedTimestamp,omitempty"` - OwnerID *string `json:"ownerID,omitempty"` + OwnerID *string `json:"ownerID,omitempty"` } - // Describes the new or existing destination file system for the replication // configuration. -// -// * If you want to replicate to a new file system, do not specify the File -// System ID for the destination file system. Amazon EFS creates a new, empty -// file system. For One Zone storage, specify the Availability Zone to create -// the file system in. To use an Key Management Service key other than the -// default KMS key, then specify it. For more information, see Configuring -// replication to new Amazon EFS file system (https://docs.aws.amazon.com/efs/latest/ug/create-replication.html) -// in the Amazon EFS User Guide. After the file system is created, you cannot -// change the KMS key or the performance mode. -// -// * If you want to replicate to an existing file system that's in the same -// account as the source file system, then you need to provide the ID or -// Amazon Resource Name (ARN) of the file system to which to replicate. The -// file system's replication overwrite protection must be disabled. For more -// information, see Replicating to an existing file system (https://docs.aws.amazon.com/efs/latest/ug/efs-replication#replicate-existing-destination) -// in the Amazon EFS User Guide. -// -// * If you are replicating the file system to a file system that's in a -// different account than the source file system (cross-account replication), -// you need to provide the ARN for the file system and the IAM role that -// allows Amazon EFS to perform replication on the destination account. The -// file system's replication overwrite protection must be disabled. For more -// information, see Replicating across Amazon Web Services accounts (https://docs.aws.amazon.com/efs/latest/ug/cross-account-replication.html) -// in the Amazon EFS User Guide. +// +// - If you want to replicate to a new file system, do not specify the File +// System ID for the destination file system. Amazon EFS creates a new, empty +// file system. For One Zone storage, specify the Availability Zone to create +// the file system in. To use an Key Management Service key other than the +// default KMS key, then specify it. For more information, see Configuring +// replication to new Amazon EFS file system (https://docs.aws.amazon.com/efs/latest/ug/create-replication.html) +// in the Amazon EFS User Guide. After the file system is created, you cannot +// change the KMS key or the performance mode. +// +// - If you want to replicate to an existing file system that's in the same +// account as the source file system, then you need to provide the ID or +// Amazon Resource Name (ARN) of the file system to which to replicate. The +// file system's replication overwrite protection must be disabled. For more +// information, see Replicating to an existing file system (https://docs.aws.amazon.com/efs/latest/ug/efs-replication#replicate-existing-destination) +// in the Amazon EFS User Guide. +// +// - If you are replicating the file system to a file system that's in a +// different account than the source file system (cross-account replication), +// you need to provide the ARN for the file system and the IAM role that +// allows Amazon EFS to perform replication on the destination account. The +// file system's replication overwrite protection must be disabled. For more +// information, see Replicating across Amazon Web Services accounts (https://docs.aws.amazon.com/efs/latest/ug/cross-account-replication.html) +// in the Amazon EFS User Guide. type DestinationToCreate struct { AvailabilityZoneName *string `json:"availabilityZoneName,omitempty"` - FileSystemID *string `json:"fileSystemID,omitempty"` - KMSKeyID *string `json:"kmsKeyID,omitempty"` + FileSystemID *string `json:"fileSystemID,omitempty"` + KMSKeyID *string `json:"kmsKeyID,omitempty"` } - // A description of the file system. type FileSystemDescription struct { - AvailabilityZoneID *string `json:"availabilityZoneID,omitempty"` - AvailabilityZoneName *string `json:"availabilityZoneName,omitempty"` - CreationTime *metav1.Time `json:"creationTime,omitempty"` - Encrypted *bool `json:"encrypted,omitempty"` - FileSystemARN *string `json:"fileSystemARN,omitempty"` - FileSystemID *string `json:"fileSystemID,omitempty"` + AvailabilityZoneID *string `json:"availabilityZoneID,omitempty"` + AvailabilityZoneName *string `json:"availabilityZoneName,omitempty"` + CreationTime *metav1.Time `json:"creationTime,omitempty"` + Encrypted *bool `json:"encrypted,omitempty"` + FileSystemARN *string `json:"fileSystemARN,omitempty"` + FileSystemID *string `json:"fileSystemID,omitempty"` // Describes the protection on a file system. - FileSystemProtection *FileSystemProtectionDescription `json:"fileSystemProtection,omitempty"` - KMSKeyID *string `json:"kmsKeyID,omitempty"` - LifeCycleState *string `json:"lifeCycleState,omitempty"` - Name *string `json:"name,omitempty"` - NumberOfMountTargets *int64 `json:"numberOfMountTargets,omitempty"` - OwnerID *string `json:"ownerID,omitempty"` - PerformanceMode *string `json:"performanceMode,omitempty"` - ProvisionedThroughputInMiBps *float64 `json:"provisionedThroughputInMiBps,omitempty"` + FileSystemProtection *FileSystemProtectionDescription `json:"fileSystemProtection,omitempty"` + KMSKeyID *string `json:"kmsKeyID,omitempty"` + LifeCycleState *string `json:"lifeCycleState,omitempty"` + Name *string `json:"name,omitempty"` + NumberOfMountTargets *int64 `json:"numberOfMountTargets,omitempty"` + OwnerID *string `json:"ownerID,omitempty"` + PerformanceMode *string `json:"performanceMode,omitempty"` + ProvisionedThroughputInMiBps *float64 `json:"provisionedThroughputInMiBps,omitempty"` // The latest known metered size (in bytes) of data stored in the file system, -// in its Value field, and the time at which that size was determined in its -// Timestamp field. The value doesn't represent the size of a consistent snapshot -// of the file system, but it is eventually consistent when there are no writes -// to the file system. That is, the value represents the actual size only if -// the file system is not modified for a period longer than a couple of hours. -// Otherwise, the value is not necessarily the exact size the file system was -// at any instant in time. - SizeInBytes *FileSystemSize `json:"sizeInBytes,omitempty"` - Tags []*Tag `json:"tags,omitempty"` - ThroughputMode *string `json:"throughputMode,omitempty"` + // in its Value field, and the time at which that size was determined in its + // Timestamp field. The value doesn't represent the size of a consistent snapshot + // of the file system, but it is eventually consistent when there are no writes + // to the file system. That is, the value represents the actual size only if + // the file system is not modified for a period longer than a couple of hours. + // Otherwise, the value is not necessarily the exact size the file system was + // at any instant in time. + SizeInBytes *FileSystemSize `json:"sizeInBytes,omitempty"` + Tags []*Tag `json:"tags,omitempty"` + ThroughputMode *string `json:"throughputMode,omitempty"` } - // Describes the protection on a file system. type FileSystemProtectionDescription struct { ReplicationOverwriteProtection *string `json:"replicationOverwriteProtection,omitempty"` } - // The latest known metered size (in bytes) of data stored in the file system, // in its Value field, and the time at which that size was determined in its // Timestamp field. The value doesn't represent the size of a consistent snapshot @@ -166,65 +158,60 @@ type FileSystemProtectionDescription struct { // Otherwise, the value is not necessarily the exact size the file system was // at any instant in time. type FileSystemSize struct { - Timestamp *metav1.Time `json:"timestamp,omitempty"` - Value *int64 `json:"value,omitempty"` - ValueInArchive *int64 `json:"valueInArchive,omitempty"` - ValueInIA *int64 `json:"valueInIA,omitempty"` - ValueInStandard *int64 `json:"valueInStandard,omitempty"` + Timestamp *metav1.Time `json:"timestamp,omitempty"` + Value *int64 `json:"value,omitempty"` + ValueInArchive *int64 `json:"valueInArchive,omitempty"` + ValueInIA *int64 `json:"valueInIA,omitempty"` + ValueInStandard *int64 `json:"valueInStandard,omitempty"` } - // Describes a policy used by lifecycle management that specifies when to transition // files into and out of storage classes. For more information, see Managing // file system storage (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html). -// +// // When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration // API action, Amazon EFS requires that each LifecyclePolicy object have only // a single transition. This means that in a request body, LifecyclePolicies // must be structured as an array of LifecyclePolicy objects, one object for // each transition. For more information, see the request examples in PutLifecycleConfiguration. type LifecyclePolicy struct { - TransitionToArchive *string `json:"transitionToArchive,omitempty"` - TransitionToIA *string `json:"transitionToIA,omitempty"` + TransitionToArchive *string `json:"transitionToArchive,omitempty"` + TransitionToIA *string `json:"transitionToIA,omitempty"` TransitionToPrimaryStorageClass *string `json:"transitionToPrimaryStorageClass,omitempty"` } - // Provides a description of a mount target. type MountTargetDescription struct { - AvailabilityZoneID *string `json:"availabilityZoneID,omitempty"` + AvailabilityZoneID *string `json:"availabilityZoneID,omitempty"` AvailabilityZoneName *string `json:"availabilityZoneName,omitempty"` - FileSystemID *string `json:"fileSystemID,omitempty"` - IPAddress *string `json:"ipAddress,omitempty"` - LifeCycleState *string `json:"lifeCycleState,omitempty"` - MountTargetID *string `json:"mountTargetID,omitempty"` - NetworkInterfaceID *string `json:"networkInterfaceID,omitempty"` - OwnerID *string `json:"ownerID,omitempty"` - SubnetID *string `json:"subnetID,omitempty"` - VPCID *string `json:"vpcID,omitempty"` + FileSystemID *string `json:"fileSystemID,omitempty"` + IPAddress *string `json:"ipAddress,omitempty"` + LifeCycleState *string `json:"lifeCycleState,omitempty"` + MountTargetID *string `json:"mountTargetID,omitempty"` + NetworkInterfaceID *string `json:"networkInterfaceID,omitempty"` + OwnerID *string `json:"ownerID,omitempty"` + SubnetID *string `json:"subnetID,omitempty"` + VPCID *string `json:"vpcID,omitempty"` } - // 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. type PosixUser struct { - GID *int64 `json:"gid,omitempty"` + GID *int64 `json:"gid,omitempty"` SecondaryGIDs []*int64 `json:"secondaryGIDs,omitempty"` - UID *int64 `json:"uid,omitempty"` + UID *int64 `json:"uid,omitempty"` } - // Describes the replication configuration for a specific file system. type ReplicationConfigurationDescription struct { - CreationTime *metav1.Time `json:"creationTime,omitempty"` - OriginalSourceFileSystemARN *string `json:"originalSourceFileSystemARN,omitempty"` - SourceFileSystemARN *string `json:"sourceFileSystemARN,omitempty"` - SourceFileSystemID *string `json:"sourceFileSystemID,omitempty"` - SourceFileSystemOwnerID *string `json:"sourceFileSystemOwnerID,omitempty"` + CreationTime *metav1.Time `json:"creationTime,omitempty"` + OriginalSourceFileSystemARN *string `json:"originalSourceFileSystemARN,omitempty"` + SourceFileSystemARN *string `json:"sourceFileSystemARN,omitempty"` + SourceFileSystemID *string `json:"sourceFileSystemID,omitempty"` + SourceFileSystemOwnerID *string `json:"sourceFileSystemOwnerID,omitempty"` } - // Specifies the directory on the Amazon EFS file system that the access point // provides access to. The access point exposes the specified file system path // as the root directory of your file system to applications using the access @@ -232,32 +219,30 @@ type ReplicationConfigurationDescription struct { // point's RootDirectory and its subdirectories. type RootDirectory struct { // Required if the RootDirectory > Path specified does not exist. Specifies -// the POSIX IDs and permissions to apply to the access point's RootDirectory -// > Path. If the access point root directory does not exist, EFS creates it -// with these settings when a client connects to the access point. When specifying -// CreationInfo, you must include values for all properties. -// -// Amazon EFS creates a root directory only if you have provided the CreationInfo: -// OwnUid, OwnGID, and permissions for the directory. If you do not provide -// this information, Amazon EFS does not create the root directory. If the root -// directory does not exist, attempts to mount using the access point will fail. -// -// If you do not provide CreationInfo and the specified RootDirectory does not -// exist, attempts to mount the file system using the access point will fail. + // the POSIX IDs and permissions to apply to the access point's RootDirectory + // > Path. If the access point root directory does not exist, EFS creates it + // with these settings when a client connects to the access point. When specifying + // CreationInfo, you must include values for all properties. + // + // Amazon EFS creates a root directory only if you have provided the CreationInfo: + // OwnUid, OwnGID, and permissions for the directory. If you do not provide + // this information, Amazon EFS does not create the root directory. If the root + // directory does not exist, attempts to mount using the access point will fail. + // + // If you do not provide CreationInfo and the specified RootDirectory does not + // exist, attempts to mount the file system using the access point will fail. CreationInfo *CreationInfo `json:"creationInfo,omitempty"` - Path *string `json:"path,omitempty"` + Path *string `json:"path,omitempty"` } - // A tag is a key-value pair. Allowed characters are letters, white space, and // numbers that can be represented in UTF-8, and the following characters:+ // - = . _ : /. type Tag struct { - Key *string `json:"key,omitempty"` + Key *string `json:"key,omitempty"` Value *string `json:"value,omitempty"` } - type UpdateFileSystemProtectionInput struct { ReplicationOverwriteProtection *string `json:"replicationOverwriteProtection,omitempty"` -} \ No newline at end of file +} diff --git a/config/controller/kustomization.yaml b/config/controller/kustomization.yaml index cae5f09..d83c4c4 100644 --- a/config/controller/kustomization.yaml +++ b/config/controller/kustomization.yaml @@ -6,4 +6,4 @@ kind: Kustomization images: - name: controller newName: public.ecr.aws/aws-controllers-k8s/efs-controller - newTag: 1.0.3 + newTag: 1.0.4 diff --git a/go.mod b/go.mod index 61ee0a3..daf6767 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ toolchain go1.22.5 require ( github.com/aws-controllers-k8s/ec2-controller v1.2.2 github.com/aws-controllers-k8s/kms-controller v1.0.9 - github.com/aws-controllers-k8s/runtime v0.41.1-0.20250204215244-e48dd7b2d6d0 + github.com/aws-controllers-k8s/runtime v0.42.0 github.com/aws/aws-sdk-go v1.49.24 github.com/aws/aws-sdk-go-v2 v1.34.0 github.com/aws/aws-sdk-go-v2/service/efs v1.34.7 diff --git a/go.sum b/go.sum index aaf4ef4..e260770 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ github.com/aws-controllers-k8s/ec2-controller v1.2.2 h1:ek/cGd76XTWQXe6185nxrmEm github.com/aws-controllers-k8s/ec2-controller v1.2.2/go.mod h1:4e2L1aHo1fk3ihVTRmnhA6VJ2NSSoYPEf1GZNYYPwLw= github.com/aws-controllers-k8s/kms-controller v1.0.9 h1:GZHSnuZBoWp9r6RaJ3siyDn5BRhDuaZJXtdBKeAiLSw= github.com/aws-controllers-k8s/kms-controller v1.0.9/go.mod h1:Pnz0d5sly7dUgmYMDJWSRIKASOujJFi/b8N2q1qCLqU= -github.com/aws-controllers-k8s/runtime v0.41.1-0.20250204215244-e48dd7b2d6d0 h1:ygZwhPfearlE8/P0HY8rXpFsbarwJ5tzBIov+3xgQfk= -github.com/aws-controllers-k8s/runtime v0.41.1-0.20250204215244-e48dd7b2d6d0/go.mod h1:Oy0JKvDxZMZ+SVupm4NZVqP00KLIIAMfk93KnOwlt5c= +github.com/aws-controllers-k8s/runtime v0.42.0 h1:fVb3cOwUtn0ZwTSedapES+Rspb97S8BTxMqXJt6R5uM= +github.com/aws-controllers-k8s/runtime v0.42.0/go.mod h1:Oy0JKvDxZMZ+SVupm4NZVqP00KLIIAMfk93KnOwlt5c= github.com/aws/aws-sdk-go v1.49.24 h1:2ekq9ZvaoB2aRbTDfARzgVGUBB9N8XD2QYhFmTBlp+c= github.com/aws/aws-sdk-go v1.49.24/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v1.34.0 h1:9iyL+cjifckRGEVpRKZP3eIxVlL06Qk1Tk13vreaVQU= diff --git a/helm/Chart.yaml b/helm/Chart.yaml index ba0faf6..ea38464 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: efs-chart description: A Helm chart for the ACK service controller for Amazon Elastic File System (EFS) -version: 1.0.3 -appVersion: 1.0.3 +version: 1.0.4 +appVersion: 1.0.4 home: https://github.com/aws-controllers-k8s/efs-controller icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png sources: diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt index fb13bb1..59741c0 100644 --- a/helm/templates/NOTES.txt +++ b/helm/templates/NOTES.txt @@ -1,5 +1,5 @@ {{ .Chart.Name }} has been installed. -This chart deploys "public.ecr.aws/aws-controllers-k8s/efs-controller:1.0.3". +This chart deploys "public.ecr.aws/aws-controllers-k8s/efs-controller:1.0.4". Check its status by running: kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/helm/values.yaml b/helm/values.yaml index 8a3caf6..94d4284 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -4,7 +4,7 @@ image: repository: public.ecr.aws/aws-controllers-k8s/efs-controller - tag: 1.0.3 + tag: 1.0.4 pullPolicy: IfNotPresent pullSecrets: []