terraform/website/source/docs/providers/atlas/r/artifact.html.markdown

1.9 KiB

layout page_title sidebar_current description
atlas Atlas: atlas_artifact docs-atlas-resource-artifact Provides access to deployment artifacts managed by Atlas. This can be used to dynamically configure instantiation and provisioning of resources.

atlas_artifact

Provides access to deployment artifacts managed by Atlas. This can be used to dynamically configure instantiation and provisioning of resources.

Example Usage

# Read the AMI
resource "atlas_artifact" "web" {
    name = "hashicorp/web"
    type = "aws.ami"
    metadata {
        arch = "386"
    }
}

# Start our instance with the dynamic ami value
resource "aws_instance" "app" {
    ami = "${atlas_artifact.web.id}"
    ...
}

Argument Reference

The following arguments are supported:

  • name - (Required) Name of the artifact in Atlas. This is given in slug format like "organization/artifact".

  • type - (Required) The type of artifact to query for.

  • version - (Optional) By default, if no version is provided the latest version of the artifact is used. Providing a version can be used to pin a dependency.

  • metadata_keys - (Optional) If given, only an artifact containing the given keys will be returned. This is used to disambiguate when multiple potential artifacts match. An example is "aws" to filter on an AMI.

  • metadata - (Optional) If given, only an artifact matching the metadata filters will be returned. This is used to disambiguate when multiple potential artifacts match. An example is "arch" = "386" to filter on architecture.

Attributes Reference

The following attributes are exported:

  • version - The matching version of the artifact
  • id - The ID of the artifact. This could be an AMI ID, GCE Image ID, etc.
  • file_url - For artifacts that are binaries, this is a download path.
  • metadata_full - Contains the full metadata of the artifact.