Skip to main content
The DataResource implements the standard resource lifecycle, but does not directly take any other actions. You can use the DataResource resource without requiring or configuring a provider. The DataResource resource is useful for storing values which need to follow a manage resource lifecycle, and for triggering provisioners when there is no other logical managed resource in which to place them. It requires Terraform 1.4 or later. It is also possible to generate these bindings by adding “terraform.io/builtin/terraform” to the “terraformProviders” key in your cdktf.json file and running “cdktn get”. https://developer.hashicorp.com/terraform/language/resources/terraform-data

Initializers

import cdktn

cdktn.DataResource(
  scope: Construct,
  id: str,
  connection: SSHProvisionerConnection | WinrmProvisionerConnection = None,
  count: typing.Union[int, float] | TerraformCount = None,
  depends_on: typing.List[ITerraformDependable] = None,
  for_each: ITerraformIterator = None,
  lifecycle: TerraformResourceLifecycle = None,
  provider: TerraformProvider = None,
  provisioners: typing.List[FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner] = None,
  input: typing.Mapping[typing.Any] = None,
  triggers_replace: typing.Mapping[typing.Any] = None
)
NameTypeDescription
scopeconstructs.ConstructThe scope in which to define this construct.
idstrThe scoped construct ID.
connectionSSHProvisionerConnection | WinrmProvisionerConnectionNo description.
counttyping.Union[int, float] | TerraformCountNo description.
depends_ontyping.List[ITerraformDependable]No description.
for_eachITerraformIteratorNo description.
lifecycleTerraformResourceLifecycleNo description.
providerTerraformProviderNo description.
provisionerstyping.List[FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner]No description.
inputtyping.Mapping[typing.Any](Optional) A value which will be stored in the instance state, and reflected in the output attribute after apply.
triggers_replacetyping.Mapping[typing.Any](Optional) A value which is stored in the instance state, and will force replacement when the value changes.

scopeRequired

  • Type: constructs.Construct
The scope in which to define this construct.

idRequired

  • Type: str
The scoped construct ID. Must be unique amongst siblings in the same scope

connectionOptional


countOptional


depends_onOptional


for_eachOptional


lifecycleOptional


providerOptional


provisionersOptional


inputOptional

  • Type: typing.Mapping[typing.Any]
(Optional) A value which will be stored in the instance state, and reflected in the output attribute after apply. https://developer.hashicorp.com/terraform/language/resources/terraform-data#input

triggers_replaceOptional

  • Type: typing.Mapping[typing.Any]
(Optional) A value which is stored in the instance state, and will force replacement when the value changes. https://developer.hashicorp.com/terraform/language/resources/terraform-data#triggers\_replace

Methods

NameDescription
to_stringReturns a string representation of this construct.
add_overrideNo description.
override_logical_idOverrides the auto-generated logical ID with a specific ID.
reset_override_logical_idResets a previously passed logical Id to use the auto-generated logical id again.
to_hcl_terraformNo description.
to_metadataNo description.
to_terraformAdds this resource to the terraform JSON output.
add_move_targetAdds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
get_any_map_attributeNo description.
get_boolean_attributeNo description.
get_boolean_map_attributeNo description.
get_list_attributeNo description.
get_number_attributeNo description.
get_number_list_attributeNo description.
get_number_map_attributeNo description.
get_string_attributeNo description.
get_string_map_attributeNo description.
has_resource_moveNo description.
import_fromNo description.
interpolation_for_attributeNo description.
move_from_idMove the resource corresponding to “id” to this resource.
move_toMoves this resource to the target resource given by moveTarget.
move_to_idMoves this resource to the resource corresponding to “id”.
reset_inputNo description.
reset_triggers_replaceNo description.

to_string

def to_string() -> str
Returns a string representation of this construct.

add_override

def add_override(
  path: str,
  value: typing.Any
) -> None

pathRequired

  • Type: str

valueRequired

  • Type: typing.Any

override_logical_id

def override_logical_id(
  new_logical_id: str
) -> None
Overrides the auto-generated logical ID with a specific ID.

new_logical_idRequired

  • Type: str
The new logical ID to use for this stack element.

reset_override_logical_id

def reset_override_logical_id() -> None
Resets a previously passed logical Id to use the auto-generated logical id again.

to_hcl_terraform

def to_hcl_terraform() -> typing.Any

to_metadata

def to_metadata() -> typing.Any

to_terraform

def to_terraform() -> typing.Any
Adds this resource to the terraform JSON output.

add_move_target

def add_move_target(
  move_target: str
) -> None
Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.

move_targetRequired

  • Type: str
The string move target that will correspond to this resource.

get_any_map_attribute

def get_any_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Any]

terraform_attributeRequired

  • Type: str

get_boolean_attribute

def get_boolean_attribute(
  terraform_attribute: str
) -> IResolvable

terraform_attributeRequired

  • Type: str

get_boolean_map_attribute

def get_boolean_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[bool]

terraform_attributeRequired

  • Type: str

get_list_attribute

def get_list_attribute(
  terraform_attribute: str
) -> typing.List[str]

terraform_attributeRequired

  • Type: str

get_number_attribute

def get_number_attribute(
  terraform_attribute: str
) -> typing.Union[int, float]

terraform_attributeRequired

  • Type: str

get_number_list_attribute

def get_number_list_attribute(
  terraform_attribute: str
) -> typing.List[typing.Union[int, float]]

terraform_attributeRequired

  • Type: str

get_number_map_attribute

def get_number_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[typing.Union[int, float]]

terraform_attributeRequired

  • Type: str

get_string_attribute

def get_string_attribute(
  terraform_attribute: str
) -> str

terraform_attributeRequired

  • Type: str

get_string_map_attribute

def get_string_map_attribute(
  terraform_attribute: str
) -> typing.Mapping[str]

terraform_attributeRequired

  • Type: str

has_resource_move

def has_resource_move() -> TerraformResourceMoveByTarget | TerraformResourceMoveById

import_from

def import_from(
  id: str,
  provider: TerraformProvider = None
) -> None

idRequired

  • Type: str

providerOptional


interpolation_for_attribute

def interpolation_for_attribute(
  terraform_attribute: str
) -> IResolvable

terraform_attributeRequired

  • Type: str

move_from_id

def move_from_id(
  id: str
) -> None
Move the resource corresponding to “id” to this resource. Note that the resource being moved from must be marked as moved using it’s instance function.

idRequired

  • Type: str
Full id of resource being moved from, e.g. “aws_s3_bucket.example”.

move_to

def move_to(
  move_target: str,
  index: str | typing.Union[int, float] = None
) -> None
Moves this resource to the target resource given by moveTarget.

move_targetRequired

  • Type: str
The previously set user defined string set by .addMoveTarget() corresponding to the resource to move to.

indexOptional

  • Type: str | typing.Union[int, float]
Optional The index corresponding to the key the resource is to appear in the foreach of a resource to move to.

move_to_id

def move_to_id(
  id: str
) -> None
Moves this resource to the resource corresponding to “id”.

idRequired

  • Type: str
Full id of resource to move to, e.g. “aws_s3_bucket.example”.

reset_input

def reset_input() -> None

reset_triggers_replace

def reset_triggers_replace() -> None

Static Functions

NameDescription
is_constructChecks if x is a construct.
is_terraform_elementNo description.
is_terraform_resourceNo description.
generate_config_for_importGenerates CDKTN code for importing a Data resource upon running “cdktn plan < stack-name >”.

is_construct

import cdktn

cdktn.DataResource.is_construct(
  x: typing.Any
)
Checks if x is a construct. Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked. Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

xRequired

  • Type: typing.Any
Any object.

is_terraform_element

import cdktn

cdktn.DataResource.is_terraform_element(
  x: typing.Any
)

xRequired

  • Type: typing.Any

is_terraform_resource

import cdktn

cdktn.DataResource.is_terraform_resource(
  x: typing.Any
)

xRequired

  • Type: typing.Any

generate_config_for_import

import cdktn

cdktn.DataResource.generate_config_for_import(
  scope: Construct,
  import_to_id: str,
  import_from_id: str,
  provider: TerraformProvider = None
)
Generates CDKTN code for importing a Data resource upon running “cdktn plan < stack-name >”.

scopeRequired

  • Type: constructs.Construct
The scope in which to define this construct.

import_to_idRequired

  • Type: str
The construct id used in the generated config for the Data to import.

import_from_idRequired

  • Type: str
The id of the existing Data that should be imported. Refer to the import section in the documentation of this resource for the id to use

providerOptional

? Optional instance of the provider where the Data to import is found.

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
cdktf_stackTerraformStackNo description.
fqnstrNo description.
friendly_unique_idstrNo description.
terraform_meta_argumentstyping.Mapping[typing.Any]No description.
terraform_resource_typestrNo description.
terraform_generator_metadataTerraformProviderGeneratorMetadataNo description.
connectionSSHProvisionerConnection | WinrmProvisionerConnectionNo description.
counttyping.Union[int, float] | TerraformCountNo description.
depends_ontyping.List[str]No description.
for_eachITerraformIteratorNo description.
lifecycleTerraformResourceLifecycleNo description.
providerTerraformProviderNo description.
provisionerstyping.List[FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner]No description.
idstrNo description.
outputAnyMapNo description.
input_inputtyping.Mapping[typing.Any]No description.
triggers_replace_inputtyping.Mapping[typing.Any]No description.
inputtyping.Mapping[typing.Any](Optional) A value which will be stored in the instance state, and reflected in the output attribute after apply.
triggers_replacetyping.Mapping[typing.Any](Optional) A value which is stored in the instance state, and will force replacement when the value changes.

nodeRequired

node: Node
  • Type: constructs.Node
The tree node.

cdktf_stackRequired

cdktf_stack: TerraformStack

fqnRequired

fqn: str
  • Type: str

friendly_unique_idRequired

friendly_unique_id: str
  • Type: str

terraform_meta_argumentsRequired

terraform_meta_arguments: typing.Mapping[typing.Any]
  • Type: typing.Mapping[typing.Any]

terraform_resource_typeRequired

terraform_resource_type: str
  • Type: str

terraform_generator_metadataOptional

terraform_generator_metadata: TerraformProviderGeneratorMetadata

connectionOptional

connection: SSHProvisionerConnection | WinrmProvisionerConnection

countOptional

count: typing.Union[int, float] | TerraformCount

depends_onOptional

depends_on: typing.List[str]
  • Type: typing.List[str]

for_eachOptional

for_each: ITerraformIterator

lifecycleOptional

lifecycle: TerraformResourceLifecycle

providerOptional

provider: TerraformProvider

provisionersOptional

provisioners: typing.List[FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner]

idRequired

id: str
  • Type: str

outputRequired

output: AnyMap

input_inputOptional

input_input: typing.Mapping[typing.Any]
  • Type: typing.Mapping[typing.Any]

triggers_replace_inputOptional

triggers_replace_input: typing.Mapping[typing.Any]
  • Type: typing.Mapping[typing.Any]

inputRequired

input: typing.Mapping[typing.Any]
  • Type: typing.Mapping[typing.Any]
(Optional) A value which will be stored in the instance state, and reflected in the output attribute after apply. https://developer.hashicorp.com/terraform/language/resources/terraform-data#input

triggers_replaceRequired

triggers_replace: typing.Mapping[typing.Any]
  • Type: typing.Mapping[typing.Any]
(Optional) A value which is stored in the instance state, and will force replacement when the value changes. https://developer.hashicorp.com/terraform/language/resources/terraform-data#triggers\_replace

Constants

NameTypeDescription
tfResourceTypestrNo description.

tfResourceTypeRequired

tfResourceType: str
  • Type: str