v2.0.0
Release v2.0.0
Caution
This release introduces breaking changes and significant internal upgrades. Please review the release notes thoroughly, make the necessary changes to your manifests, and test thoroughly before upgrading.
Before using any Crossplane v2 capabilities in the provider, we encourage you to familiarize yourself with the changes in v2.
This release introduces:
- Compatibility with Crossplane v2
- Support for Crossplane v2 namespace-scoped Managed Resources (MRs) alongside existing cluster-scoped MRs.
- Upgrade to crossplane-runtime
v2.0.0. - Upgrade to Upjet
v2.0.0. - Upgrade of the underlying Terraform AWS provider to
v6.3.0, introducing resource-level API changes. - Removal of External Secret Store support.
Please review the breaking changes carefully before upgrading.
Breaking API Changes
Warning
Make adjustments to any impacted resources in your Control Plane when upgrading to this provider version.
The following resources have changed due to the underlying Terraform provider upgrade to version v6.3.0:
Deprecated Resources
Pipeline.elastictranscoder.aws.upbound.io/v1beta1Pipeline.elastictranscoder.aws.upbound.io/v1beta2Preset.elastictranscoder.aws.upbound.io/v1beta1Preset.elastictranscoder.aws.upbound.io/v1beta2Feature.evidently.aws.upbound.io/v1beta1Feature.evidently.aws.upbound.io/v1beta2Project.evidently.aws.upbound.io/v1beta1Project.evidently.aws.upbound.io/v1beta2Segment.evidently.aws.upbound.io/v1beta1
Removed Providers & Resources
- The
opsworksandsimpledbproviders were removed in this release, along with all resources belonging to these providers.
Resource base changes
AlternateContact.account.aws.upbound.io/v1beta1:spec.forProvider.regionhas been removed.
Regions.account.aws.upbound.io/v1beta1:spec.forProvider.regionhas been removed.
Account.apigateway.aws.upbound.io/v1beta1:spec.forProvider.resetOnDeletehas been removed.spec.initProvider.resetOnDeletehas been removed.spec.atProvider.resetOnDeletehas been removed.
Deployment.apigateway.aws.upbound.io/v1beta1:spec.forProvider.canarySettingshas been removed.spec.forProvider.stageDescriptionhas been removed.spec.forProvider.stageNamehas been removed.spec.initProvider.canarySettingshas been removed.spec.initProvider.stageDescriptionhas been removed.spec.initProvider.stageNamehas been removed.spec.atProvider.canarySettingshas been removed.spec.atProvider.executionArnhas been removed.spec.atProvider.invokeUrlhas been removed.spec.atProvider.stageDescriptionhas been removed.spec.atProvider.stageNamehas been removed.
GlobalSettings.backup.aws.upbound.io/v1beta1:spec.forProvider.regionhas been removed.
JobQueues.batch.aws.upbound.io/v1beta1:spec.forProvider.computeEnvironmentshas been removed.spec.initProvider.computeEnvironmentshas been removed.spec.atProvider.computeEnvironmentshas been removed.
BudgetActions.budgets.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.regionhas been removed.
Budgets.budgets.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.regionhas been removed.
AnomalyMonitor.ce.aws.upbound.io/v1beta1:spec.forProvider.regionhas been removed.
- For all
cloudfront.aws.upbound.ioresources:spec.forProvider.regionhas been removed.
ResponseHeadersPolicy.cloudfront.aws.upbound.io/v1beta1:spec.forProvider.etaghas been removed.spec.initProvider.regionhas been removed.
DomainPermissionsPolicy.codeartifact.aws.upbound.io/v1beta1:spec.forProvider.policyDocumentis not required anymore.
User.connect.aws.upbound.io/v1beta1:spec.forProvider.securityProfileIdsis not required anymore.
ReportDefinition.cur.aws.upbound.io/v1beta1:spec.forProvider.regionhas been removed.spec.forProvider.s3Prefixis required now.
GatewayAssociation.directconnect.aws.upbound.io/v1beta1:spec.forProvider.vpnGatewayIdhas been removed.spec.initProvider.vpnGatewayIdhas been removed.spec.atProvider.vpnGatewayIdhas been removed.
Gateway.directconnect.aws.upbound.io/v1beta1:spec.forProvider.regionhas been removed.
Endpoint.dms.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.s3Settingshas been removed.spec.initProvider.s3Settingshas been removed.spec.atProvider.s3Settingshas been removed.
EIP.ec2.aws.upbound.io/v1beta1:spec.forProvider.vpchas been removed.spec.initProvider.vpchas been removed.spec.atProvider.vpchas been removed.
FlowLog.ec2.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.logGroupNamehas been removed.spec.initProvider.logGroupNamehas been removed.spec.atProvider.logGroupNamehas been removed.
Instance.ec2.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.cpuCoreCounthas been removed.spec.forProvider.cpuThreadsPerCorehas been removed.spec.initProvider.cpuCoreCounthas been removed.spec.initProvider.cpuThreadsPerCorehas been removed.spec.atProvider.cpuCoreCounthas been removed.spec.atProvider.cpuThreadsPerCorehas been removed.
LaunchTemplate.ec2.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.elasticGpuSpecificationshas been removed.spec.forProvider.elasticInferenceAcceleratorhas been removed.spec.initProvider.elasticGpuSpecificationshas been removed.spec.initProvider.elasticInferenceAcceleratorhas been removed.spec.atProvider.elasticGpuSpecificationshas been removed.spec.atProvider.elasticInferenceAcceleratorhas been removed.
SerialConsoleAccess.ec2.aws.upbound.io/v1beta1:spec.forProvider.regionhas been removed.
SpotInstanceRequest.ec2.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.blockDurationMinuteshas been removed.spec.forProvider.cpuCoreCounthas been removed.spec.forProvider.cpuThreadsPerCorehas been removed.spec.initProvider.blockDurationMinuteshas been removed.spec.initProvider.cpuCoreCounthas been removed.spec.initProvider.cpuThreadsPerCorehas been removed.spec.atProvider.blockDurationMinuteshas been removed.spec.atProvider.cpuCoreCounthas been removed.spec.atProvider.cpuThreadsPerCorehas been removed.
Service.ecs.aws.upbound.io/v1beta1:spec.forProvider.managedEbsVolumehas been removed.spec.forProvider.namehas been removed.spec.forProvider.volumeConfigurationobject type changed to list.spec.initProvider.managedEbsVolumehas been removed.spec.initProvider.namehas been removed.spec.initProvider.volumeConfigurationobject type changed to list.spec.atProvider.managedEbsVolumehas been removed.spec.atProvider.namehas been removed.spec.atProvider.volumeConfigurationobject type changed to list.
TaskDefinition.ecs.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.inferenceAcceleratorhas been removed.spec.initProvider.inferenceAcceleratorhas been removed.spec.atProvider.inferenceAcceleratorhas been removed.
Addon.eks.aws.upbound.io/v1beta1:spec.forProvider.resolveConflictshas been removed.spec.initProvider.resolveConflictshas been removed.spec.atProvider.resolveConflictshas been removed.
LustreFileSystem.fsx.aws.upbound.io/v1beta1:spec.forProvider.iopshas been removed.spec.forProvider.modehas been removed.spec.forProvider.metadataConfigurationobject type changed to list.spec.initProvider.iopshas been removed.spec.initProvider.modehas been removed.spec.initProvider.metadataConfigurationobject type changed to list.spec.atProvider.iopshas been removed.spec.atProvider.modehas been removed.spec.atProvider.metadataConfigurationobject type changed to list.
- For all
globalaccelerator.aws.upbound.ioresources:spec.forProvider.regionhas been removed.
LayerVersionPermission.lambda.aws.upbound.io/v1beta1:spec.forProvider.layerNameis not required anymore.spec.forProvider.versionNumberis not required anymore.
- For all
networkmanager.aws.upbound.ioresources:spec.forProvider.regionhas been removed.
CoreNetwork.networkmanager.aws.upbound.io/v1beta1:spec.forProvider.basePolicyRegionhas been removed.spec.initProvider.basePolicyRegionhas been removed.spec.atProvider.basePolicyRegionhas been removed.
Domain.opensearch.aws.upbound/v1beta1andv1beta2:spec.atProvider.kibanaEndpointhas been removed.
SecurityConfig.opensearchserverless.aws.upbound/v1beta1:spec.forProvider.samlOptionsis not required anymore.
- For all
organizations.aws.upbound.ioresources:spec.forProvider.regionhas been removed.
Cluster.redshift.aws.upbound.io/v1beta1:spec.forProvider.clusterPublicKeyhas been removed.spec.forProvider.clusterRevisionNumberhas been removed.spec.forProvider.endpointhas been removed.spec.forProvider.logginghas been removed.spec.forProvider.snapshotCopyhas been removed.spec.forProvider.encryptedbool type changed to string.spec.initProvider.clusterPublicKeyhas been removed.spec.initProvider.clusterRevisionNumberhas been removed.spec.initProvider.endpointhas been removed.spec.initProvider.logginghas been removed.spec.initProvider.snapshotCopyhas been removed.spec.initProvider.encryptedbool type changed to string.spec.atProvider.logginghas been removed.spec.atProvider.snapshotCopyhas been removed.spec.atProvider.encryptedbool type changed to string.
- For all
rolesanywhere.aws.upbound.ioresources:spec.forProvider.regionhas been removed.
- For all
route53.aws.upbound.ioresources:spec.forProvider.regionhas been removed.
AppMontior.rum.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.domainhas been removed.
BucketLifecycleConfiguration.s3.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.ruleis not required anymore.spec.forProvider.rule.filter.objectSizeGreaterThanstring type changed to number.spec.forProvider.rule.filter.objectSizeLessThanstring type changed to number.spec.forProvider.rule.noncurrentVersionExpiration.newerNoncurrentVersionsstring type changed to number.spec.forProvider.rule.noncurrentVersionTransition.newerNoncurrentVersionsstring type changed to number.spec.initProvider.ruleis not required anymore.spec.initProvider.rule.filter.objectSizeGreaterThanstring type changed to number.spec.initProvider.rule.filter.objectSizeLessThanstring type changed to number.spec.initProvider.rule.noncurrentVersionExpiration.newerNoncurrentVersionsstring type changed to number.spec.initProvider.rule.noncurrentVersionTransition.newerNoncurrentVersionsstring type changed to number.spec.atProvider.ruleis not required anymore.spec.atProvider.rule.filter.objectSizeGreaterThanstring type changed to number.spec.atProvider.rule.filter.objectSizeLessThanstring type changed to number.spec.atProvider.rule.noncurrentVersionExpiration.newerNoncurrentVersionsstring type changed to number.spec.atProvider.rule.noncurrentVersionTransition.newerNoncurrentVersionsstring type changed to number.
Domain.sagemaker.aws.upbound.io/v1beta1:spec.forProvider.defaultUserSettings.canvasAppSettings.amazonBedrockRoleArnhas been removed.spec.forProvider.defaultUserSettings.canvasAppSettings.generativeAiSettingsobject type changed to list.spec.initProvider.defaultUserSettings.canvasAppSettings.amazonBedrockRoleArnhas been removed.spec.initProvider.defaultUserSettings.canvasAppSettings.generativeAiSettingsobject type changed to list.spec.atProvider.defaultUserSettings.canvasAppSettings.amazonBedrockRoleArnhas been removed.spec.atProvider.defaultUserSettings.canvasAppSettings.generativeAiSettingsobject type changed to list.
NotebookInstance.sagemaker.aws.upbound.io/v1beta1andv1beta2:spec.forProvider.acceleratorTypeshas been removed.spec.initProvider.acceleratorTypeshas been removed.spec.atProvider.acceleratorTypeshas been removed.
UserProfile.sagemaker.aws.upbound.io/v1beta1:spec.forProvider.userSettings.canvasAppSettings.amazonBedrockRoleArnhas been removed.spec.forProvider.defaultUserSettings.canvasAppSettings.generativeAiSettingsobject type changed to list.spec.initProvider.userSettings.canvasAppSettings.amazonBedrockRoleArnhas been removed.spec.initProvider.defaultUserSettings.canvasAppSettings.generativeAiSettingsobject type changed to list.spec.atProvider.userSettings.canvasAppSettings.amazonBedrockRoleArnhas been removed.spec.atProvider.defaultUserSettings.canvasAppSettings.generativeAiSettingsobject type changed to list.
WorkTeam.sagemaker.aws.upbound.io/v1beta1:spec.forProvider.workerAccessConfiguration.s3Presignhas been removed.spec.forProvider.workerAccessConfigurationobject type changed to list.spec.initProvider.workerAccessConfiguration.s3Presignhas been removed.spec.initProvider.workerAccessConfigurationobject type changed to list.spec.atProvider.workerAccessConfiguration.s3Presignhas been removed.spec.atProvider.workerAccessConfigurationobject type changed to list.
Association.ssm.aws.upbound.io_associations/v1beta1andv1beta2:spec.forProvider.instanceIdhas been removed.spec.initProvider.instanceIdhas been removed.spec.atProvider.instanceIdhas been removed.
- For all
waf.aws.upbound.ioresources:spec.forProvider.regionhas been removed.
IPSet.wafv2.aws.upbound.ioresources:spec.forProvider.nameis not required anymore.
RegexPatternSet.wafv2.aws.upbound.ioresources:spec.forProvider.nameis not required anymore.
WebACL.wafv2.aws.upbound.ioresources:spec.forProvider.nameis not required anymore.
Namespace-scope MR Support (Crossplane v2-only)
- New namespace-scoped MR APIs are available under the
aws.m.crossplane.ioAPI group. - All new APIs are at version
v1beta1. - ProviderConfig
ProviderConfig.aws.m.crossplane.iois now namespace-scoped.- A new cluster-scoped
ClusterProviderConfig.aws.m.crossplane.ioresource was added; new MRs can reference eitherProviderConfigorClusterProviderConfigviaspec.providerConfigRef.kind. spec.providerConfigRefdefaults toClusterProviderConfigwith namedefaultwhen omitted.
spec.writeConnectionSecretToRefand sensitive parameter refs (e.g.,spec.forProvider.fooSecretRef) in namespace-scoped MRs are now local secret references (if no namespace is specified, it defaults to the MR's namespace).- Cross-resource references are now namespace-scoped by default, however, cross-namespace references are allowed.
- This provider will serve both the new namespace-scoped and cluster-scoped APIs.
Note
Cluster-scoped MRs do NOT implement the above changes and continue operating as before.
Removed Features
- External Secret Store support has been removed from all MRs (
spec.publishConnectionDetailsTois no longer available) as the feature has been removed in Crossplane v2.
Note
The removed feature is the External Secret Store, which allowed storing connection details outside the cluster (e.g., in Vault). Connection secrets for managed resources remain available for storing connection details in Kubernetes Secrets.
Other Notable Changes
- SafeStart capability has been added (Crossplane v2-only): Controllers start once their CRD is installed.
- Repository structure changes:
apis,controllers, andexamplesnow have scoped subdirectories:clusterandnamespaced.- Resource configurations are also scoped; updates must be applied to both where relevant.
- Examples for namespace-scoped MRs are included.
Backward Compatibility Notes
- This provider can be installed in Crossplane
v1.xenvironments:- Both cluster-scoped and namespace-scoped CRDs will be installed; namespace-scoped CRDs cannot be composed in
v1.x. SafeStartwill be disabled.
- Both cluster-scoped and namespace-scoped CRDs will be installed; namespace-scoped CRDs cannot be composed in
- When upgrading from
v1.xproviders, review all breaking resource API changes noted above. The package itself is Crossplanev1.xcompatible, but there can be resources that have API changes that need adjustment in your control plane.
Upgrade Guide
- Review all affected resources listed under Breaking API Changes.
- Update manifests to reflect renamed/removed properties.
- For Crossplane
v2.xusers:- Ensure secret and reference configurations align with the new namespace-scoped MR behavior.
- Decide whether to use
ProviderConfigorClusterProviderConfig.
- Remove any
spec.publishConnectionDetailsTousage. - Validate repository structure changes if maintaining custom resource configurations.
What's Changed
- Update dependency kubernetes-sigs/kind to v0.29.0 by @renovate[bot] in #1792
- feat: enable change logs support by @jbw976 in #1803
- add basic plumbing for provider startup checks by @jastang in #1818
- Configure SSA merge strategy for LBListener's spec.forProvider.defaultAction by @ulucinar in #1822
- update ci runners for lint and check-diff by @stevendborrelli in #1816
- Update alpine Docker tag to v3.22.1 by @renovate[bot] in #1807
- Bump Terraform provider version to v6.3.0 by @turkenf in #1812
- crossplane v2: Generate namespace-scoped MRs by @erhancagirici in #1831
- add license annotation to package metadata template. by @jastang in #1828
- Update actions/cache digest to 0400d5f by @renovate[bot] in #1833
- Update go version to 1.24.6 [Security] by @turkenf in #1835
Full Changelog: v1.23.0...v2.0.0