mirror of
https://github.com/hashicorp/packer.git
synced 2026-02-27 12:02:14 -05:00
datasource: remove packer-image-iteration
The `packer-image-iteration' datasource is an undocumented, and unexported datasource, so it cannot be used by clients. Since this is dead weight, we can remove it safely from the codebase.
This commit is contained in:
parent
ccb5a22bb4
commit
338c95b2eb
12 changed files with 0 additions and 512 deletions
|
|
@ -1,208 +0,0 @@
|
|||
//go:generate packer-sdc struct-markdown
|
||||
//go:generate packer-sdc mapstructure-to-hcl2 -type DatasourceOutput,Config,ParBuild,ParImage
|
||||
package packer_image_iteration
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/zclconf/go-cty/cty"
|
||||
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
"github.com/hashicorp/hcp-sdk-go/clients/cloud-packer-service/stable/2021-04-30/models"
|
||||
"github.com/hashicorp/packer-plugin-sdk/common"
|
||||
"github.com/hashicorp/packer-plugin-sdk/hcl2helper"
|
||||
packersdk "github.com/hashicorp/packer-plugin-sdk/packer"
|
||||
"github.com/hashicorp/packer-plugin-sdk/template/config"
|
||||
hcpapi "github.com/hashicorp/packer/internal/hcp/api"
|
||||
)
|
||||
|
||||
// Type for Packer datasource has been renamed temporarily to prevent it from being
|
||||
// automatically registered as a viable datasource plugin in command/plugin.go.
|
||||
// In the future this type will be renamed to allow for the use of the datasource.
|
||||
type DeactivatedDatasource struct {
|
||||
config Config
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
common.PackerConfig `mapstructure:",squash"`
|
||||
// The name of the bucket your image is in.
|
||||
Bucket string `mapstructure:"bucket_name" required:"true"`
|
||||
// The name of the channel to use when retrieving your image
|
||||
Channel string `mapstructure:"channel" required:"true"`
|
||||
// TODO: Version string `mapstructure:"version"`
|
||||
// TODO: Label string `mapstructure:"label"`
|
||||
}
|
||||
|
||||
func (d *DeactivatedDatasource) ConfigSpec() hcldec.ObjectSpec {
|
||||
return d.config.FlatMapstructure().HCL2Spec()
|
||||
}
|
||||
|
||||
func (d *DeactivatedDatasource) Configure(raws ...interface{}) error {
|
||||
err := config.Decode(&d.config, nil, raws...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var errs *packersdk.MultiError
|
||||
|
||||
if d.config.Bucket == "" {
|
||||
errs = packersdk.MultiErrorAppend(errs, fmt.Errorf("The `bucket_name` must be specified"))
|
||||
}
|
||||
if d.config.Channel == "" {
|
||||
errs = packersdk.MultiErrorAppend(errs, fmt.Errorf("`channel` is currently a required field."))
|
||||
}
|
||||
|
||||
if errs != nil && len(errs.Errors) > 0 {
|
||||
return errs
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Copy of []*models.HashicorpCloudPackerBuild. Need to copy so we can generate
|
||||
// the HCL spec.
|
||||
type ParBuild struct {
|
||||
// The name of the cloud provider that the build exists in. For example,
|
||||
// "aws", "azure", or "gce".
|
||||
CloudProvider string `mapstructure:"cloud_provider"`
|
||||
// The specific Packer builder or post-processor used to create the build.
|
||||
ComponentType string `mapstructure:"component_type"`
|
||||
// The date and time at which the build was run.
|
||||
CreatedAt string `mapstructure:"created_at"`
|
||||
// The build ID. This is a ULID, which is a unique identifier similar
|
||||
// to a UUID. It is created by the HCP Packer Registry when an build is
|
||||
// first created, and is unique to this build.
|
||||
ID string `mapstructure:"id"`
|
||||
// A list of images as stored in the HCP Packer registry. See the ParImage
|
||||
// docs for more information.
|
||||
Images []ParImage `mapstructure:"images"`
|
||||
// The iteration ID. This is a ULID, which is a unique identifier similar
|
||||
// to a UUID. It is created by the HCP Packer Registry when an iteration is
|
||||
// first created, and is unique to this iteration.
|
||||
IterationID string `mapstructure:"iteration_id"`
|
||||
// Unstructured key:value metadata associated with the build.
|
||||
Labels map[string]string `mapstructure:"labels"`
|
||||
// The UUID associated with the Packer run that created this build.
|
||||
PackerRunUUID string `mapstructure:"packer_run_uuid"`
|
||||
// Whether the build is considered "complete" (the Packer build ran
|
||||
// successfully and created an artifact), or "incomplete" (the Packer
|
||||
// build did not finish, and there is no uploaded artifact).
|
||||
Status string `mapstructure:"status"`
|
||||
// The date and time at which the build was last updated.
|
||||
UpdatedAt string `mapstructure:"updated_at"`
|
||||
}
|
||||
|
||||
// Copy of []*models.HashicorpCloudPackerImage Need to copy so we can generate
|
||||
// the HCL spec.
|
||||
type ParImage struct {
|
||||
// The date and time at which the build was last updated.
|
||||
CreatedAt string `mapstructure:"created_at,omitempty"`
|
||||
// The iteration ID. This is a ULID, which is a unique identifier similar
|
||||
// to a UUID. It is created by the HCP Packer Registry when an iteration is
|
||||
// first created, and is unique to this iteration.
|
||||
ID string `mapstructure:"id,omitempty"`
|
||||
// ID or URL of the remote cloud image as given by a build.
|
||||
ImageID string `mapstructure:"image_id,omitempty"`
|
||||
// The cloud region as given by `packer build`. eg. "ap-east-1".
|
||||
// For locally managed clouds, this may map instead to a cluster, server
|
||||
// or datastore.
|
||||
Region string `mapstructure:"region,omitempty"`
|
||||
}
|
||||
|
||||
type DatasourceOutput struct {
|
||||
// The iteration ID. This is a ULID, which is a unique identifier similar
|
||||
// to a UUID. It is created by the HCP Packer Registry when an iteration is
|
||||
// first created, and is unique to this iteration.
|
||||
Id string `mapstructure:"Id"`
|
||||
// The version number assigned to an iteration. This number is an integer,
|
||||
// and is created by the HCP Packer Registry once an iteration is
|
||||
// marked "complete". If a new iteration is marked "complete", the version
|
||||
// that HCP Packer assigns to it will always be the highest previous
|
||||
// iteration version plus one.
|
||||
IncrementalVersion int32 `mapstructure:"incremental_version"`
|
||||
// The date the iteration was created.
|
||||
CreatedAt string `mapstructure:"created_at"`
|
||||
// A list of builds that are stored in the iteration. These builds can be
|
||||
// parsed using HCL to find individual image IDs for specific providers.
|
||||
Builds []ParBuild `mapstructure:"builds"`
|
||||
}
|
||||
|
||||
func (d *DeactivatedDatasource) OutputSpec() hcldec.ObjectSpec {
|
||||
return (&DatasourceOutput{}).FlatMapstructure().HCL2Spec()
|
||||
}
|
||||
|
||||
func (d *DeactivatedDatasource) Execute() (cty.Value, error) {
|
||||
ctx := context.TODO()
|
||||
|
||||
cli, err := hcpapi.NewClient()
|
||||
if err != nil {
|
||||
return cty.NullVal(cty.EmptyObject), err
|
||||
}
|
||||
// Load channel.
|
||||
log.Printf("[INFO] Reading info from HCP Packer registry (%s) [project_id=%s, organization_id=%s, channel=%s]",
|
||||
d.config.Bucket, cli.ProjectID, cli.OrganizationID, d.config.Channel)
|
||||
|
||||
channel, err := cli.GetChannel(ctx, d.config.Bucket, d.config.Channel)
|
||||
if err != nil {
|
||||
return cty.NullVal(cty.EmptyObject), fmt.Errorf("error retrieving "+
|
||||
"channel from HCP Packer registry: %s", err.Error())
|
||||
}
|
||||
|
||||
var iteration *models.HashicorpCloudPackerIteration
|
||||
if channel != nil {
|
||||
if channel.Iteration != nil {
|
||||
iteration = channel.Iteration
|
||||
}
|
||||
return cty.NullVal(cty.EmptyObject), fmt.Errorf("there is no iteration associated with the channel %s",
|
||||
d.config.Channel)
|
||||
}
|
||||
|
||||
revokeAt := time.Time(iteration.RevokeAt)
|
||||
if !revokeAt.IsZero() && revokeAt.Before(time.Now().UTC()) {
|
||||
// If RevokeAt is not a zero date and is before NOW, it means this iteration is revoked and should not be used
|
||||
// to build new images.
|
||||
return cty.NullVal(cty.EmptyObject), fmt.Errorf("the iteration associated with the channel %s is revoked and can not be used on Packer builds",
|
||||
d.config.Channel)
|
||||
}
|
||||
|
||||
output := DatasourceOutput{
|
||||
IncrementalVersion: iteration.IncrementalVersion,
|
||||
CreatedAt: iteration.CreatedAt.String(),
|
||||
Builds: convertPackerBuildList(iteration.Builds),
|
||||
}
|
||||
|
||||
return hcl2helper.HCL2ValueFromConfig(output, d.OutputSpec()), nil
|
||||
}
|
||||
|
||||
func convertPackerBuildList(builds []*models.HashicorpCloudPackerBuild) (flattened []ParBuild) {
|
||||
for _, build := range builds {
|
||||
out := ParBuild{
|
||||
CloudProvider: build.CloudProvider,
|
||||
ComponentType: build.ComponentType,
|
||||
CreatedAt: build.CreatedAt.String(),
|
||||
ID: build.ID,
|
||||
Images: convertPackerBuildImagesList(build.Images),
|
||||
Labels: build.Labels,
|
||||
PackerRunUUID: build.PackerRunUUID,
|
||||
Status: string(build.Status),
|
||||
UpdatedAt: build.UpdatedAt.String(),
|
||||
}
|
||||
flattened = append(flattened, out)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func convertPackerBuildImagesList(images []*models.HashicorpCloudPackerImage) (flattened []ParImage) {
|
||||
for _, image := range images {
|
||||
out := ParImage{
|
||||
CreatedAt: image.CreatedAt.String(),
|
||||
ID: image.ID,
|
||||
ImageID: image.ImageID,
|
||||
Region: image.Region,
|
||||
}
|
||||
flattened = append(flattened, out)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
@ -1,148 +0,0 @@
|
|||
// Code generated by "packer-sdc mapstructure-to-hcl2"; DO NOT EDIT.
|
||||
|
||||
package packer_image_iteration
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/hcl/v2/hcldec"
|
||||
"github.com/zclconf/go-cty/cty"
|
||||
)
|
||||
|
||||
// FlatConfig is an auto-generated flat version of Config.
|
||||
// Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
|
||||
type FlatConfig struct {
|
||||
PackerBuildName *string `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"`
|
||||
PackerBuilderType *string `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"`
|
||||
PackerCoreVersion *string `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"`
|
||||
PackerDebug *bool `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"`
|
||||
PackerForce *bool `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"`
|
||||
PackerOnError *string `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"`
|
||||
PackerUserVars map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"`
|
||||
PackerSensitiveVars []string `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"`
|
||||
Bucket *string `mapstructure:"bucket_name" required:"true" cty:"bucket_name" hcl:"bucket_name"`
|
||||
Channel *string `mapstructure:"channel" required:"true" cty:"channel" hcl:"channel"`
|
||||
}
|
||||
|
||||
// FlatMapstructure returns a new FlatConfig.
|
||||
// FlatConfig is an auto-generated flat version of Config.
|
||||
// Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
|
||||
func (*Config) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } {
|
||||
return new(FlatConfig)
|
||||
}
|
||||
|
||||
// HCL2Spec returns the hcl spec of a Config.
|
||||
// This spec is used by HCL to read the fields of Config.
|
||||
// The decoded values from this spec will then be applied to a FlatConfig.
|
||||
func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec {
|
||||
s := map[string]hcldec.Spec{
|
||||
"packer_build_name": &hcldec.AttrSpec{Name: "packer_build_name", Type: cty.String, Required: false},
|
||||
"packer_builder_type": &hcldec.AttrSpec{Name: "packer_builder_type", Type: cty.String, Required: false},
|
||||
"packer_core_version": &hcldec.AttrSpec{Name: "packer_core_version", Type: cty.String, Required: false},
|
||||
"packer_debug": &hcldec.AttrSpec{Name: "packer_debug", Type: cty.Bool, Required: false},
|
||||
"packer_force": &hcldec.AttrSpec{Name: "packer_force", Type: cty.Bool, Required: false},
|
||||
"packer_on_error": &hcldec.AttrSpec{Name: "packer_on_error", Type: cty.String, Required: false},
|
||||
"packer_user_variables": &hcldec.AttrSpec{Name: "packer_user_variables", Type: cty.Map(cty.String), Required: false},
|
||||
"packer_sensitive_variables": &hcldec.AttrSpec{Name: "packer_sensitive_variables", Type: cty.List(cty.String), Required: false},
|
||||
"bucket_name": &hcldec.AttrSpec{Name: "bucket_name", Type: cty.String, Required: false},
|
||||
"channel": &hcldec.AttrSpec{Name: "channel", Type: cty.String, Required: false},
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// FlatDatasourceOutput is an auto-generated flat version of DatasourceOutput.
|
||||
// Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
|
||||
type FlatDatasourceOutput struct {
|
||||
Id *string `mapstructure:"Id" cty:"Id" hcl:"Id"`
|
||||
IncrementalVersion *int32 `mapstructure:"incremental_version" cty:"incremental_version" hcl:"incremental_version"`
|
||||
CreatedAt *string `mapstructure:"created_at" cty:"created_at" hcl:"created_at"`
|
||||
Builds []FlatParBuild `mapstructure:"builds" cty:"builds" hcl:"builds"`
|
||||
}
|
||||
|
||||
// FlatMapstructure returns a new FlatDatasourceOutput.
|
||||
// FlatDatasourceOutput is an auto-generated flat version of DatasourceOutput.
|
||||
// Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
|
||||
func (*DatasourceOutput) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } {
|
||||
return new(FlatDatasourceOutput)
|
||||
}
|
||||
|
||||
// HCL2Spec returns the hcl spec of a DatasourceOutput.
|
||||
// This spec is used by HCL to read the fields of DatasourceOutput.
|
||||
// The decoded values from this spec will then be applied to a FlatDatasourceOutput.
|
||||
func (*FlatDatasourceOutput) HCL2Spec() map[string]hcldec.Spec {
|
||||
s := map[string]hcldec.Spec{
|
||||
"Id": &hcldec.AttrSpec{Name: "Id", Type: cty.String, Required: false},
|
||||
"incremental_version": &hcldec.AttrSpec{Name: "incremental_version", Type: cty.Number, Required: false},
|
||||
"created_at": &hcldec.AttrSpec{Name: "created_at", Type: cty.String, Required: false},
|
||||
"builds": &hcldec.BlockListSpec{TypeName: "builds", Nested: hcldec.ObjectSpec((*FlatParBuild)(nil).HCL2Spec())},
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// FlatParBuild is an auto-generated flat version of ParBuild.
|
||||
// Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
|
||||
type FlatParBuild struct {
|
||||
CloudProvider *string `mapstructure:"cloud_provider" cty:"cloud_provider" hcl:"cloud_provider"`
|
||||
ComponentType *string `mapstructure:"component_type" cty:"component_type" hcl:"component_type"`
|
||||
CreatedAt *string `mapstructure:"created_at" cty:"created_at" hcl:"created_at"`
|
||||
ID *string `mapstructure:"id" cty:"id" hcl:"id"`
|
||||
Images []FlatParImage `mapstructure:"images" cty:"images" hcl:"images"`
|
||||
IterationID *string `mapstructure:"iteration_id" cty:"iteration_id" hcl:"iteration_id"`
|
||||
Labels map[string]string `mapstructure:"labels" cty:"labels" hcl:"labels"`
|
||||
PackerRunUUID *string `mapstructure:"packer_run_uuid" cty:"packer_run_uuid" hcl:"packer_run_uuid"`
|
||||
Status *string `mapstructure:"status" cty:"status" hcl:"status"`
|
||||
UpdatedAt *string `mapstructure:"updated_at" cty:"updated_at" hcl:"updated_at"`
|
||||
}
|
||||
|
||||
// FlatMapstructure returns a new FlatParBuild.
|
||||
// FlatParBuild is an auto-generated flat version of ParBuild.
|
||||
// Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
|
||||
func (*ParBuild) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } {
|
||||
return new(FlatParBuild)
|
||||
}
|
||||
|
||||
// HCL2Spec returns the hcl spec of a ParBuild.
|
||||
// This spec is used by HCL to read the fields of ParBuild.
|
||||
// The decoded values from this spec will then be applied to a FlatParBuild.
|
||||
func (*FlatParBuild) HCL2Spec() map[string]hcldec.Spec {
|
||||
s := map[string]hcldec.Spec{
|
||||
"cloud_provider": &hcldec.AttrSpec{Name: "cloud_provider", Type: cty.String, Required: false},
|
||||
"component_type": &hcldec.AttrSpec{Name: "component_type", Type: cty.String, Required: false},
|
||||
"created_at": &hcldec.AttrSpec{Name: "created_at", Type: cty.String, Required: false},
|
||||
"id": &hcldec.AttrSpec{Name: "id", Type: cty.String, Required: false},
|
||||
"images": &hcldec.BlockListSpec{TypeName: "images", Nested: hcldec.ObjectSpec((*FlatParImage)(nil).HCL2Spec())},
|
||||
"iteration_id": &hcldec.AttrSpec{Name: "iteration_id", Type: cty.String, Required: false},
|
||||
"labels": &hcldec.AttrSpec{Name: "labels", Type: cty.Map(cty.String), Required: false},
|
||||
"packer_run_uuid": &hcldec.AttrSpec{Name: "packer_run_uuid", Type: cty.String, Required: false},
|
||||
"status": &hcldec.AttrSpec{Name: "status", Type: cty.String, Required: false},
|
||||
"updated_at": &hcldec.AttrSpec{Name: "updated_at", Type: cty.String, Required: false},
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// FlatParImage is an auto-generated flat version of ParImage.
|
||||
// Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
|
||||
type FlatParImage struct {
|
||||
CreatedAt *string `mapstructure:"created_at,omitempty" cty:"created_at" hcl:"created_at"`
|
||||
ID *string `mapstructure:"id,omitempty" cty:"id" hcl:"id"`
|
||||
ImageID *string `mapstructure:"image_id,omitempty" cty:"image_id" hcl:"image_id"`
|
||||
Region *string `mapstructure:"region,omitempty" cty:"region" hcl:"region"`
|
||||
}
|
||||
|
||||
// FlatMapstructure returns a new FlatParImage.
|
||||
// FlatParImage is an auto-generated flat version of ParImage.
|
||||
// Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
|
||||
func (*ParImage) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } {
|
||||
return new(FlatParImage)
|
||||
}
|
||||
|
||||
// HCL2Spec returns the hcl spec of a ParImage.
|
||||
// This spec is used by HCL to read the fields of ParImage.
|
||||
// The decoded values from this spec will then be applied to a FlatParImage.
|
||||
func (*FlatParImage) HCL2Spec() map[string]hcldec.Spec {
|
||||
s := map[string]hcldec.Spec{
|
||||
"created_at": &hcldec.AttrSpec{Name: "created_at", Type: cty.String, Required: false},
|
||||
"id": &hcldec.AttrSpec{Name: "id", Type: cty.String, Required: false},
|
||||
"image_id": &hcldec.AttrSpec{Name: "image_id", Type: cty.String, Required: false},
|
||||
"region": &hcldec.AttrSpec{Name: "region", Type: cty.String, Required: false},
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
---
|
||||
description: |
|
||||
The Packer Image Iteration Data Source retrieves information about an
|
||||
iteration from the HCP Packer registry. This information can be parsed to
|
||||
provide a source image to various Packer builders.
|
||||
page_title: Packer Image Iteration - Data Sources
|
||||
---
|
||||
|
||||
<BadgesHeader>
|
||||
<PluginBadge type="official" />
|
||||
<PluginBadge type="hcp_packer_ready" />
|
||||
</BadgesHeader>
|
||||
|
||||
# Packer Image Iteration Data Source
|
||||
|
||||
Type: `packer-image-iteration`
|
||||
|
||||
The `Packer Image Iteration` Data Source retrieves information about an
|
||||
iteration from the HCP Packer registry. This information can be parsed to
|
||||
provide a source image to various Packer builders.
|
||||
|
||||
To get started with HCP Packer, refer to the [HCP Packer documentation](https://cloud.hashicorp.com/docs/packer) or try the [Get Started with HCP Packer tutorials](https://learn.hashicorp.com/collections/packer/hcp-get-started).
|
||||
|
||||
~> **Note:** You will receive an error if you try to reference metadata from a deactivated or deleted registry. An administrator can manually deactivate or delete a registry, and HCP Packer automatically deactivates registries with billing issues. Contact [HashiCorp Support](https://support.hashicorp.com/) with questions.
|
||||
|
||||
## Revoked Iterations
|
||||
|
||||
If an iteration is revoked, the `hcp-packer-iteration` data source will fail and Packer won't proceed with the build. Building new images from a revoked image is not compliant.
|
||||
Iterations that are scheduled to be revoked will still be considered valid until the revocation date.
|
||||
|
||||
## Basic Example
|
||||
|
||||
Below is a fully functioning example. It stores information about an image
|
||||
iteration, which can then be parsed and accessed using HCL tools.
|
||||
|
||||
```hcl
|
||||
data "packer-image-iteration" "hardened-source" {
|
||||
bucket = "hardened-ubuntu-16-04"
|
||||
channel = "production-stable"
|
||||
}
|
||||
```
|
||||
|
||||
## Configuration Reference
|
||||
|
||||
Configuration options are organized below into two categories: required and
|
||||
optional. Within each category, the available options are alphabetized and
|
||||
described.
|
||||
|
||||
### Required:
|
||||
|
||||
@include 'datasource/packer-image-iteration/Config-required.mdx'
|
||||
|
||||
There are currently no optional fields for this datasource, though we intend
|
||||
to add filtering fields in the future.
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<!-- Code generated from the comments of the Config struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `bucket_name` (string) - The name of the bucket your image is in.
|
||||
|
||||
- `channel` (string) - The name of the channel to use when retrieving your image
|
||||
|
||||
<!-- End of code generated from the comments of the Config struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<!-- Code generated from the comments of the Config struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `bucket_name` (string) - The name of the bucket your image is in.
|
||||
|
||||
- `channel` (string) - The name of the channel to use when retrieving your image
|
||||
|
||||
<!-- End of code generated from the comments of the Config struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<!-- Code generated from the comments of the DatasourceOutput struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `Id` (string) - The iteration ID. This is a ULID, which is a unique identifier similar
|
||||
to a UUID. It is created by the HCP Packer Registry when an iteration is
|
||||
first created, and is unique to this iteration.
|
||||
|
||||
- `incremental_version` (int32) - The version number assigned to an iteration. This number is an integer,
|
||||
and is created by the HCP Packer Registry once an iteration is
|
||||
marked "complete". If a new iteration is marked "complete", the version
|
||||
that HCP Packer assigns to it will always be the highest previous
|
||||
iteration version plus one.
|
||||
|
||||
- `created_at` (string) - The date the iteration was created.
|
||||
|
||||
- `builds` ([]ParBuild) - A list of builds that are stored in the iteration. These builds can be
|
||||
parsed using HCL to find individual image IDs for specific providers.
|
||||
|
||||
<!-- End of code generated from the comments of the DatasourceOutput struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<!-- Code generated from the comments of the DeactivatedDatasource struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
Type for Packer datasource has been renamed temporarily to prevent it from being
|
||||
automatically registered as a viable datasource plugin in command/plugin.go.
|
||||
In the future this type will be renamed to allow for the use of the datasource.
|
||||
|
||||
<!-- End of code generated from the comments of the DeactivatedDatasource struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
<!-- Code generated from the comments of the ParBuild struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `cloud_provider` (string) - The name of the cloud provider that the build exists in. For example,
|
||||
"aws", "azure", or "gce".
|
||||
|
||||
- `component_type` (string) - The specific Packer builder or post-processor used to create the build.
|
||||
|
||||
- `created_at` (string) - The date and time at which the build was run.
|
||||
|
||||
- `id` (string) - The build ID. This is a ULID, which is a unique identifier similar
|
||||
to a UUID. It is created by the HCP Packer Registry when an build is
|
||||
first created, and is unique to this build.
|
||||
|
||||
- `images` ([]ParImage) - A list of images as stored in the HCP Packer registry. See the ParImage
|
||||
docs for more information.
|
||||
|
||||
- `iteration_id` (string) - The iteration ID. This is a ULID, which is a unique identifier similar
|
||||
to a UUID. It is created by the HCP Packer Registry when an iteration is
|
||||
first created, and is unique to this iteration.
|
||||
|
||||
- `labels` (map[string]string) - Unstructured key:value metadata associated with the build.
|
||||
|
||||
- `packer_run_uuid` (string) - The UUID associated with the Packer run that created this build.
|
||||
|
||||
- `status` (string) - Whether the build is considered "complete" (the Packer build ran
|
||||
successfully and created an artifact), or "incomplete" (the Packer
|
||||
build did not finish, and there is no uploaded artifact).
|
||||
|
||||
- `updated_at` (string) - The date and time at which the build was last updated.
|
||||
|
||||
<!-- End of code generated from the comments of the ParBuild struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<!-- Code generated from the comments of the ParBuild struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
Copy of []*models.HashicorpCloudPackerBuild. Need to copy so we can generate
|
||||
the HCL spec.
|
||||
|
||||
<!-- End of code generated from the comments of the ParBuild struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
<!-- Code generated from the comments of the ParImage struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `created_at` (string) - The date and time at which the build was last updated.
|
||||
|
||||
- `id` (string) - The iteration ID. This is a ULID, which is a unique identifier similar
|
||||
to a UUID. It is created by the HCP Packer Registry when an iteration is
|
||||
first created, and is unique to this iteration.
|
||||
|
||||
- `image_id` (string) - ID or URL of the remote cloud image as given by a build.
|
||||
|
||||
- `region` (string) - The cloud region as given by `packer build`. eg. "ap-east-1".
|
||||
For locally managed clouds, this may map instead to a cluster, server
|
||||
or datastore.
|
||||
|
||||
<!-- End of code generated from the comments of the ParImage struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<!-- Code generated from the comments of the ParImage struct in datasource/packer-image-iteration/data.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
Copy of []*models.HashicorpCloudPackerImage Need to copy so we can generate
|
||||
the HCL spec.
|
||||
|
||||
<!-- End of code generated from the comments of the ParImage struct in datasource/packer-image-iteration/data.go; -->
|
||||
|
|
@ -732,11 +732,6 @@
|
|||
{
|
||||
"title": "Image",
|
||||
"path": "datasources/hcp/hcp-packer-image"
|
||||
},
|
||||
{
|
||||
"title": "Image-Deprecated",
|
||||
"path": "datasources/hcp/packer-image-iteration",
|
||||
"hidden": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue