From 70b2d300e6fae83cda07ce845f9c43f3542c9edb Mon Sep 17 00:00:00 2001 From: Robert Neumayer Date: Fri, 27 Sep 2019 14:49:37 +0200 Subject: [PATCH 1/2] Support defined tags for oci builder --- builder/oracle/oci/config.go | 6 +++++- builder/oracle/oci/config_test.go | 3 +++ builder/oracle/oci/driver_oci.go | 1 + website/source/docs/builders/oracle-oci.html.md | 13 +++++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/builder/oracle/oci/config.go b/builder/oracle/oci/config.go index d83fa6c15..e0681d8e9 100644 --- a/builder/oracle/oci/config.go +++ b/builder/oracle/oci/config.go @@ -63,7 +63,8 @@ type Config struct { SubnetID string `mapstructure:"subnet_ocid"` // Tagging - Tags map[string]string `mapstructure:"tags"` + Tags map[string]string `mapstructure:"tags"` + DefinedTags map[string]map[string]interface{} `mapstructure:"defined_tags"` ctx interpolate.Context } @@ -207,6 +208,9 @@ func NewConfig(raws ...interface{}) (*Config, error) { } } + //if c.DefinedTags != nil { + // } + if c.ImageName == "" { name, err := interpolate.Render("packer-{{timestamp}}", nil) if err != nil { diff --git a/builder/oracle/oci/config_test.go b/builder/oracle/oci/config_test.go index a5b67d384..7084df61a 100644 --- a/builder/oracle/oci/config_test.go +++ b/builder/oracle/oci/config_test.go @@ -32,6 +32,9 @@ func testConfig(accessConfFile *os.File) map[string]interface{} { "metadata": map[string]string{ "key": "value", }, + "defined_tags": map[string]map[string]interface{}{ + "namespace": {"key": "value"}, + }, } } diff --git a/builder/oracle/oci/driver_oci.go b/builder/oracle/oci/driver_oci.go index db0f2fbc1..3f02aaab0 100644 --- a/builder/oracle/oci/driver_oci.go +++ b/builder/oracle/oci/driver_oci.go @@ -81,6 +81,7 @@ func (d *driverOCI) CreateImage(ctx context.Context, id string) (core.Image, err InstanceId: &id, DisplayName: &d.cfg.ImageName, FreeformTags: d.cfg.Tags, + DefinedTags: d.cfg.DefinedTags, }}) if err != nil { diff --git a/website/source/docs/builders/oracle-oci.html.md b/website/source/docs/builders/oracle-oci.html.md index dad452dcc..c931167d4 100644 --- a/website/source/docs/builders/oracle-oci.html.md +++ b/website/source/docs/builders/oracle-oci.html.md @@ -161,6 +161,19 @@ builder. "tag2": "value2" ``` +- `defined_tags` (map of map of strings) - Add one or more defined tags for a given namespace to the resulting + custom image. See [the Oracle + docs](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/taggingoverview.htm) + for more details. Example: + +``` {.yaml} +"tags": + "namespace": { + "tag1": "value1", + "tag2": "value2" + } +``` + ## Basic Example Here is a basic example. Note that account specific configuration has been From 7dd579f6301c3322c0f3201c2b1dafd8415540e9 Mon Sep 17 00:00:00 2001 From: Robert Neumayer Date: Mon, 30 Sep 2019 12:17:47 +0200 Subject: [PATCH 2/2] Remove commented code --- builder/oracle/oci/config.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/builder/oracle/oci/config.go b/builder/oracle/oci/config.go index e0681d8e9..014b9d207 100644 --- a/builder/oracle/oci/config.go +++ b/builder/oracle/oci/config.go @@ -208,9 +208,6 @@ func NewConfig(raws ...interface{}) (*Config, error) { } } - //if c.DefinedTags != nil { - // } - if c.ImageName == "" { name, err := interpolate.Render("packer-{{timestamp}}", nil) if err != nil {