terraform/internal/addrs
Martin Atkins 4cbe6cabfc addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint
These three types represent the three different address representations we
need to represent different stages of analysis for "moved" blocks in the
configuration.

The goal here is to encapsulate all of the static address wrangling inside
these types so that users of these types elsewhere would have to work
pretty hard to use them incorrectly.

In particular, the MovableEndpoint type intentionally fully encapsulates
the weird relative addresses we use in configuration so that code
elsewhere in Terraform can never end up holding an address of a type that
suggests absolute when it's actually relative. That situation only occurs
in the internals of MoveableEndpoint where we use not-really-absolute
AbsMoveable address types to represent the not-yet-resolved relative
addresses.

This only takes care of the static address wrangling. There's lots of
other rules for what makes a "moved" block valid which will need to be
checked elsewhere because they require more context than just the content
of the address itself.
2021-07-01 08:28:02 -07:00
..
count_attr.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
doc.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
for_each_attr.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
input_variable.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
instance_key.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
local_value.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
module.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
module_call.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
module_instance.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
module_instance_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
module_package.go addrs: ModuleRegistryPackage for representing module registry packages 2021-06-03 08:50:34 -07:00
module_source.go addrs: ModuleRegistryPackage for representing module registry packages 2021-06-03 08:50:34 -07:00
module_source_test.go addrs: ModuleRegistryPackage for representing module registry packages 2021-06-03 08:50:34 -07:00
module_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
move_endpoint.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
move_endpoint_test.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
moveable.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
output_value.go addrs: Rename AbsModuleCallOutput to ModuleCallInstanceOutput 2021-07-01 08:28:02 -07:00
output_value_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
parse_ref.go addrs: Rename AbsModuleCallOutput to ModuleCallInstanceOutput 2021-07-01 08:28:02 -07:00
parse_ref_test.go addrs: Rename AbsModuleCallOutput to ModuleCallInstanceOutput 2021-07-01 08:28:02 -07:00
parse_target.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
parse_target_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
path_attr.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
provider.go addrs: Rename DefaultRegistryHost to DefaultProviderRegistryHost 2021-06-03 08:50:34 -07:00
provider_config.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
provider_config_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
provider_test.go addrs: Rename DefaultRegistryHost to DefaultProviderRegistryHost 2021-06-03 08:50:34 -07:00
referenceable.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
resource.go addrs: AbsMoveable, ConfigMoveable, and MoveableEndpoint 2021-07-01 08:28:02 -07:00
resource_phase.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
resource_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
resourcemode_string.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
self.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
target_test.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00
targetable.go configs: add decodeMovedBlock behind a locked gate. (#28973) 2021-06-21 10:53:16 -04:00
terraform_attr.go Move addrs/ to internal/addrs/ 2021-05-17 14:09:07 -07:00