Upbound Official
provider-aws-fsx
By upbound
Last changed 2 days ago
Languages
Support
Upbound Supported
12 months window ends 2027/08/10
Security & Maintenance
CVE Remediation
Backporting
FIPS Compatibility
Upbound signed

Notice something off about this package? Help us keep the marketplace safe and trustworthy by reporting inappropriate content or behavior.

Report this package
Overview
Delivers SMB Windows File Server, NetApp ONTAP (NFS/SMB), or parallel Lustre for HPC and ML training with backups, FSx for Lustre data repository links to S3, and multi-AZ options.

Summary

  • Bumps TF AWS provider 6.55.0
  • New managed resources across account, bedrock, bedrockagentcore, cloudwatchlogs, lambda and opensearchserverless API groups
  • Bugfixes and enhancements and CVE remediations
  • Bumps upjet v2.4.1-0.20260728103920-4f6e6e10dff2
  • Bumps crossplane-runtime v2.3.3

⚠️ Breaking bugfix API changes

KeyPair.lightsailstatus.atProvider.privateKey removed (#2136)

The upstream Terraform provider changed private_key on aws_lightsail_key_pair from a regular attribute to a Sensitive attribute. Consequently:

  • status.atProvider.privateKey is removed from the CRD
  • The private key is now written to the connection details secret after creation instead.

The private key is only available at creation time and cannot be re-read from AWS. Back up existing keys before upgrading, and make sure a writeConnectionSecretToRef is configured for new KeyPair resources.

Go module consumers: crossplane-runtime v2.3 changes (#2171)

All generated API types moved their common Crossplane types from github.com/crossplane/crossplane-runtime/v2/apis/common/v1 to github.com/crossplane/crossplane/apis/v2/core/v2. Every *Ref, *Selector, *SecretRef and SecretKeySelector field changed its Go type (v1.Referencev2.Reference, v1.Selectorv2.Selector, v1.SecretKeySelectorxpv2.SecretKeySelector, …).

This is not a CRD/YAML-level change — the schema is identical, so existing manifests and stored objects are unaffected. It is a notification for anyone importing this provider's apis/... packages in Go (e.g. function or composition authors, custom controllers). Please update imports accordingly if needed.

⚠️ Field Deprecations (#2136)

Following fields still work but will be removed in the next major version as underlying TF versions deprecated them. Use the new replacements on external consumers where possible.

KindGroupDeprecated fieldReplacement
S3Endpointdmsspec.forProvider.kmsKeyArnspec.forProvider.serverSideEncryptionKmsKeyId
SecretVersionsecretsmanagerstatus.atProvider.arnstatus.atProvider.secretArn

Cluster.elasticachevalkey removed from spec.forProvider.engine (#2136)

valkey was never a valid engine for the Cluster resource; it was accepted by the CRD enum but rejected by AWS. Aligned with the AWS SDK to avoid confusion (see hashicorp/terraform-provider-aws#41181). Valkey engines continue to be created via ReplicationGroup.elasticache or ServerlessCache.elasticache.


🆕 New managed resources

KindGroupTerraform resourcePR
PrimaryContactaccountaws_account_primary_contact#2181
Guardrailbedrockaws_bedrock_guardrail#2152
Evaluatorbedrockagentcoreaws_bedrockagentcore_evaluator#2143
Harnessbedrockagentcoreaws_bedrockagentcore_harness#2143
OnlineEvaluationConfigbedrockagentcoreaws_bedrockagentcore_online_evaluation_config#2143
Policybedrockagentcoreaws_bedrockagentcore_policy#2143
PolicyEnginebedrockagentcoreaws_bedrockagentcore_policy_engine#2143
ResourcePolicybedrockagentcoreaws_bedrockagentcore_resource_policy#2143
AccountPolicycloudwatchlogsaws_cloudwatch_log_account_policy#2127
RuntimeManagementConfiglambdaaws_lambda_runtime_management_config#2164
CollectionGroupopensearchserverlessaws_opensearchserverless_collection_group#2160

🔼 Terraform AWS provider version bump

  • #21366.34.06.53.0. The single largest change in this release; the KeyPair.lightsail, Cluster.elasticache, required→optional and deprecation items above all originate here. Also backports new fields into cluster-scoped v1beta1 APIs, configures singleton-list conversions for newly added nested blocks, and fixes example manifests the new provider version rejected (Broker.mq, Cluster.elasticache, kafka).
  • #21516.53.06.55.0. Additive at the API level (no removed CRD properties, no new required-field rules, no new deprecations). Carries three fixes not implied by the title:
    • Table.dynamodb — in-place GSI/attribute updates no longer fail validation.
    • Broker.mq — a spurious empty shared_resources diff is dropped, preventing a no-op update.
    • SecurityConfig.opensearchserverlesssamlOptions now uses a regular singleton-list conversion after TF 6.x switched it to a list-nested block. No CRD API change.
  • #2176VaultLockConfiguration.backup now supports updates. The retention arguments are no longer ForceNew, so changing retention on an unlocked vault applies in place instead of looping on upjet's assertNoForceNew refusal (EXT-338). Adds status.atProvider.locked / lockDate and the first example manifests for this kind.
  • #2177InstanceState.rds stoppedavailable transitions (fixes #2100). spec.forProvider.state can now bring a stopped RDS instance back up. Also adds the missing password secrets to the instancestate.yaml examples; Go bumped to 1.26.5.

🐞 Bug fixes

  • #2185 — Streaming configuration propagation to DynamoDB global-table replicas in MRSC mode When streaming is enabled via spec.forProvider.streamEnabled: true in Table.dynamodb in MRSC mode, the configuration is now properly propagated to all the replica tables.
  • #2182 — Perpetual diff on DB parameter groups when only applyMethod differs (fixes #1286, #1444). Affects ParameterGroup / ClusterParameterGroup in the rds, docdb and neptune groups: AWS silently ignores apply-method-only changes, so applyMethod never round-tripped. A shared custom diff now suppresses the parameter diff when all parameter changes are ApplyMethod-only; value changes and additions/removals are untouched.
  • #2140 — Perpetual reconcile loop on LBListenerRule.elbv2 with action.forward. target_group_arn was late-inited into spec but stripped from state on the next Observe, producing a diff on every cycle. Fixed with a forced per-action late-init (which also backfills order and forward.stickiness) plus a custom diff that suppresses the resulting spurious ARN add/remove. Real user-driven ARN changes still apply.
  • #2137 — Stale tag keys in status.atProvider.tags / tagsAll. A tag key removed from or renamed in spec.forProvider.tags kept appearing in status indefinitely. The external AWS resource was always correct — only observed state was wrong.
  • #2117 — External-name oscillation on VPC endpoint associations (fixes #2116). aws_vpc_endpoint_subnet_association and aws_vpc_endpoint_route_table_association flipped the crossplane.io/external-name annotation between the Terraform ID and the import ID on every reconciliation, causing perpetual updates, delete/recreate cycles and AWS 429 throttling. Both forms are now derived deterministically from the named fields.
  • #2122 — Conversion webhooks not served by non-leader replicas. Webhook registration was gated behind leader election, so followers could not serve conversion requests. It now happens eagerly on all pods, with reconciler setup still deferred to the leader.
  • #2156 — Missing performanceInsightsKmsKeyId reference on RDS Instance/Cluster (fixes #2155). Adds the cross-resource reference to aws_kms_key (all versions, both scopes) with the generated Ref/Selector fields, plus KMS example manifests.

🔧 Upjet & crossplane-runtime bumps and their transitive effects

Directly consumed by changes in this release

  • #678 — conversion webhook registration decoupled from leader election. Consumed by #2122.
  • #693 — custom setup-aggregator and terraformed templates, plus the new Terraform.ResourceSchema template variable (replacing Terraform.SchemaVersion). Consumed by #2137 (tags fix) and #2140 (forced late-init).
  • #698 — Plugin Framework external client: fixes "Unexpected Identity Change" errors during Observe for Framework resources with Terraform resource identity, and makes external-name resolution error out when FrameworkResourceWithComputedIdentifier returns the placeholder stub instead of a real identifier. Relevant to the bedrockagentcore and opensearchserverless resources added here. Consumed by #2151.
  • #664 — migrates common API imports to crossplane/apis/v2 for runtime 2.3.x. Consumed by #2171; this is the source of the Go-level v1.Referencev2.Reference change described under Breaking changes.

Observable schema/behavior effects in the shipped CRDs

  • #660 — SSA list-map markers are no longer emitted on observation (status.atProvider) fields. Visible in this release as LBListener.elbv2 status.atProvider.defaultAction losing x-kubernetes-list-type: map / x-kubernetes-list-map-keys: [index] and the injected index default. Removing those markers from a status field is schema-compatible; it stops server-side-apply from treating observed lists as associative maps.
  • crossplane-runtime 2.3.x adds status.lastHandledReconcileAt to every MR CRD in the provider ("holds the value of the most recent reconcile-requested-at annotation token that the controller has processed"). This accounts for the bulk of the 2038 modified CRD files.
  • #684XValidation rules are omitted for required fields that have references, so a field satisfied purely by a *Ref/*Selector no longer trips the "is a required parameter" CEL rule.
  • #672 — configurable Description on SSA InjectedKey.

🔐 Security / CVE remediations

Dependencyv2.6.3v2.7.0
golang.org/x/netv0.56.0v0.57.0
golang.org/x/cryptov0.53.0v0.54.0

✨ Non-breaking Resource API changes

Non-breaking API relaxations (#2136)

The following fields were RequiredOptional (the generated is a required parameter CEL validation rules were dropped). Existing manifests keep working; validation is simply looser now:

KindGroupField
Gatewaybedrockagentcorespec.forProvider.protocolType
MetricAlarmcloudwatchspec.forProvider.comparisonOperator
MetricAlarmcloudwatchspec.forProvider.evaluationPeriods
Brokermqspec.forProvider.user
CloudFormationStackserverlessrepospec.forProvider.capabilities

New Cross-resource references

New cross-resource references generated in this release:

KindGroupFieldTarget
Instance, ClusterrdsperformanceInsightsKmsKeyIdaws_kms_key (#2156)
GuardrailbedrockkmsKeyArnaws_kms_key (#2152)
RuntimeManagementConfiglambdafunctionNameaws_lambda_function (#2164)
CollectionopensearchserverlesscollectionGroupNameaws_opensearchserverless_collection_group (#2160)
AgentRuntimebedrockagentcorefilesystemConfiguration.efsAccessPoint.accessPointArnaws_efs_access_point (#2151)
AgentRuntimebedrockagentcorefilesystemConfiguration.s3FilesAccessPoint.accessPointArnaws_s3_access_point (#2151)
Browser, CodeInterpreterbedrockagentcorecertificate.location.secretsManager.secretArnaws_secretsmanager_secret (#2151)

New fields

New top-level spec.forProvider fields from the Terraform provider bumps (non-exhaustive — nested additions are not listed):

Kind.GroupNew field(s)
RestAPI.apigatewayendpointAccessMode, securityPolicy
AgentRuntime.bedrockagentcorefilesystemConfiguration
Browser.bedrockagentcorebrowserSigning, certificate, enterprisePolicy
CodeInterpreter.bedrockagentcorecertificate
Gateway.bedrockagentcorepolicyEngineConfiguration
GatewayTarget.bedrockagentcoreprivateEndpoint
Memory.bedrockagentcoreindexedKey, streamDeliveryResources
Budget.budgetsmetrics
Distribution.cloudfrontcacheTagConfig
Function.cloudfronttags
MetricAlarm.cloudwatchevaluationCriteria, evaluationInterval
ResourcePolicy.cloudwatchlogsresourceArn
Directory.dsenableDirectoryDataAccess
Table.dynamodbrestoreBackupArn
NetworkInterface.ec2enaSrdSpecification
Route.ec2odbNetworkArn
VPCIpamPoolCidrAllocation.ec2tags
Addon.eksnamespaceConfig
ReplicationGroup.elasticachedurability
ServerlessCache.elasticachenetworkType
User.elasticachepasswordsWo, passwordsWoVersion
LB.elbv2enablePrefixForIpv6SourceNat
Application.emrserverlessjobLevelCostAllocationConfiguration
WindowsFileSystem.fsxselfManagedActiveDirectory.passwordWo
CatalogTable.glueviewDefinition
Connection.glueauthenticationConfiguration (with OAuth2/basic-auth secret refs)
Replicator.kafkalogDelivery
Stream.kinesiswarmThroughputMibPs
EventSourceMapping.lambda, Function.lambdauseResourceTimeoutForPropagation
Broker.mqresourceShareArns
Configuration.mqskipDestroy
Domain.opensearchdeploymentStrategyOptions
Collection.opensearchserverlesscollectionGroupName, encryptionConfig, vectorOptions
ResourceShare.ramresourceShareConfiguration
Cluster.rdsautoMinorVersionUpgrade
Bucket.s3bucketNamespace
DBCluster.timestreaminfluxdb, DBInstance.timestreaminfluxdbmaintenanceSchedule
Server.transferipAddressType
ResourceGateway.vpclatticeresourceConfigDnsResolution
VaultLockConfiguration.backupstatus.atProvider.locked, status.atProvider.lockDate

👥 Project

  • #2163jonasz-lasut added as a maintainer

Full PR list

PRTitleAuthorCategory
#2185Propagate DynamoDB Stream Configuration to Replicas@ulucinarBug fix
#2183fix: delete empty trailing YAML documents from examples@barunavoExamples
#2182fix: suppress ApplyMethod-only diffs for DB parameter groups@erhancagiriciBug fix
#2181account: add PrimaryContact managed resource@davemac30New resource
#2180Revert "account: add PrimaryContact managed resource"@jonasz-lasutRevert
#2177Fix InstanceState.rds stopped → available transitions@ulucinarTF fork bump / Bug fix
#2176Update underlying provider fork to support updates in VaultLockConfiguration@jonasz-lasutTF fork bump / Bug fix
#2173Move main.go.tmpl to the config/templates package@ulucinarEnhancement
#2172account: add PrimaryContact managed resource@davemac30New resource (reverted)
#2171Update crossplane-runtime to v2.3.3@jonasz-lasutFramework bump / Breaking (Go API)
#2170Update all non-major github actionrenovateCI bump
#2169Update dependency crossplane/crossplane to v2.3.4renovateCI bump
#2168Update actions/stale action to v11renovateCI bump
#2167Update actions/setup-go action to v7renovateCI bump
#2166Update actions/cache action to v6renovateCI bump
#2164Add RuntimeManagementConfig.lambda resource@sac-outsystemsNew resource
#2163add jonasz-lasut as maintainer@erhancagiriciProject
#2160Add aws_opensearchserverless_collection_group resource@fed-svNew resource
#2159buildtagger: tag config_test and roundtrip test files@erhancagiriciCI / Enhancement
#2156fix: add missing reference to instance and cluster resources@fernandezcuestaAPI change (references)
#2152feat: add Guardrail.bedrock resource@erhancagiriciNew resource
#2151feat: bump TF AWS provider v6.55.0@erhancagiriciTF bump / Bug fixes
#2147examples/rds: stop hardcoding engineVersion in Instance examples@ulucinarExamples
#2143feat: add new bedrockagentcore resources@erhancagiriciNew resources
#2140Add custom diff and custom late initialize for elbv2.LBListenerRule@sergenyalcinBug fix
#2137Fix stale resource tag keys in status.atProvider.tags/tagsAll@ulucinarBug fix
#2136feat: bump TF provider to v6.53.0@erhancagiriciTF bump / Breaking
#2127Add cloudwatchlogs.AccountPolicy resource@sergenyalcinNew resource
#2124Update actions/checkout action to v7renovateCI bump
#2122Decouple conversion webhook registration from leader election@sergenyalcinBug fix
#2121Update alpine Docker tag to v3.24.1renovateCI bump / Security
#2118renovate: Remove invalid wildcards from renovate config@bobh66CI
#2117Fix VPC endpoint association external name oscillation@aditmenoBug fix
#2112Update dependency kubernetes-sigs/kind to v0.32.0renovateCI bump
#2111Update alpine Docker tag to v3.24.0renovateCI bump / Security
#2095Pin dependenciesrenovateCI / Supply chain
#2088Update crossplane versions in CI to v2.3.2renovateCI bump
#2062Update golangci-lint versions in CI to v2.12.2renovateCI bump