FEATURES
- New Data Source:
aws_ec2_spot_price[GH-12504]
ENHANCEMENTS
- data-source/aws_ecr_repository: Allow
registry_idas an argument [GH-14368] - data-source/aws_ecr_repository: Add
image_scanning_configurationandimage_tag_mutabilityattributes [GH-14368] - resource/aws_api_gateway_method_settings: Plan-time validation added to
settingsunauthorized_cache_control_header_strategyandlogging_levelarguments [GH-12651] - resource/aws_lb: Add
subnet_mappingconfiguration blockprivate_ipv4_addressargument [GH-11404] - resource/aws_ssm_parameter: Add
data_typeargument (supportaws:ec2:imageparameters) [GH-13326]
BUG FIXES
- data-source/aws_availability_zones: Prevent unexpected plan output every apply with
group_namesattribute [GH-14412] - resource/aws_api_gateway_method_settings: Allow
settingscache_ttl_in_secondsargument to be set to 0 [GH-12651] - resource/aws_elastictranscoder_preset: Prevent empty configuration block panics [GH-14092]
- resource/aws_lambda_event_source_mapping: Allow
maximum_retry_attemptsargument to be set to 0 [GH-12479] - resource/aws_rds_cluster: Add an
InvalidDBClusterStateFaultretryable error condition for clusters part of a global cluster [GH-14420] - resource/aws_rds_cluster: Increase retry timeout for deletion to 2 minutes [GH-14420]
- resource/aws_spot_fleet_request: Allow
target_capacityargument to be updated to 0 [GH-12759] - resource/aws_spot_fleet_request: Wait for modify operation completion (default timeout of 10 minutes) [GH-12759]
- resource/aws_vpc_dhcp_options_association: Properly trigger resource recreation when VPC is deleted outside Terraform [GH-14367]
NOTES:
- provider: This version is built using Go 1.14.5, including security fixes to the crypto/x509 and net/http packages.
BREAKING CHANGES
- provider: New versions of the provider can only be automatically installed on Terraform 0.12 and later (#14143)
- provider: All "removed" attributes are cut, using them would result in a Terraform Core level error (#14001)
- provider: Credential ordering has changed from static, environment, shared credentials, EC2 metadata, default AWS Go SDK (shared configuration, web identity, ECS, EC2 Metadata) to static, environment, shared credentials, default AWS Go SDK (shared configuration, web identity, ECS, EC2 Metadata) (#14077)
- provider: The
AWS_METADATA_TIMEOUTenvironment variable no longer has any effect as we now depend on the default AWS Go SDK EC2 Metadata client timeout of one second with two retries (#14077) - provider: Remove deprecated
kinesis_analyticsandr53custom service endpoint arguments (#14238) - data-source/aws_availability_zones: Remove deprecated
blacklisted_namesandblacklisted_zone_idsarguments (#14134) - data-source/aws_directory_service_directory: Return an error when a single result is not found (#14006)
- data-source/aws_ecr_repository: Return an error when a single result is not found (#10520)
- data-source/aws_efs_file_system: Return an error when a single result is not found (#14005)
- data-source/aws_launch_template: Return an error when a single result is not found (#10521)
- data-source/aws_route53_resolver_rule: Trailing period removed from
domain_nameargument set in data-source (#14220) - data-source/aws_route53_zone: Trailing period removed from
nameargument set in data-source (#14220) - resource/aws_acm_certificate:
certificate_body,certificate_chain, andprivate_keyattributes are no longer stored in the Terraform state with hash values (#9685) - resource/aws_acm_certificate:
domain_validation_optionsattribute changed from list to set (#14199) - resource/aws_acm_certificate: Plan-time validation added to
domain_nameandsubject_alternative_namesarguments to prevent usage of strings with trailing periods (#14220) - resource/aws_api_gateway_method_settings: Remove
Computedproperty fromthrottling_burst_limitandthrottling_rate_limitarguments, enabling drift detection (#14266) - resource/aws_api_gateway_method_settings: Update
throttling_burst_limitandthrottling_rate_limitargument defaults to match API default of-1to keep throttling disabled (#14266) - resource/aws_autoscaling_group:
availability_zonesandvpc_zone_identifierargument conflict now reported at plan-time (#12927) - resource/aws_autoscaling_group: Remove
Computedproperty fromload_balancersandtarget_group_arnsarguments, enabling drift detection (#14064) - resource/aws_cloudfront_distribution:
active_trusted_signersargument renamed totrusted_signersto support accessingitemsin Terraform 0.12 (#14339) - resource/aws_cloudwatch_log_group: Automatically trim
:*suffix fromarnattribute (#14214) - resource/aws_codepipeline: Removes
GITHUB_TOKENenvironment variable (#14175) - resource/aws_cognito_user_pool: Remove deprecated
admin_create_user_configconfiguration blockunused_account_validity_daysargument (#14294) - resource/aws_dx_gateway: Remove automatic
aws_dx_gateway_associationresource import (#14124) - resource/aws_dx_gateway_association: Remove deprecated
vpn_gateway_idargument (#14144) - resource/aws_dx_gateway_association_proposal: Remove deprecated
vpn_gateway_idargument (#14144) - resource/aws_ebs_volume: Return an error when
iopsargument set to a value greater than 0 for volume types other thanio1(#14310) - resource/aws_elastic_transcoder_preset: Remove
videoconfiguration blockmax_frame_rateargument default value (#7141) - resource/aws_emr_cluster: Remove deprecated
instance_groupconfiguration block,core_instance_count,core_instance_type, andmaster_instance_typearguments (#14137) - resource/aws_glue_job: Remove deprecated
allocated_capacityargument (#14296) - resource/aws_iam_access_key: Remove deprecated
ses_smtp_passwordattribute (#14299) - resource/aws_iam_instance_profile: Remove deprecated
rolesargument (#14303) - resource/aws_iam_server_certificate: Remove state hashing from
certificate_body,certificate_chain, andprivate_keyarguments for new or recreated resources (#14187) - resource/aws_instance: Return an error when
ebs_block_deviceiopsorroot_block_deviceiopsargument set to a value greater than0for volume types other thanio1(#14310) - resource/aws_lambda_alias: Resource import no longer converts Lambda Function name to ARN (#12876)
- resource/aws_launch_template:
network_interfacesdelete_on_terminationargument changed frombooltostringtype (#8612) - resource/aws_lb_listener_rule: Remove deprecated
conditionconfiguration blockfieldandvaluesarguments (#14309) - resource/aws_msk_cluster: Update
encryption_infoencryption_in_transitclient_brokerargument default to match API default ofTLS(#14132) - resource/aws_rds_cluster: Update
scaling_configurationmin_capacityargument default to match API default of1(#14268) - resource/aws_route53_resolver_rule: Trailing period removed from
domain_nameargument set in resource (#14220) - resource/aws_route53_zone: Trailing period removed from
nameargument set in resource (#14220) - resource/aws_s3_bucket: Remove automatic
aws_s3_bucket_policyresource import (#14121) - resource/aws_s3_bucket: Convert
regionto read-only attribute (#14127) - resource/aws_s3_bucket_metric: Update
filterargument to require at least one of theprefixortagsnested arguments (#14230) - resource/aws_security_group: Remove automatic
aws_security_group_ruleresource import (#12616) - resource/aws_ses_domain_identity: Plan-time validation added to
domainargument to prevent usage of strings with trailing periods (#14220) - resource/aws_ses_domain_identity_verification: Plan-time validation added to
domainargument to prevent usage of strings with trailing periods (#14220) - resource/aws_sns_platform_application:
platform_credentialandplatform_principalattributes are no longer stored in the Terraform state with hash values (#3894) - resource/aws_spot_fleet_request: Remove 24 hour default for
valid_untilargument (#9718) - resource/aws_ssm_maintenance_window_task: Remove deprecated
logging_infoandtask_parametersconfiguration blocks (#14311)
FEATURES
- New Data Source: aws_workspaces_directory (#13529)
ENHANCEMENTS
- provider: Always enable shared configuration file support (no longer require
AWS_SDK_LOAD_CONFIGenvironment variable) (#14077) - provider: Add
assume_roleconfiguration blockduration_seconds,policy_arns,tags, andtransitive_tag_keysarguments (#14077) - data-source/aws_instance: Add
secondary_private_ipsattribute (#14079) - data-source/aws_s3_bucket: Replace
GetBucketLocationAPI call with custom HTTP call for FIPS endpoint support (#14221) - resource/aws_acm_certificate: Enable
domain_validation_optionsusage in downstream resourcecountandfor_eachreferences (#14199) - resource/aws_api_gateway_authorizer: Add plan-time validation to
authorizer_credentialsargument (#12643) - resource/aws_api_gateway_method_settings: Add import support (#14266)
- resource/aws_apigatewayv2_integration: Add
request_parametersattribute (#14080) - resource/aws_apigatewayv2_integration: Add
tls_configattribute (#13013) - resource/aws_apigatewayv2_route: Support for updating route key (#13833)
- resource/aws_apigatewayv2_stage: Make
deployment_idaComputedattribute (#13644) - resource/aws_fsx_lustre_file_system: Add
deployment_typeandper_unit_storage_throughputattributes (#13639) - resource_aws_fsx_windows_file_system - add
storage_typeargument. (#14316) - resource_aws_fsx_windows_file_system: add support for multi-az (#12676)
- resource_aws_fsx_windows_file_system: add
SINGLE_AZ_2deployment type (#12676) - resource_aws_fsx_windows_file_system: adds
preferred_file_server_ip,remote_administration_endpointattributes (#12676) - resource/aws_instance: Add
secondary_private_ipsargument (conflicts withnetwork_interfaceconfiguration block) (#14079)
BUG FIXES
- provider: Ensure nil is not passed to RetryError helpers, may result in some bug fixes (#14104)
- provider: Ensure configured STS endpoint is used during
AssumeRoleAPI calls (#14077) - provider: Prefer AWS shared configuration over EC2 metadata credentials by default (#14077)
- provider: Prefer CodeBuild, ECS, EKS credentials over EC2 metadata credentials by default (#14077)
- data-source/aws_lb:
enable_http2now properly set (#14167) - resource/aws_acm_certificate: Prevent unexpected ordering differences with
domain_validation_optionsattribute (#14199) - resource/aws_api_gateway_authorizer: Allow
authorizer_result_ttl_in_secondsto be set to 0 (#12643) - resource/aws_apigatewayv2_integration: Correctly handle the
integration_methodattribute for AWS Lambda integrations(#13266) - resource/aws_apigatewayv2_integration: Correctly handle the
passthrough_behaviorattribute for HTTP APIs (#13062) - resource/aws_apigatewayv2_stage: Correctly handle
default_route_settingandroute_settingdata_trace_enabledandlogging_levelfor HTTP APIs.logging_levelis nowComputed, meaning Terraform will only perform drift detection of its value when present in a configuration. (#13809) - resource/aws_appautoscaling_target: Only retry
DeregisterScalableTargetretries on all errors on deletion (#14259) - resource/aws_dx_gateway_association: Increase default create/update/delete timeouts to 30 minutes (#14144)
- resource/aws_codepipeline: Only retry
CreatePipelineerrors for IAM eventual consistency errors (#14264) - resource/aws_elasticsearch_domain: Update method to properly set
advanced_security_options(#14167) - resource/aws_lambda_function: Increase IAM retry timeout for creation to standard 2 minute timeout (#14291)
- resource/aws_lb_cookie_stickiness_policy:
lb_portnow properly set (#14167) - resource/aws_network_acl_rule: Immediately return
DescribeNetworkAclserrors on creation (#14261) - resource/aws_s3_bucket: Replace
GetBucketLocationAPI call with custom HTTP call for FIPS endpoint support (#14221) - resource/aws_sns_topic_subscription: Immediately return
ListSubscriptionsByTopicerrors (#14262) - resource/aws_spot_fleet_request: Only retry
RequestSpotFleeton IAM eventual consistency errors and use standard 2 minute timeout (#14265) - resource/aws_spot_instance_request:
primary_network_interface_idnow properly set (#14167) - resource/aws_ssm_activation: Only retry
CreateActivationon IAM eventual consistency errors and use standard 2 minute timeout (#14263) - resource/aws_ssm_association:
parametersnow properly set (#14167)
For information on prior major releases, see their changelogs: