Skip to main content

Data Sources

Data sources allow you to retrieve information about existing resources in ImageFactory. This is useful for referencing built-in distributions, system components, or resources managed outside of your current Terraform state.

Distribution

Look up an OS distribution to use as the base for a template.

data "imagefactory_distribution" "ubuntu" {
name = "Ubuntu 22.04 LTS"
cloud_provider = "AWS"
}

# Use in a template
resource "imagefactory_template" "main" {
distribution_id = data.imagefactory_distribution.ubuntu.id
# ...
}

Argument Reference

ArgumentTypeRequired/OptionalDescription
nameStringRequiredThe name of the distribution.
cloud_providerStringRequiredThe cloud provider (AWS, AZURE, etc.).

System Component

Look up built-in system components provided by ImageFactory.

data "imagefactory_system_component" "hardening" {
name = "CIS Level 1 Hardening"
}

Argument Reference

ArgumentTypeRequired/OptionalDescription
nameStringRequiredThe name of the system component.

Custom Component

Look up a custom component by its name and properties.

data "imagefactory_custom_component" "my_script" {
name = "my-custom-script"
cloud_provider = "AWS"
stage = "BUILD"
}

Argument Reference

ArgumentTypeRequired/OptionalDescription
nameStringRequiredThe name of the custom component.
cloud_providerStringRequiredThe cloud provider it supports.
stageStringRequiredThe stage (BUILD or TEST).

Role

Look up an existing role by its name.

data "imagefactory_role" "admin" {
name = "Admin"
}

Argument Reference

ArgumentTypeRequired/OptionalDescription
nameStringRequiredThe name of the role.

API Key

Look up an existing API key by its name.

data "imagefactory_api_key" "existing" {
name = "my-api-key"
}

Argument Reference

ArgumentTypeRequired/OptionalDescription
nameStringRequiredThe name of the API key.