Commit Graph
47 Commits
Author SHA1 Message Date
Megan Marsh ea1ac530b0 move hcl2template kv types into the config/custom_types with trilean definitions 2020-11-18 15:46:59 -08:00
Megan Marsh f8f1ebf0c7 move version and useragent definitions into sdk 2020-11-18 11:42:02 -08:00
Megan Marsh 1192e457ff fix linting 2020-10-21 15:29:05 -07:00
Megan Marsh c0ce8a9414 rework fixer deprecation code so we know what plugins they relate to 2020-10-21 15:28:59 -07:00
Adrien Delorme b24911661f add sshkey package and ssh-keygen comand (#10101)
* add sshkey.Generate function that returns an sshkey.Pair to be used with openssh.
* add cmd/ssh-keygen/main.go for testing purposes
* add a test calling ssh.ParsePrivateKey & ssh.ParseAuthorizedKey (which is very
   similar to what openssh would do to read a keypair)

The wrapping of the keys should be handled by crypto/x509.MarshalPKCS8PrivateKey 
& x/crypto/ssh.NewPublicKey which does not work for ed25519 and dsa. 
x509.MarshalPKCS8PrivateKey marshals ed25519 keys but the keys did not work with openssh. 
x509.MarshalPKCS8PrivateKey does not handle dsa keys.
So I had to 'wrap' those manually by reading the code of the openssh package.
Note that ssh.NewPublicKey works with any keytype. I should probably do a PR to ssh to have a NewPrivateKey & Marshalling funcs
2020-10-19 10:24:34 +02:00
Megan Marsh fa163c2514 fix generator to work even in nested packer/packer dirs 2020-08-06 13:24:15 -07:00
Adrien Delorme 946bc72ca8 snippet-extractor: better docs 2020-07-16 15:49:44 +02:00
Adrien Delorme a7abf75794 Add snippet-extract cmd that allows to extract parts of examples for docs 2020-07-16 15:26:42 +02:00
Adrien Delorme 0fe0cfc4cd remove docs scrapper ( it's old and unused now ) 2020-07-16 15:26:42 +02:00
Jonathan NealandAdrien Delorme d8b67f8520 📌 Hard Pin Website Dependencies (#9543)
* Update and pin dependencies
* Update NextJS Scripts
* npm run lint
* npm run format
* docs generator: indent docs by two and make spacing better

Co-authored-by: Adrien Delorme <[email protected]>
2020-07-13 12:33:16 +02:00
Megan Marsh 7c2dfd2760 appease linter 2020-05-29 09:40:31 -07:00
Megan Marsh a94e147865 fix go fmt 2020-05-29 09:40:31 -07:00
Megan Marsh b28059c0a5 add generator to create a list of all the deprecated options that the fixers fix
fix location of deprecated_options code
2020-05-29 09:40:31 -07:00
Adrien Delorme 40947c2bf6 HCL2: generate hcl tags with go-cty tags too (#9306)
This will allow to generate the config files:

```go
package main

import (
	"fmt"

	"github.com/hashicorp/hcl/v2/gohcl"
	"github.com/hashicorp/hcl/v2/hclwrite"
	"github.com/hashicorp/packer/builder/alicloud/ecs"
)

func main() {
	name := "name"
	app := ecs.FlatConfig{
		AlicloudImageName: &name,
		ECSSystemDiskMapping: &ecs.FlatAlicloudDiskDevice{
			DiskName: &name,
		},
	}

	f := hclwrite.NewEmptyFile()
	block := gohcl.EncodeAsBlock(&app, `source "something" "something"`)
	f.Body().AppendBlock(block)
	fmt.Printf("%s", f.Bytes())
}

```

Will output:

```
source "something" "something" {
  packer_user_variables      = null
  packer_sensitive_variables = null
  image_name                 = "name"
  image_share_account        = null
  image_unshare_account      = null
  image_copy_regions         = null
  image_copy_names           = null
  tags                       = null
  tag                        = null
  system_disk_mapping        = { disk_category = null, disk_delete_with_instance = null, disk_descri
ption = null, disk_device = null, disk_encrypted = null, disk_name = "name", disk_size = null, disk_
snapshot_id = null }
  image_disk_mappings        = null
  ssh_remote_tunnels         = null
  ssh_local_tunnels          = null
  ssh_public_key             = null
  ssh_private_key            = null
}
```

This is a good first step for #9015 and #9282 

fix #9304
2020-05-28 11:19:00 +02:00
Megan Marsh 756d0760b5 remove unused import 2020-05-01 10:36:17 -07:00
Megan Marsh 7e0cfd8b77 add undocumented tag to struct-markdown generator so that we can leave internal-use-only fields out of docs 2020-05-01 10:31:38 -07:00
Adrien Delorme c5c3585df1 make docs a bit more readable for KeyValues too 2020-04-21 12:22:37 +02:00
Adrien Delorme 840e67f775 HCL2: when we see a map generate an attribute spec instead of a block spec (#9035)
* mapstructure-to-hcl2: when we see a map generate an attribute spec and not a block spec

this will alow to do

tags = {
 key = "value"
}

instead of

tags {
  key = "value"
}

This will also enable using variables directly for those tags

* generate code

* update tests
2020-04-14 16:05:13 +02:00
Jeff Escalante 2999934326 fix generation script, bugfixes in source comments, update website paths in primary codebase 2020-04-07 17:53:22 -04:00
Adrien Delorme 78ac1e256b better type for []NameValue in docs 2020-03-17 15:02:04 +01:00
Adrien Delorme 094b837ed2 codegen: force line return in all FlatMapstructure code generation to avoid weird go-fmt discrepencies 2020-03-17 12:27:15 +01:00
Adrien Delorme 0a46bb9525 more precise docs 2020-03-17 11:50:16 +01:00
Adrien Delorme ae4b158ca3 Update mapstructure-to-hcl2.go 2020-03-13 15:44:13 +01:00
Sylvia Moss ce674ff272 Add exclude mapstructure tag to exclude from hcl2spec struct (#8785) 2020-03-03 17:13:39 +01:00
jhawk28 ff1af40c66 struct-markdown should keep the same slash direction regardless of Windows or Linux (#8738) 2020-02-14 08:50:03 +01:00
Wilken Rivera a684fae28f mapstructure-to-hcl2: Update code formatter to use golang/x/tools/imports 2020-02-07 14:15:43 -05:00
Sylvia Moss bc11853ecf Rename method writeSpecField to goFieldToCtyType (#8687) 2020-02-04 16:37:25 +01:00
Sylvia Moss 08b0bd1d2c Fix HCL2 code generation for slices within another slice (#8669) 2020-02-03 17:03:28 +01:00
Megan Marsh 69fe131571 switch trilean to boolean in docs to prevent confusion (#8673) 2020-01-31 16:42:16 +01:00
Adrien Delorme 13ea97a1df mapstructure-to-hcl2: make basic named types pointers ( optional ) 2020-01-07 12:46:27 +01:00