diff --git a/cmd/struct-markdown/main.go b/cmd/struct-markdown/main.go index 2f4658f62..77410baa4 100644 --- a/cmd/struct-markdown/main.go +++ b/cmd/struct-markdown/main.go @@ -65,7 +65,7 @@ func main() { SourcePath: sourcePath, Name: typeSpec.Name.Name, Filename: typeSpec.Name.Name + ".mdx", - Header: typeDecl.Doc.Text(), + Header: strings.TrimSpace(typeDecl.Doc.Text()), } required := Struct{ SourcePath: sourcePath, diff --git a/cmd/struct-markdown/template.go b/cmd/struct-markdown/template.go index 1a6c3bdc9..434a0899e 100644 --- a/cmd/struct-markdown/template.go +++ b/cmd/struct-markdown/template.go @@ -24,12 +24,14 @@ var structDocsTemplate = template.Must(template.New("structDocsTemplate"). "indent": indent, }). Parse(` -{{ .Header -}} -{{range .Fields}} -- ` + "`" + `{{ .Name}}` + "`" + ` ({{ .Type }}) - {{ .Docs | indent 4 }} -{{- end -}}`)) +{{ if .Header }} +{{ .Header }} +{{ end -}} +{{ range .Fields }} +- ` + "`" + `{{ .Name}}` + "`" + ` ({{ .Type }}) - {{ .Docs | indent 2 }} +{{ end }}`)) func indent(spaces int, v string) string { pad := strings.Repeat(" ", spaces) - return strings.Replace(v, "\n", "\n"+pad, -1) + return strings.TrimSpace(strings.Replace(v, "\n", "\n"+pad, -1)) } diff --git a/website/babel.config.js b/website/babel.config.js index d6135ffb4..3cf0d791c 100644 --- a/website/babel.config.js +++ b/website/babel.config.js @@ -1,4 +1,4 @@ module.exports = { presets: ['next/babel'], - plugins: ['import-glob-array'] + plugins: ['import-glob-array'], } diff --git a/website/data/docs-navigation.js b/website/data/docs-navigation.js index 92f9ec5cc..530f11472 100644 --- a/website/data/docs-navigation.js +++ b/website/data/docs-navigation.js @@ -16,7 +16,10 @@ export default [ category: 'build', content: ['source', 'provisioner', 'post-processor'], }, - 'locals', 'source', 'variable'], + 'locals', + 'source', + 'variable', + ], }, { category: 'functions', diff --git a/website/data/guides-navigation.js b/website/data/guides-navigation.js index b930c8615..f19626577 100644 --- a/website/data/guides-navigation.js +++ b/website/data/guides-navigation.js @@ -8,11 +8,11 @@ export default [ { category: 'hcl', - content: ['from-json-v1', 'variables', 'component-object-spec'] + content: ['from-json-v1', 'variables', 'component-object-spec'], }, { category: 'automatic-operating-system-installs', - content: ['autounattend_windows', 'preseed_ubuntu'] + content: ['autounattend_windows', 'preseed_ubuntu'], }, { @@ -20,8 +20,8 @@ export default [ content: [ 'isotime-template-function', 'veewee-to-packer', - 'use-packer-with-comment' - ] + 'use-packer-with-comment', + ], }, { category: 'packer-on-cicd', @@ -30,7 +30,7 @@ export default [ 'build-virtualbox-image', 'pipelineing-builds', 'trigger-tfe', - 'upload-images-to-artifact' - ] - } + 'upload-images-to-artifact', + ], + }, ] diff --git a/website/data/subnav.js b/website/data/subnav.js index c6980e700..d342ccd68 100644 --- a/website/data/subnav.js +++ b/website/data/subnav.js @@ -3,21 +3,21 @@ export default [ { text: 'Intro', url: '/intro', - type: 'inbound' + type: 'inbound', }, { text: 'Guides', url: '/guides', - type: 'inbound' + type: 'inbound', }, { text: 'Docs', url: '/docs', - type: 'inbound' + type: 'inbound', }, { text: 'Community', url: '/community', - type: 'inbound' - } + type: 'inbound', + }, ] diff --git a/website/package-lock.json b/website/package-lock.json index 3f33ad574..28af4959b 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -1440,20 +1440,20 @@ } }, "@bugsnag/browser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.1.1.tgz", - "integrity": "sha512-9LjNsSVhnHizEtixPa8XnB1LYWAfdSf7spKwVW8UBBt1yfa9h/q0AhU6CrxEPi/uehkQaHx5k/2ZvaMP5G5SAA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.2.0.tgz", + "integrity": "sha512-mD0oBpruWOIDEcbmlyw5EiSURX84FW4wYxU4SNQ59gw2tZskxXV4bcWjdxXmdH2SorI8R2SsNXWM+V1N+sMiKg==", "requires": { - "@bugsnag/core": "^7.1.1" + "@bugsnag/core": "^7.2.0" } }, "@bugsnag/core": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-7.1.1.tgz", - "integrity": "sha512-PWj2JQJIIbv4lP1YBR88hA9fS3UbGLwn+1ZxxUK5xxcUbTpViMIaoMGdQflfxHh7xfH6YmtwgA5mg2zDZGHCBw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-7.2.0.tgz", + "integrity": "sha512-v1XpF5TVQYrwKpveL8cb1dBSA0DniGzI5we2ICJNmWhylLgzRKZuAs1HUxYB+5+beU51YNrEp8yQy/WKC6HiMg==", "requires": { "@bugsnag/cuid": "^3.0.0", - "@bugsnag/safe-json-stringify": "^5.0.0", + "@bugsnag/safe-json-stringify": "^6.0.0", "error-stack-parser": "^2.0.3", "iserror": "0.0.2", "stack-generator": "^2.0.3" @@ -1465,20 +1465,20 @@ "integrity": "sha512-LOt8aaBI+KvOQGneBtpuCz3YqzyEAehd1f3nC5yr9TIYW1+IzYKa2xWS4EiMz5pPOnRPHkyyS5t/wmSmN51Gjg==" }, "@bugsnag/js": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-7.1.1.tgz", - "integrity": "sha512-pa7d3kRt398hvrhjKvEzMBKE+m1JOJpwW7c8+Btu6HrjCxBcLj7SeSzzN2mbDmT/DfPU4hjeZ+oXGTWVWjUkgQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-7.2.0.tgz", + "integrity": "sha512-tEt0/rHWKdl0VhpnECY/sfjH0SZB7a2EX3oLz6IcSGoTEsm6V228DMa9AEtgk/0cdvBfriYy63zaAG/WUoCLaQ==", "requires": { - "@bugsnag/browser": "^7.1.1", - "@bugsnag/node": "^7.1.1" + "@bugsnag/browser": "^7.2.0", + "@bugsnag/node": "^7.2.0" } }, "@bugsnag/node": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-7.1.1.tgz", - "integrity": "sha512-1ciecltpLBfr1kPTrSoHt8umPDZXxHAWdgVE1jx4QyTl1+e5WIpMvp5cs36jisIR+dbOKBB5Y3hgv6VOX5u50A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-7.2.0.tgz", + "integrity": "sha512-ydgRAT2JcZ+yLyfAZeH8TL31xLVHQ6+3/Flo/7vyH/pmMORtuGErtzhT9G9L31Qx8OqBfG4a2dJ28ib11ZLubw==", "requires": { - "@bugsnag/core": "^7.1.1", + "@bugsnag/core": "^7.2.0", "byline": "^5.0.0", "error-stack-parser": "^2.0.2", "iserror": "^0.0.2", @@ -1487,17 +1487,17 @@ } }, "@bugsnag/plugin-react": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/plugin-react/-/plugin-react-7.1.1.tgz", - "integrity": "sha512-bxz3hZa0Our7OO42sVsHWgzEuw0vdTC2cCVG1vXKQUeFQqgggMizC8yzSbxCGaqyj04Dui/YzlYnAGV3MRoUjQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/plugin-react/-/plugin-react-7.2.0.tgz", + "integrity": "sha512-JgJArvaEMFh4MzW7rJ/XoOts86JeTi+odIMRf4qk2Lc9uVWFSGAOFceDlk9zfgoYUJWddJLaC6nEp8joQd1v0Q==", "requires": { - "@bugsnag/core": "^7.1.1" + "@bugsnag/core": "^7.2.0" } }, "@bugsnag/safe-json-stringify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@bugsnag/safe-json-stringify/-/safe-json-stringify-5.0.0.tgz", - "integrity": "sha512-EdGnA7n2UmX9Z0e2tIU0biKz8tCgtjbY69KoyH3yiMzm7Q9sriIlN9bZjqhTOKzM0GdLSGrkyKWif08xWKyucA==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@bugsnag/safe-json-stringify/-/safe-json-stringify-6.0.0.tgz", + "integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==" }, "@csstools/convert-colors": { "version": "1.4.0", @@ -1549,33 +1549,37 @@ "integrity": "sha512-/Mgw6ufzjsysw5U0v7c0tCXMQeE4BSbGeasDaTuh1r6jQ+2Cokl1XhPqKqXn4+xkcx3CIVdyoUYOSLmgzutn3Q==" }, "@hashicorp/nextjs-scripts": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@hashicorp/nextjs-scripts/-/nextjs-scripts-10.0.2.tgz", - "integrity": "sha512-s18LHSyrWcgNbsFEnyMLUa7jaLBz2/UXu984UrxVoapHTq5eL4HEk1dJZ3yHcRCJjG7TEYvaXzgkL4IHc1UR5w==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@hashicorp/nextjs-scripts/-/nextjs-scripts-11.1.0.tgz", + "integrity": "sha512-qUkUsXcBRaa3DMhz6FJQ77qX+eNhFnBmuALnPIZqdu+V9cxRDFRkshf7aDPnGc9AVSDy9/tWrGGzDbBAzS7Puw==", "requires": { - "@bugsnag/js": "7.1.1", - "@bugsnag/plugin-react": "7.1.1", - "@hashicorp/react-consent-manager": "2.1.2", + "@bugsnag/js": "7.2.0", + "@bugsnag/plugin-react": "7.2.0", + "@hashicorp/react-consent-manager": "2.1.3", "@hashicorp/react-enterprise-alert": "^2.1.0", "@hashicorp/react-tabs": "^0.4.0", "@hashicorp/remark-plugins": "3.0.0", - "@mapbox/rehype-prism": "0.4.0", - "@mdx-js/react": "^1.6.5", + "@mapbox/rehype-prism": "0.5.0", + "@mdx-js/react": "^1.6.6", "@next/bundle-analyzer": "9.4.4", - "@typescript-eslint/eslint-plugin": "3.2.0", - "@typescript-eslint/parser": "3.2.0", + "@typescript-eslint/eslint-plugin": "3.6.0", + "@typescript-eslint/parser": "3.6.0", "babel-eslint": "10.1.0", "chalk": "4.1.0", "debug": "4.1.1", "ejs": "3.1.3", - "eslint": "7.2.0", + "eslint": "7.4.0", "eslint-config-prettier": "6.11.0", - "eslint-plugin-jsx-a11y": "6.2.3", - "eslint-plugin-prettier": "3.1.3", - "eslint-plugin-react": "7.20.0", + "eslint-plugin-jsx-a11y": "6.3.1", + "eslint-plugin-prettier": "3.1.4", + "eslint-plugin-react": "7.20.3", "fs-extra": "9.0.1", - "inquirer": "7.1.0", - "lint-staged": "10.2.9", + "globby": "^11.0.1", + "imagemin-mozjpeg": "^9.0.0", + "imagemin-optipng": "^8.0.0", + "imagemin-svgo": "^8.0.0", + "inquirer": "7.3.0", + "lint-staged": "10.2.11", "next-mdx-enhanced": "3.0.0", "next-optimized-images": "2.6.1", "next-transpile-modules": "3.3.0", @@ -1584,68 +1588,21 @@ "postcss-flexbugs-fixes": "4.2.1", "postcss-normalize": "9.0.0", "postcss-preset-env": "6.7.0", - "pretty-quick": "2.0.1", "readdirp": "3.4.0", "rehype-katex": "^3.0.0", "remark-math": "^2.0.1", - "rivet-graphql": "0.0.2", + "rivet-graphql": "0.2.0", "signale": "1.4.0", - "stylelint": "^13.6.0", + "stylelint": "^13.6.1", "stylelint-config-css-modules": "^2.2.0", - "stylelint-config-prettier": "^8.0.1", + "stylelint-config-prettier": "^8.0.2", "stylelint-config-standard": "^20.0.0", "stylelint-media-use-custom-media": "^2.0.0", "stylelint-order": "^4.1.0", "stylelint-use-nesting": "^3.0.0", "stylelint-value-no-unknown-custom-properties": "^3.0.0", - "typescript": "3.9.5", + "typescript": "3.9.6", "typewriter": "7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } - } } }, "@hashicorp/react-button": { @@ -1659,11 +1616,11 @@ } }, "@hashicorp/react-consent-manager": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@hashicorp/react-consent-manager/-/react-consent-manager-2.1.2.tgz", - "integrity": "sha512-AjCFIEZPa6K9UFr3Nvjy8cLHuGDa2qpQat/QVFHKp0t/acflC8z7xIDh8Yo9RBCp+YF+gF+g50ll/hhzX0pEeQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@hashicorp/react-consent-manager/-/react-consent-manager-2.1.3.tgz", + "integrity": "sha512-fTexdZn8bgiItSa3mpyMDCB0auIAz/1fxO/XXJcG+lxojGRqzkSYyaEqk6ckNvPDrY72VhYoLEOnM/pZO/dHEA==", "requires": { - "@hashicorp/react-button": "^2.2.0", + "@hashicorp/react-button": "^2.2.1", "@hashicorp/react-toggle": "^1.0.1", "@segment/in-eu": "^0.2.1", "js-cookie": "^2.2.0", @@ -1827,23 +1784,13 @@ } }, "@mapbox/rehype-prism": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@mapbox/rehype-prism/-/rehype-prism-0.4.0.tgz", - "integrity": "sha512-3lOB7cClhuKj4isJQITZp+YGXSmJ3cU71nmZ3vic4zpYrUlotNAogazelzz4QeJC16KsKv3pzP3mer3fgESeCg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@mapbox/rehype-prism/-/rehype-prism-0.5.0.tgz", + "integrity": "sha512-sE5EetmSR6At7AU2s3N2rFUUqm8BpvxUcGcesgfTZgqF7bQoekqsKxLX8gunIDjZs34acZJ6fgPFHepEWnYKCQ==", "requires": { - "hast-util-to-string": "^1.0.0", - "refractor": "^2.3.0", - "unist-util-visit": "^1.1.3" - }, - "dependencies": { - "unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", - "requires": { - "unist-util-visit-parents": "^2.0.0" - } - } + "hast-util-to-string": "^1.0.3", + "refractor": "^3.0.0", + "unist-util-visit": "^2.0.2" } }, "@mdx-js/loader": { @@ -2088,19 +2035,12 @@ "requires": { "@nodelib/fs.stat": "2.0.3", "run-parallel": "^1.1.9" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" - } } }, "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" }, "@nodelib/fs.walk": { "version": "1.2.4", @@ -2129,9 +2069,9 @@ } }, "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" }, "@stylelint/postcss-css-in-js": { "version": "0.37.1", @@ -2313,11 +2253,6 @@ "@types/unist": "*" } }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, "@types/minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", @@ -2349,11 +2284,12 @@ "integrity": "sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==" }, "@typescript-eslint/eslint-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.2.0.tgz", - "integrity": "sha512-t9RTk/GyYilIXt6BmZurhBzuMT9kLKw3fQoJtK9ayv0tXTlznXEAnx07sCLXdkN3/tZDep1s1CEV95CWuARYWA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.6.0.tgz", + "integrity": "sha512-ubHlHVt1lsPQB/CZdEov9XuOFhNG9YRC//kuiS1cMQI6Bs1SsqKrEmZnpgRwthGR09/kEDtr9MywlqXyyYd8GA==", "requires": { - "@typescript-eslint/experimental-utils": "3.2.0", + "@typescript-eslint/experimental-utils": "3.6.0", + "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", "semver": "^7.3.2", @@ -2361,34 +2297,42 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz", - "integrity": "sha512-UbJBsk+xO9dIFKtj16+m42EvUvsjZbbgQ2O5xSTSfVT1Z3yGkL90DVu0Hd3029FZ5/uBgl+F3Vo8FAcEcqc6aQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.6.0.tgz", + "integrity": "sha512-4Vdf2hvYMUnTdkCNZu+yYlFtL2v+N2R7JOynIOkFbPjf9o9wQvRwRkzUdWlFd2YiiUwJLbuuLnl5civNg5ykOQ==", "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "3.2.0", + "@typescript-eslint/types": "3.6.0", + "@typescript-eslint/typescript-estree": "3.6.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.2.0.tgz", - "integrity": "sha512-Vhu+wwdevDLVDjK1lIcoD6ZbuOa93fzqszkaO3iCnmrScmKwyW/AGkzc2UvfE5TCoCXqq7Jyt6SOXjsIlpqF4A==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.6.0.tgz", + "integrity": "sha512-taghDxuLhbDAD1U5Fk8vF+MnR0yiFE9Z3v2/bYScFb0N1I9SK8eKHkdJl1DAD48OGFDMFTeOTX0z7g0W6SYUXw==", "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.2.0", - "@typescript-eslint/typescript-estree": "3.2.0", + "@typescript-eslint/experimental-utils": "3.6.0", + "@typescript-eslint/types": "3.6.0", + "@typescript-eslint/typescript-estree": "3.6.0", "eslint-visitor-keys": "^1.1.0" } }, + "@typescript-eslint/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.6.0.tgz", + "integrity": "sha512-JwVj74ohUSt0ZPG+LZ7hb95fW8DFOqBuR6gE7qzq55KDI3BepqsCtHfBIoa0+Xi1AI7fq5nCu2VQL8z4eYftqg==" + }, "@typescript-eslint/typescript-estree": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz", - "integrity": "sha512-uh+Y2QO7dxNrdLw7mVnjUqkwO/InxEqwN0wF+Za6eo3coxls9aH9kQ/5rSvW2GcNanebRTmsT5w1/92lAOb1bA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.6.0.tgz", + "integrity": "sha512-G57NDSABHjvob7zVV09ehWyD1K6/YUKjz5+AufObFyjNO4DVmKejj47MHjVHHlZZKgmpJD2yyH9lfCXHrPITFg==", "requires": { + "@typescript-eslint/types": "3.6.0", + "@typescript-eslint/visitor-keys": "3.6.0", "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", "glob": "^7.1.6", "is-glob": "^4.0.1", "lodash": "^4.17.15", @@ -2396,6 +2340,14 @@ "tsutils": "^3.17.1" } }, + "@typescript-eslint/visitor-keys": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.6.0.tgz", + "integrity": "sha512-p1izllL2Ubwunite0ITjubuMQRBGgjdVYwyG7lXPX8GbrA6qF0uwSRz9MnXZaHMxID4948gX0Ez8v9tUDi/KfQ==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -2720,11 +2672,18 @@ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-escapes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", - "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } } }, "ansi-regex": { @@ -2912,12 +2871,27 @@ } }, "aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "requires": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz", + "integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + } } }, "arity-n": { @@ -2945,11 +2919,6 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" - }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -2971,12 +2940,9 @@ } }, "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, "array-uniq": { "version": "1.0.3", @@ -2988,6 +2954,16 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, + "array.prototype.flatmap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", + "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + } + }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -3078,9 +3054,9 @@ }, "dependencies": { "caniuse-lite": { - "version": "1.0.30001093", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001093.tgz", - "integrity": "sha512-0+ODNoOjtWD5eS9aaIpf4K0gQqZfILNY4WSNuYzeT1sXni+lMrrVjc0odEobJt6wrODofDZUX8XYi/5y7+xl8g==" + "version": "1.0.30001096", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001096.tgz", + "integrity": "sha512-PFTw9UyVfbkcMEFs82q8XVlRayj7HKvnhu5BLcmjGpv+SNyiWasCcWXPGJuO0rK0dhLRDJmtZcJ+LHUfypbw1w==" }, "chalk": { "version": "2.4.2", @@ -3127,6 +3103,11 @@ } } }, + "axe-core": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", + "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==" + }, "axios": { "version": "0.18.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", @@ -3416,11 +3397,6 @@ "path-key": "^2.0.0" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -3500,11 +3476,6 @@ "path-key": "^2.0.0" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -3589,11 +3560,6 @@ "path-key": "^2.0.0" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -3657,32 +3623,6 @@ "pify": "^4.0.1" }, "dependencies": { - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - } - } - }, "download": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", @@ -3750,39 +3690,6 @@ } } }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - } - }, "p-cancelable": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", @@ -3796,11 +3703,6 @@ "p-timeout": "^2.0.1" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "p-timeout": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", @@ -3809,12 +3711,17 @@ "p-finally": "^1.0.0" } }, - "sort-keys": { + "prepend-http": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "requires": { - "is-plain-obj": "^1.0.0" + "prepend-http": "^2.0.0" } } } @@ -4153,23 +4060,28 @@ } }, "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" }, "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" } } }, @@ -4200,9 +4112,9 @@ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" }, "camelcase": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz", - "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" }, "camelcase-css": { "version": "2.0.1", @@ -4210,20 +4122,12 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - } + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "caniuse-api": { @@ -4259,9 +4163,9 @@ "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==" }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4653,9 +4557,9 @@ } }, "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, "clipboard": { "version": "2.0.6", @@ -4804,9 +4708,9 @@ } }, "colorette": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz", - "integrity": "sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" }, "comma-separated-tokens": { "version": "1.0.8", @@ -4996,6 +4900,19 @@ "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.7.2" + }, + "dependencies": { + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + } } }, "create-ecdh": { @@ -5040,19 +4957,11 @@ } }, "cross-fetch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", - "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.5.tgz", + "integrity": "sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew==", "requires": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" - }, - "dependencies": { - "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" - } + "node-fetch": "2.6.0" } }, "cross-spawn": { @@ -5466,13 +5375,6 @@ "requires": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - } } }, "decode-uri-component": { @@ -5520,11 +5422,6 @@ "tar-stream": "^1.5.2" }, "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -5566,11 +5463,6 @@ "is-stream": "^1.1.0" }, "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -5726,27 +5618,11 @@ } }, "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } + "path-type": "^4.0.0" } }, "doctrine": { @@ -5843,69 +5719,15 @@ "pify": "^3.0.0" }, "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" - }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } } } }, @@ -6164,9 +5986,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz", - "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.4.0.tgz", + "integrity": "sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g==", "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", @@ -6174,6 +5996,7 @@ "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", + "enquirer": "^2.3.5", "eslint-scope": "^5.1.0", "eslint-utils": "^2.0.0", "eslint-visitor-keys": "^1.2.0", @@ -6187,7 +6010,6 @@ "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", @@ -6206,37 +6028,6 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -6244,19 +6035,6 @@ "requires": { "type-fest": "^0.8.1" } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -6269,52 +6047,67 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", - "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz", + "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==", "requires": { - "@babel/runtime": "^7.4.5", - "aria-query": "^3.0.0", - "array-includes": "^3.0.3", + "@babel/runtime": "^7.10.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", "ast-types-flow": "^0.0.7", - "axobject-query": "^2.0.2", - "damerau-levenshtein": "^1.0.4", - "emoji-regex": "^7.0.2", + "axe-core": "^3.5.4", + "axobject-query": "^2.1.2", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.2.1" + "jsx-ast-utils": "^2.4.1", + "language-tags": "^1.0.5" }, "dependencies": { + "@babel/runtime": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz", + "integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.0.0.tgz", + "integrity": "sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==" + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" } } }, "eslint-plugin-prettier": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz", - "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz", + "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==", "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-react": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz", - "integrity": "sha512-rqe1abd0vxMjmbPngo4NaYxTcR3Y4Hrmc/jg4T+sYz63yqlmJRknpEQfmWY+eDWPuMmix6iUIK+mv0zExjeLgA==", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.3.tgz", + "integrity": "sha512-txbo090buDeyV0ugF3YMWrzLIUqpYTsWSDZV9xLSmExE1P/Kmgg9++PD931r+KEWS66O1c9R4srLVVHmeHpoAg==", "requires": { "array-includes": "^3.1.1", + "array.prototype.flatmap": "^1.2.3", "doctrine": "^2.1.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.2.3", - "object.entries": "^1.1.1", + "jsx-ast-utils": "^2.4.1", + "object.entries": "^1.1.2", "object.fromentries": "^2.0.2", "object.values": "^1.1.1", "prop-types": "^15.7.2", - "resolve": "^1.15.1", - "string.prototype.matchall": "^4.0.2", - "xregexp": "^4.3.0" + "resolve": "^1.17.0", + "string.prototype.matchall": "^4.0.2" }, "dependencies": { "doctrine": { @@ -6470,11 +6263,6 @@ "path-key": "^2.0.0" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -6509,9 +6297,9 @@ } }, "execa": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz", - "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", + "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", "requires": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -6743,156 +6531,16 @@ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" }, "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" } }, "fast-json-stable-stringify": { @@ -6927,11 +6575,12 @@ "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" }, "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "file-entry-cache": { @@ -6972,9 +6621,9 @@ } }, "file-type": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", - "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" }, "file-uri-to-path": { "version": "1.0.0", @@ -7609,33 +7258,22 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" }, "dependencies": { "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" } } }, @@ -7662,30 +7300,40 @@ } }, "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", + "decompress-response": "^3.2.0", "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" } } }, @@ -7700,19 +7348,16 @@ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" }, "graphql": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.6.0.tgz", - "integrity": "sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg==", - "requires": { - "iterall": "^1.2.2" - } + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.3.0.tgz", + "integrity": "sha512-GTCJtzJmkFLWRfFJuoo9RWWa/FfamUHgiFosxi/X1Ani4AVWbeyBenZTNX6dM+7WSbbFfTo/25eh0LLkwHMw2w==" }, "graphql-request": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", - "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "version": "2.1.0-next.1", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-2.1.0-next.1.tgz", + "integrity": "sha512-9Qr+z4FCzxwFrnG9BE366v9KcgRXLv2bmFkj3RHfSQNDgPHCUM2mA83bwjhgxg4jig/F8X/pcceOZPwRkMleKQ==", "requires": { - "cross-fetch": "2.2.2" + "cross-fetch": "^3.0.4" } }, "gray-matter": { @@ -8049,9 +7694,9 @@ } }, "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" }, "http-errors": { "version": "1.7.2", @@ -8235,6 +7880,232 @@ "p-pipe": "^1.1.0", "pify": "^4.0.1", "replace-ext": "^1.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "imagemin-mozjpeg": { @@ -8304,9 +8175,9 @@ } }, "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" }, "imurmurhash": { "version": "0.1.4", @@ -8377,6 +8248,15 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, "arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", @@ -8387,6 +8267,15 @@ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -8400,6 +8289,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -8420,6 +8314,14 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -8428,6 +8330,19 @@ "restore-cursor": "^2.0.0" } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -8470,17 +8385,6 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - } } }, "strip-ansi": { @@ -8490,6 +8394,14 @@ "requires": { "ansi-regex": "^4.1.0" } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -8539,6 +8451,52 @@ "requires": { "chalk": "^3.0.0", "prop-types": "^15.5.10" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "inline-style-parser": { @@ -8547,35 +8505,38 @@ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.0.tgz", + "integrity": "sha512-K+LZp6L/6eE5swqIcVXrxl21aGDU4S50gKH0/d96OMQnSBCyGyZl/oZhbkVmdp5sBoINHd4xZvFSARh2dk6DWA==", "requires": { "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", + "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", + "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", "lodash": "^4.17.15", "mute-stream": "0.0.8", "run-async": "^2.4.0", - "rxjs": "^6.5.3", + "rxjs": "^6.6.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -8590,14 +8551,6 @@ "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.0" } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } } } }, @@ -8865,11 +8818,6 @@ "resolved": "https://registry.npmjs.org/is-png/-/is-png-2.0.0.tgz", "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==" }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, "is-regex": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", @@ -8998,11 +8946,6 @@ "is-object": "^1.0.1" } }, - "iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" - }, "jake": { "version": "10.8.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", @@ -9147,9 +9090,9 @@ } }, "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", "requires": { "json-buffer": "3.0.0" } @@ -9164,6 +9107,19 @@ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.19.0.tgz", "integrity": "sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA==" }, + "language-subtag-registry": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz", + "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, "latest-version": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", @@ -9200,9 +9156,9 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" }, "lint-staged": { - "version": "10.2.9", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.9.tgz", - "integrity": "sha512-ziRAuXEqvJLSXg43ezBpHxRW8FOJCXISaXU//BWrxRrp5cBdRkIx7g5IsB3OI45xYGE0S6cOacfekSjDyDKF2g==", + "version": "10.2.11", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.11.tgz", + "integrity": "sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA==", "requires": { "chalk": "^4.0.0", "cli-truncate": "2.1.0", @@ -9221,61 +9177,17 @@ "stringify-object": "^3.3.0" }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } } } }, "listr2": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.1.9.tgz", - "integrity": "sha512-29IJuXMIDV6GYAW3SGfRl56EInP2Hr7gk4GNUPjUFkSq6jpKHqr5OpH3z8r6yj0XvHBIkhFSE14ytFoBLBfCLA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.2.0.tgz", + "integrity": "sha512-Q8qbd7rgmEwDo1nSyHaWQeztfGsdL6rb4uh7BA+Q80AZiDET5rVntiU1+13mu2ZTDVaBVbvAD1Db11rnu3l9sg==", "requires": { "chalk": "^4.0.0", "cli-truncate": "^2.1.0", @@ -9287,37 +9199,6 @@ "through": "^2.3.8" }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -9325,54 +9206,25 @@ "requires": { "escape-string-regexp": "^1.0.5" } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "rxjs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", - "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", - "requires": { - "tslib": "^1.9.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } } } }, "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -9463,52 +9315,6 @@ "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", "requires": { "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - } - } } }, "log-update": { @@ -9573,17 +9379,6 @@ "requires": { "figures": "^1.3.5", "squeak": "^1.0.0" - }, - "dependencies": { - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - } } }, "longest": { @@ -9629,29 +9424,6 @@ "meow": "^3.3.0" }, "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -9664,120 +9436,6 @@ "requires": { "repeating": "^2.0.0" } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "^4.0.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" } } }, @@ -9811,9 +9469,9 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "map-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", - "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "map-visit": { "version": "1.0.0", @@ -9971,35 +9629,20 @@ } }, "meow": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz", - "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "requires": { - "@types/minimist": "^1.2.0", - "arrify": "^2.0.1", - "camelcase": "^6.0.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" - }, - "dependencies": { - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" - } + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" } }, "merge-descriptors": { @@ -10300,40 +9943,11 @@ "logalot": "^2.1.0" } }, - "mri": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.5.tgz", - "integrity": "sha512-d2RKzMD4JNyHMbnbWnznPaa8vbdlq/4pNZ3IgdaGrVbBhebBsGUUE/6qorTMYNS6TwuH3ilfOlD2bf4Igh8CKg==" - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - } - } - }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -10627,6 +10241,14 @@ "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } } } }, @@ -10789,9 +10411,34 @@ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=" }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } }, "npm-conf": { "version": "1.1.3", @@ -11058,9 +10705,9 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" }, "p-event": { "version": "1.3.0", @@ -11071,9 +10718,9 @@ } }, "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-is-promise": { "version": "1.1.0", @@ -11143,13 +10790,6 @@ "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", "requires": { "p-finally": "^1.0.0" - }, - "dependencies": { - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - } } }, "p-try": { @@ -11168,10 +10808,98 @@ "semver": "^6.2.0" }, "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } } } }, @@ -11256,14 +10984,11 @@ } }, "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" + "error-ex": "^1.2.0" } }, "parse5": { @@ -11368,6 +11093,38 @@ "requires": { "find-up": "^2.0.0", "load-json-file": "^4.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + } } }, "pkg-dir": { @@ -12495,9 +12252,9 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, "prettier": { "version": "2.0.5", @@ -12513,94 +12270,10 @@ "fast-diff": "^1.1.2" } }, - "pretty-quick": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-2.0.1.tgz", - "integrity": "sha512-y7bJt77XadjUr+P1uKqZxFWLddvj3SKY6EU4BuQtMxmmEFSMpbN132pUWdSG1g1mtUfO0noBvn7wBf0BVeomHg==", - "requires": { - "chalk": "^2.4.2", - "execa": "^2.1.0", - "find-up": "^4.1.0", - "ignore": "^5.1.4", - "mri": "^1.1.4", - "multimatch": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "execa": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", - "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^3.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "npm-run-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", - "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", - "requires": { - "path-key": "^3.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - } - } - }, "prismjs": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", - "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.20.0.tgz", + "integrity": "sha512-AEDjSrVNkynnw6A+B1DsFkd6AVdTnp+/WoUixFRULlCLZVRZlVQMVWio/16jv7G1FscUxQxOQhWwApgbnxr6kQ==", "requires": { "clipboard": "^2.0.0" } @@ -12906,62 +12579,57 @@ "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" }, "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" }, "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } } } }, @@ -12984,12 +12652,22 @@ } }, "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + } } }, "reflect.ownkeys": { @@ -12998,13 +12676,28 @@ "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=" }, "refractor": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.10.1.tgz", - "integrity": "sha512-Xh9o7hQiQlDbxo5/XkOX6H+x/q8rmlmZKr97Ie1Q8ZM32IRRd3B/UxuA/yXDW79DBSXGWxm2yRTbcTVmAciJRw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.0.0.tgz", + "integrity": "sha512-eCGK/oP4VuyW/ERqjMZRZHxl2QsztbkedkYy/SxqE/+Gh1gLaAF17tWIOcVJDiyGhar1NZy/0B9dFef7J0+FDw==", "requires": { "hastscript": "^5.0.0", - "parse-entities": "^1.1.2", - "prismjs": "~1.17.0" + "parse-entities": "^2.0.0", + "prismjs": "~1.20.0" + }, + "dependencies": { + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + } } }, "regenerate": { @@ -13549,21 +13242,18 @@ } }, "rivet-graphql": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/rivet-graphql/-/rivet-graphql-0.0.2.tgz", - "integrity": "sha512-l3OVdEx7ZyECF/xIItCkMnyFIX1V/xY+HgrfrxjqEg4L9vz3U/qD853eB8fUa79P4pzFQ3FxRU2t2BKB6cyJTQ==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rivet-graphql/-/rivet-graphql-0.2.0.tgz", + "integrity": "sha512-TUjTvG3gIBwvbE5KZfMszAlTJhhxAGy7vvMlOihDQQJh7kriMOlyegNEKJo2lWfEi/s1LibpuH53IR85lk8LiQ==", "requires": { - "graphql": "^14.5.8", - "graphql-request": "^1.8.2" + "graphql": "^15.3.0", + "graphql-request": "^2.1.0-next.1" } }, "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", - "requires": { - "is-promise": "^2.1.0" - } + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" }, "run-parallel": { "version": "1.1.9", @@ -13579,9 +13269,9 @@ } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", + "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", "requires": { "tslib": "^1.9.0" } @@ -13872,9 +13562,9 @@ } }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "signale": { "version": "1.4.0", @@ -14044,11 +13734,18 @@ } }, "sort-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-3.0.0.tgz", - "integrity": "sha512-77XUKMiZN5LvQXZ9sgWfJza19AvYIDwaDGwGiULM+B5XYru8Z90Oh06JvqDlJczvjjYvssrV0aK1GI6+YXvn5A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "requires": { - "is-plain-obj": "^2.0.0" + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + } } }, "sort-keys-length": { @@ -14057,21 +13754,6 @@ "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", "requires": { "sort-keys": "^1.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - } } }, "source-list-map": { @@ -14554,9 +14236,12 @@ } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } }, "strip-bom-string": { "version": "1.0.0", @@ -14582,11 +14267,18 @@ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "requires": { - "min-indent": "^1.0.0" + "get-stdin": "^4.0.1" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + } } }, "strip-json-comments": { @@ -14768,76 +14460,50 @@ "write-file-atomic": "^3.0.3" }, "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { + "arrify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "camelcase": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz", + "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==" + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } + } }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "get-stdin": { @@ -14845,34 +14511,78 @@ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==" }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "map-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", + "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==" + }, + "meow": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz", + "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==", + "requires": { + "@types/minimist": "^1.2.0", + "arrify": "^2.0.1", + "camelcase": "^6.0.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, "postcss": { "version": "7.0.32", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", @@ -14883,14 +14593,6 @@ "supports-color": "^6.1.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -14910,32 +14612,6 @@ } } } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -14949,6 +14625,50 @@ "uniq": "^1.0.1" } }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -14969,13 +14689,31 @@ "strip-ansi": "^6.0.0" } }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "requires": { - "has-flag": "^4.0.0" + "min-indent": "^1.0.0" } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "trim-newlines": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==" + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" } } }, @@ -15201,13 +14939,6 @@ "requires": { "temp-dir": "^1.0.0", "uuid": "^3.0.1" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } } }, "terminal-link": { @@ -15571,9 +15302,9 @@ "integrity": "sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA==" }, "trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" }, "trim-repeated": { "version": "1.0.0", @@ -15670,9 +15401,9 @@ } }, "typescript": { - "version": "3.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz", - "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==" + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.6.tgz", + "integrity": "sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==" }, "typewriter": { "version": "7.1.0", @@ -15703,11 +15434,99 @@ "yargs": "^13.2.2" }, "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, "lodash": { "version": "4.17.12", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==" }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, "prettier": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", @@ -15717,6 +15536,22 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "sort-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-3.0.0.tgz", + "integrity": "sha512-77XUKMiZN5LvQXZ9sgWfJza19AvYIDwaDGwGiULM+B5XYru8Z90Oh06JvqDlJczvjjYvssrV0aK1GI6+YXvn5A==", + "requires": { + "is-plain-obj": "^2.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } } } }, @@ -16063,11 +15898,11 @@ } }, "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "^1.0.1" } }, "url-regex": { @@ -16562,11 +16397,6 @@ } } }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" - }, "whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", @@ -16738,14 +16568,6 @@ "async-limiter": "~1.0.0" } }, - "xregexp": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", - "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", - "requires": { - "@babel/runtime-corejs3": "^7.8.3" - } - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/website/package.json b/website/package.json index ceffccecf..6684fb927 100644 --- a/website/package.json +++ b/website/package.json @@ -4,35 +4,31 @@ "version": "1.0.0", "author": "HashiCorp", "dependencies": { - "@hashicorp/nextjs-scripts": "^10.0.2", - "@hashicorp/react-button": "^2.2.1", - "@hashicorp/react-content": "^4.0.0", - "@hashicorp/react-docs-page": "^4.0.0", - "@hashicorp/react-docs-sidenav": "^3.2.5", - "@hashicorp/react-global-styles": "^4.4.0", - "@hashicorp/react-head": "^1.1.1", - "@hashicorp/react-mega-nav": "^4.0.1-2", - "@hashicorp/react-product-downloader": "^4.0.2", - "@hashicorp/react-section-header": "^2.0.0", - "@hashicorp/react-subnav": "^3.2.3", - "@hashicorp/react-vertical-text-block-list": "^2.0.1", - "algoliasearch": "^4.3.0", - "babel-plugin-import-glob-array": "^0.2.0", - "dotenv": "^8.2.0", - "gray-matter": "^4.0.2", - "imagemin-mozjpeg": "^9.0.0", - "imagemin-optipng": "^8.0.0", - "imagemin-svgo": "^8.0.0", + "@hashicorp/nextjs-scripts": "11.1.0", + "@hashicorp/react-button": "2.2.1", + "@hashicorp/react-content": "4.0.0", + "@hashicorp/react-docs-page": "4.0.0", + "@hashicorp/react-docs-sidenav": "3.2.5", + "@hashicorp/react-global-styles": "4.4.0", + "@hashicorp/react-head": "1.1.1", + "@hashicorp/react-mega-nav": "4.0.1-2", + "@hashicorp/react-product-downloader": "4.0.2", + "@hashicorp/react-section-header": "2.0.0", + "@hashicorp/react-subnav": "3.2.3", + "@hashicorp/react-vertical-text-block-list": "2.0.1", + "algoliasearch": "4.3.0", + "babel-plugin-import-glob-array": "0.2.0", + "dotenv": "8.2.0", + "gray-matter": "4.0.2", "next": "9.4.4", - "react": "^16.13.1", - "react-dom": "^16.13.1" + "react": "16.13.1", + "react-dom": "16.13.1" }, "devDependencies": { - "dart-linkcheck": "^2.0.15", - "glob": "^7.1.6", - "husky": "^4.2.5", - "inquirer": "^7.1.0", - "prettier": "^2.0.5" + "dart-linkcheck": "2.0.15", + "glob": "7.1.6", + "husky": "4.2.5", + "prettier": "2.0.5" }, "husky": { "hooks": { diff --git a/website/pages/docs/builders/amazon/ebssurrogate.mdx b/website/pages/docs/builders/amazon/ebssurrogate.mdx index bb02f5636..7c760db1f 100644 --- a/website/pages/docs/builders/amazon/ebssurrogate.mdx +++ b/website/pages/docs/builders/amazon/ebssurrogate.mdx @@ -110,7 +110,6 @@ Block devices can be nested in the ## Basic Example - diff --git a/website/pages/docs/builders/file.mdx b/website/pages/docs/builders/file.mdx index 355925b0c..32475e09a 100644 --- a/website/pages/docs/builders/file.mdx +++ b/website/pages/docs/builders/file.mdx @@ -49,7 +49,6 @@ build { - ## Configuration Reference Configuration options are organized below into two categories: required and diff --git a/website/pages/docs/builders/hyperone.mdx b/website/pages/docs/builders/hyperone.mdx index b522a9355..c2dfdfc94 100644 --- a/website/pages/docs/builders/hyperone.mdx +++ b/website/pages/docs/builders/hyperone.mdx @@ -182,7 +182,7 @@ builder. Defaults to `/etc/resolv.conf` so that DNS lookups work. - `chroot_device` (string) - The path of chroot device. Defaults an attempt is - made to identify it based on the attach location. + made to identify it based on the attach location. - `chroot_disk_size` (float) - The size of the chroot disk in GiB. Defaults to `disk_size`. diff --git a/website/pages/docs/builders/null.mdx b/website/pages/docs/builders/null.mdx index 97265cad0..376b12f8f 100644 --- a/website/pages/docs/builders/null.mdx +++ b/website/pages/docs/builders/null.mdx @@ -53,7 +53,6 @@ build { - ## Configuration Reference The null builder has no configuration parameters other than the diff --git a/website/pages/docs/builders/proxmox.mdx b/website/pages/docs/builders/proxmox.mdx index 39acb15b2..1dd34d189 100644 --- a/website/pages/docs/builders/proxmox.mdx +++ b/website/pages/docs/builders/proxmox.mdx @@ -200,7 +200,7 @@ builder. - `cloud_init` (bool) - If true, add a Cloud-Init CDROM drive after the virtual machine has been converted to a template. - `cloud_init_storage_pool` - (string) - Name of the Proxmox storage pool - to store the Cloud-Init CDROM on. If not given, the storage pool of the boot device will be used. + to store the Cloud-Init CDROM on. If not given, the storage pool of the boot device will be used. ## Example: Fedora with kickstart diff --git a/website/pages/docs/builders/virtualbox/vm.mdx b/website/pages/docs/builders/virtualbox/vm.mdx index 12ac15401..0736bc849 100644 --- a/website/pages/docs/builders/virtualbox/vm.mdx +++ b/website/pages/docs/builders/virtualbox/vm.mdx @@ -103,7 +103,6 @@ In addition to the options listed here, a [communicator](/docs/templates/communicator) can be configured for this builder. - ### Required: @include 'builder/virtualbox/vm/Config-required.mdx' @@ -186,7 +185,6 @@ builder. @include 'helper/communicator/WinRM-not-required.mdx' - ### Boot Configuration @include 'common/bootcommand/BootConfig.mdx' @@ -220,7 +218,6 @@ contention. If you notice missing keys, you can tune this delay by specifying @include 'builders/virtualbox-ssh-key-pair.mdx' - ## Guest Additions Packer will automatically download the proper guest additions for the version of diff --git a/website/pages/docs/builders/vmware/vsphere-clone.mdx b/website/pages/docs/builders/vmware/vsphere-clone.mdx index 396edb64e..f47a2fe94 100644 --- a/website/pages/docs/builders/vmware/vsphere-clone.mdx +++ b/website/pages/docs/builders/vmware/vsphere-clone.mdx @@ -146,14 +146,14 @@ can be done via environment variable: @include 'helper/communicator/SSH-Agent-Auth-not-required.mdx' --> **NOTE:** Packer uses vApp Options to inject ssh public keys to the Virtual Machine. - The [temporary_key_pair_name](/docs/builders/vmware/vsphere-clone#temporary_key_pair_name) will only work - if the template being cloned contains the vApp property `public-keys`. - If using [ssh_private_key_file](/docs/builders/vmware/vsphere-clone#ssh_private_key_file), provide - the public key via [configuration_parameters](/docs/builders/vmware/vsphere-clone#configuration_parameters) or - [vApp Options Configuration](/docs/builders/vmware/vsphere-clone#vapp-options-configuration) whenever the `guestinto.userdata` - is available. See [VMware Guestinfo datasource](https://github.com/vmware/cloud-init-vmware-guestinfo) for more information - about the key. +-> **NOTE:** Packer uses vApp Options to inject ssh public keys to the Virtual Machine. +The [temporary_key_pair_name](/docs/builders/vmware/vsphere-clone#temporary_key_pair_name) will only work +if the template being cloned contains the vApp property `public-keys`. +If using [ssh_private_key_file](/docs/builders/vmware/vsphere-clone#ssh_private_key_file), provide +the public key via [configuration_parameters](/docs/builders/vmware/vsphere-clone#configuration_parameters) or +[vApp Options Configuration](/docs/builders/vmware/vsphere-clone#vapp-options-configuration) whenever the `guestinto.userdata` +is available. See [VMware Guestinfo datasource](https://github.com/vmware/cloud-init-vmware-guestinfo) for more information +about the key. #### Optional WinRM fields: diff --git a/website/pages/docs/builders/yandex.mdx b/website/pages/docs/builders/yandex.mdx index 8e7a7eb3c..8a6dd3052 100644 --- a/website/pages/docs/builders/yandex.mdx +++ b/website/pages/docs/builders/yandex.mdx @@ -33,7 +33,7 @@ Or use the `YC_TOKEN` environment variable with proper value. Token you could ge To authenticate with a service account credential, only `service_account_key_file` is needed. Or use the `YC_SERVICE_ACCOUNT_KEY_FILE` environment variable. -The parameter expects a value path to the service account file in json format. Check [documentation](https://cloud.yandex.com/docs/cli/operations/authentication/service-account#auth-as-sa) +The parameter expects a value path to the service account file in json format. Check [documentation](https://cloud.yandex.com/docs/cli/operations/authentication/service-account#auth-as-sa) about how to create SA and its key. ### Authentication Using a Compute Instance Service Account @@ -43,7 +43,6 @@ To get more information about this kind of authentication check [documentaion](h -> **NB** Do not forget to assigne proper roles to Service Account, if you use this type of auth. - ## Basic Example ```json diff --git a/website/pages/docs/commands/build.mdx b/website/pages/docs/commands/build.mdx index da57738b1..b854e141e 100644 --- a/website/pages/docs/commands/build.mdx +++ b/website/pages/docs/commands/build.mdx @@ -36,12 +36,13 @@ artifacts that are created will be outputted at the end of the build. - `-on-error=cleanup` (default), `-on-error=abort`, `-on-error=ask`, `-on-error=run-cleanup-provisioner` - Selects what to do when the build fails. + - `cleanup` cleans up after the previous steps, deleting temporary files and virtual machines. - `abort` exits without any cleanup, which might require the next build to use `-force`. - `ask` presents a prompt and waits for you to decide to clean up, abort, or retry - the failed step. + the failed step. - `run-cleanup-provisioner` aborts and exits without any cleanup besides - the [error-cleanup-provisioner](/docs/templates/provisioners#on-error-provisioner) if one is defined. + the [error-cleanup-provisioner](/docs/templates/provisioners#on-error-provisioner) if one is defined. - `-only=foo,bar,baz` - Only run the builds with the given comma-separated names. Build names by default are their type, unless a specific `name` diff --git a/website/pages/docs/commands/console.mdx b/website/pages/docs/commands/console.mdx index 6e4f8b5e7..6d9c26a48 100644 --- a/website/pages/docs/commands/console.mdx +++ b/website/pages/docs/commands/console.mdx @@ -129,7 +129,7 @@ packer console folder/ ``` Because `folder/` is a folder Packer will start in HCL2 mode, you can also -directly pass an HCL2 formatted config file: +directly pass an HCL2 formatted config file: ```shell-session packer console file.pkr.hcl diff --git a/website/pages/docs/from-1.5/blocks/build/index.mdx b/website/pages/docs/from-1.5/blocks/build/index.mdx index f8ce353af..b67fa85c6 100644 --- a/website/pages/docs/from-1.5/blocks/build/index.mdx +++ b/website/pages/docs/from-1.5/blocks/build/index.mdx @@ -13,16 +13,15 @@ sidebar_title: build The `build` block defines what builders are started, how to `provision` them and if necessary what to do with their artifacts using `post-process`. -To use builders in a `build` block you can either: +To use builders in a `build` block you can either: -* Set the `sources` array of string with references to pre-defined sources. +- Set the `sources` array of string with references to pre-defined sources. -* Define [build-level `source` blocks](/docs/from-1.5/blocks/build/source) or -`sources` to use builders. This also allows you to set specific fields. +- Define [build-level `source` blocks](/docs/from-1.5/blocks/build/source) or + `sources` to use builders. This also allows you to set specific fields. `@include 'from-1.5/builds/example-block.mdx'` - Define [top-level `source` blocks](/docs/from-1.5/blocks/source) to configure your builders. The list of available builders can be found in the [builders](/docs/builders) section. @@ -90,12 +89,11 @@ Build 'a.null.second-example' finished. Here `'a.null.first-example'` was skipped. -> Note: It is not yet possible to match a named `build` block to do this, but -this is soon going to be possible. So here "a.*" will match nothing. - +this is soon going to be possible. So here "a.\*" will match nothing. ## Related -* A list of [community -builders](/community-tools#community-builders) is available. +- A list of [community + builders](/community-tools#community-builders) is available. -* Create your own [custom builder](/docs/extending/custom-builders) ! +- Create your own [custom builder](/docs/extending/custom-builders) ! diff --git a/website/pages/docs/from-1.5/blocks/build/post-processor.mdx b/website/pages/docs/from-1.5/blocks/build/post-processor.mdx index cb94f1ef9..e3dcd1f4f 100644 --- a/website/pages/docs/from-1.5/blocks/build/post-processor.mdx +++ b/website/pages/docs/from-1.5/blocks/build/post-processor.mdx @@ -29,7 +29,7 @@ upload artifacts, re-package, or more. The list of available post-processors can be found in the [post-processors](/docs/post-processors) section. -> Note: The input 'artifact' received by a post-processor will be automatically - deleted. +deleted. # Keep an input artifact diff --git a/website/pages/docs/from-1.5/blocks/build/provisioner.mdx b/website/pages/docs/from-1.5/blocks/build/provisioner.mdx index 5ab488405..e2e5f8eb4 100644 --- a/website/pages/docs/from-1.5/blocks/build/provisioner.mdx +++ b/website/pages/docs/from-1.5/blocks/build/provisioner.mdx @@ -77,7 +77,6 @@ build { The values within `only` or `except` are _build names_, not builder types. - ## Pausing Before Running With certain provisioners it is sometimes desirable to pause for some period of @@ -111,7 +110,6 @@ executing the shell script. With certain provisioners it is sometimes desirable to retry when it fails. Specifically, in cases where the provisioner depends on external processes that are not done yet. - Every provisioner definition in a Packer template can take a special configuration `max_retries` that is the maximum number of times a provisioner will retry on error. By default, there `max_retries` is zero and there is no retry on error. An example is shown below: diff --git a/website/pages/docs/from-1.5/blocks/build/source.mdx b/website/pages/docs/from-1.5/blocks/build/source.mdx index a6c5e2b66..9c17b95c5 100644 --- a/website/pages/docs/from-1.5/blocks/build/source.mdx +++ b/website/pages/docs/from-1.5/blocks/build/source.mdx @@ -49,6 +49,6 @@ This allows to have commonly defined source settings with specific parts of it defined inside the specific build block. -> **Note:** It is **not allowed** to set the same field in a top-level source - block and in a used source block. For example, if in the above example, the - top-level "amazon-ebs.example" source block also had an `output` field; - Packer would error. +block and in a used source block. For example, if in the above example, the +top-level "amazon-ebs.example" source block also had an `output` field; +Packer would error. diff --git a/website/pages/docs/from-1.5/blocks/index.mdx b/website/pages/docs/from-1.5/blocks/index.mdx index 311e214c9..92b706139 100644 --- a/website/pages/docs/from-1.5/blocks/index.mdx +++ b/website/pages/docs/from-1.5/blocks/index.mdx @@ -14,7 +14,7 @@ The Packer - HCL2 language includes a number of built-in blocks that you can use. A block is a container for configuration. Blocks can be defined in multiple files and `packer build folder` will build -using solely the files from a directory named `folder`. +using solely the files from a directory named `folder`. Packer does not support user-defined blocks and so only the blocks built in to the language are available for use. The navigation for this section includes a @@ -24,16 +24,16 @@ list of all of the available built-in HCL2 blocks. `@include 'from-1.5/variables/foo-block.mdx'` -* [Variable block documentation](/docs/from-1.5/blocks/variable). +- [Variable block documentation](/docs/from-1.5/blocks/variable). `@include 'from-1.5/locals/example-block.mdx'` -* [Locals block documentation](/docs/from-1.5/blocks/locals). +- [Locals block documentation](/docs/from-1.5/blocks/locals). `@include 'from-1.5/sources/example-block.mdx'` -* [source block documentation](/docs/from-1.5/blocks/source). +- [source block documentation](/docs/from-1.5/blocks/source). `@include 'from-1.5/builds/example-block.mdx'` -* [build block documentation](/docs/from-1.5/blocks/build). +- [build block documentation](/docs/from-1.5/blocks/build). diff --git a/website/pages/docs/from-1.5/blocks/locals.mdx b/website/pages/docs/from-1.5/blocks/locals.mdx index 0a3c767c3..2f4d3f578 100644 --- a/website/pages/docs/from-1.5/blocks/locals.mdx +++ b/website/pages/docs/from-1.5/blocks/locals.mdx @@ -1,7 +1,7 @@ --- description: > The locals block also called the local-variable block defines locals within - your Packer configuration. + your Packer configuration. layout: docs page_title: locals - Blocks sidebar_title: locals @@ -12,7 +12,7 @@ sidebar_title: locals `@include 'from-1.5/beta-hcl2-note.mdx'` The `locals` block, also called the `local-variable` block, defines locals within -your Packer configuration. +your Packer configuration. `@include 'from-1.5/locals/example-block.mdx'` diff --git a/website/pages/docs/from-1.5/blocks/source.mdx b/website/pages/docs/from-1.5/blocks/source.mdx index f129718ef..618b83192 100644 --- a/website/pages/docs/from-1.5/blocks/source.mdx +++ b/website/pages/docs/from-1.5/blocks/source.mdx @@ -27,7 +27,7 @@ build { } ``` -The build-level [`source` block](/docs/from-1.5/blocks/build/source) allows to +The build-level [`source` block](/docs/from-1.5/blocks/build/source) allows to set specific source fields. ```hcl @@ -41,10 +41,10 @@ build { ## Related -* The list of available builders can be found in the [builders](/docs/builders) +- The list of available builders can be found in the [builders](/docs/builders) section. -* A list of [community +- A list of [community builders](/community-tools#community-builders) is available. -* Create your own [custom builder](/docs/extending/custom-builders) ! +- Create your own [custom builder](/docs/extending/custom-builders) ! diff --git a/website/pages/docs/from-1.5/contextual-variables.mdx b/website/pages/docs/from-1.5/contextual-variables.mdx index 48c91472d..5f182f74e 100644 --- a/website/pages/docs/from-1.5/contextual-variables.mdx +++ b/website/pages/docs/from-1.5/contextual-variables.mdx @@ -61,7 +61,7 @@ Example of using [upper](/docs/from-1.5/functions/string/upper) to upper case th For builder-specific builder variables, please also refer to the builder docs: - - Amazon EC2: [chroot](/docs/builders/amazon/chroot#build-shared-information-variables), +- Amazon EC2: [chroot](/docs/builders/amazon/chroot#build-shared-information-variables), [EBS Volume](/docs/builders/amazon/ebsvolume#build-shared-information-variables), [EBS](/docs/builders/amazon/ebs#build-shared-information-variables), [EBS Surrogate](/docs/builders/amazon/ebssurrogate#build-shared-information-variables), diff --git a/website/pages/docs/from-1.5/expressions.mdx b/website/pages/docs/from-1.5/expressions.mdx index cd3ef307d..6cb8b260c 100644 --- a/website/pages/docs/from-1.5/expressions.mdx +++ b/website/pages/docs/from-1.5/expressions.mdx @@ -259,8 +259,7 @@ set. ## `dynamic` blocks Within top-level block constructs like sources, expressions can usually be used -only when assigning a value to an argument using the `name = expression` or `key -= expression` form. This covers many uses, but some source types include +only when assigning a value to an argument using the `name = expression` or `key = expression` form. This covers many uses, but some source types include repeatable _nested blocks_ in their arguments, which do not accept expressions: ```hcl diff --git a/website/pages/docs/from-1.5/functions/collection/index.mdx b/website/pages/docs/from-1.5/functions/collection/index.mdx index 821a823c9..63e4e3f62 100644 --- a/website/pages/docs/from-1.5/functions/collection/index.mdx +++ b/website/pages/docs/from-1.5/functions/collection/index.mdx @@ -4,4 +4,3 @@ page_title: Collection - Functions - Configuration Language sidebar_title: Collection Functions description: Overview of available collection functions --- - diff --git a/website/pages/docs/from-1.5/functions/conversion/index.mdx b/website/pages/docs/from-1.5/functions/conversion/index.mdx index 26d99f776..2bbf050f3 100644 --- a/website/pages/docs/from-1.5/functions/conversion/index.mdx +++ b/website/pages/docs/from-1.5/functions/conversion/index.mdx @@ -4,4 +4,3 @@ page_title: conversion - Functions - Configuration Language sidebar_title: Type Conversion Functions description: Overview of available conversion functions --- - diff --git a/website/pages/docs/from-1.5/functions/crypto/index.mdx b/website/pages/docs/from-1.5/functions/crypto/index.mdx index 778df1293..28634d2d4 100644 --- a/website/pages/docs/from-1.5/functions/crypto/index.mdx +++ b/website/pages/docs/from-1.5/functions/crypto/index.mdx @@ -4,4 +4,3 @@ page_title: crypto - Functions - Configuration Language sidebar_title: Hash and Crypto Functions description: Overview of available crypto functions --- - diff --git a/website/pages/docs/from-1.5/functions/datetime/index.mdx b/website/pages/docs/from-1.5/functions/datetime/index.mdx index 48c65837a..3a9e880b4 100644 --- a/website/pages/docs/from-1.5/functions/datetime/index.mdx +++ b/website/pages/docs/from-1.5/functions/datetime/index.mdx @@ -4,4 +4,3 @@ page_title: datetime - Functions - Configuration Language sidebar_title: Date and Time Functions description: Overview of available datetime functions --- - diff --git a/website/pages/docs/from-1.5/functions/encoding/index.mdx b/website/pages/docs/from-1.5/functions/encoding/index.mdx index f3af057f5..da55a97b5 100644 --- a/website/pages/docs/from-1.5/functions/encoding/index.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/index.mdx @@ -4,4 +4,3 @@ page_title: encoding - Functions - Configuration Language sidebar_title: Encoding Functions description: Overview of available encoding functions --- - diff --git a/website/pages/docs/from-1.5/functions/file/fileset.mdx b/website/pages/docs/from-1.5/functions/file/fileset.mdx index 4228d8491..7a42ab9bd 100644 --- a/website/pages/docs/from-1.5/functions/file/fileset.mdx +++ b/website/pages/docs/from-1.5/functions/file/fileset.mdx @@ -37,7 +37,7 @@ before Packer takes any actions. ## Examples ```shell-session -> tree pkr-consul +> tree pkr-consul pkr-consul ├── build-linux.pkr.hcl └── linux @@ -97,7 +97,8 @@ build { ``` List of provisioners with a `scripts` field: -* [`shell`](/docs/provisioners/shell) -* [`powershell`](/docs/provisioners/powershell) -* [`shell-local`](/docs/provisioners/shell-local) -* [`windows-shell`](/docs/provisioners/windows-shell) + +- [`shell`](/docs/provisioners/shell) +- [`powershell`](/docs/provisioners/powershell) +- [`shell-local`](/docs/provisioners/shell-local) +- [`windows-shell`](/docs/provisioners/windows-shell) diff --git a/website/pages/docs/from-1.5/functions/file/index.mdx b/website/pages/docs/from-1.5/functions/file/index.mdx index 77237d0e8..a3822eebe 100644 --- a/website/pages/docs/from-1.5/functions/file/index.mdx +++ b/website/pages/docs/from-1.5/functions/file/index.mdx @@ -4,4 +4,3 @@ page_title: filesystem - Functions - Configuration Language sidebar_title: Filesystem Functions description: Overview of available filesystem functions --- - diff --git a/website/pages/docs/from-1.5/functions/ipnet/index.mdx b/website/pages/docs/from-1.5/functions/ipnet/index.mdx index 999372b67..7c0c94be7 100644 --- a/website/pages/docs/from-1.5/functions/ipnet/index.mdx +++ b/website/pages/docs/from-1.5/functions/ipnet/index.mdx @@ -4,4 +4,3 @@ page_title: ipnet - Functions - Configuration Language sidebar_title: IP Network Functions description: Overview of available ipnet functions --- - diff --git a/website/pages/docs/from-1.5/functions/numeric/index.mdx b/website/pages/docs/from-1.5/functions/numeric/index.mdx index 0500bd2a4..212be5fa4 100644 --- a/website/pages/docs/from-1.5/functions/numeric/index.mdx +++ b/website/pages/docs/from-1.5/functions/numeric/index.mdx @@ -4,4 +4,3 @@ page_title: Numeric - Functions - Configuration Language sidebar_title: Numeric Functions description: Overview of available numeric functions --- - diff --git a/website/pages/docs/from-1.5/functions/string/index.mdx b/website/pages/docs/from-1.5/functions/string/index.mdx index 3cbe57d83..57bfdd412 100644 --- a/website/pages/docs/from-1.5/functions/string/index.mdx +++ b/website/pages/docs/from-1.5/functions/string/index.mdx @@ -4,4 +4,3 @@ page_title: string - Functions - Configuration Language sidebar_title: String Functions description: Overview of available string functions --- - diff --git a/website/pages/docs/from-1.5/functions/uuid/index.mdx b/website/pages/docs/from-1.5/functions/uuid/index.mdx index 2308526e7..78d997912 100644 --- a/website/pages/docs/from-1.5/functions/uuid/index.mdx +++ b/website/pages/docs/from-1.5/functions/uuid/index.mdx @@ -4,4 +4,3 @@ page_title: uuid - Functions - Configuration Language sidebar_title: UUID Functions description: Overview of available uuid functions --- - diff --git a/website/pages/docs/from-1.5/onlyexcept.mdx b/website/pages/docs/from-1.5/onlyexcept.mdx index ba10d8112..60e1f82c0 100644 --- a/website/pages/docs/from-1.5/onlyexcept.mdx +++ b/website/pages/docs/from-1.5/onlyexcept.mdx @@ -58,15 +58,15 @@ build { Note that cli arguments can be used with a glob operator, using the previous configuration: -* `packer build -only 'my_build.*' dir`: will only run the builds in blocks +- `packer build -only 'my_build.*' dir`: will only run the builds in blocks named `my_build`. -* `packer build -only '*.amazon-ebs.*' dir`: will only run the builds with a -source of type `amazon-ebs`. +- `packer build -only '*.amazon-ebs.*' dir`: will only run the builds with a + source of type `amazon-ebs`. -* `packer build -only '*.second-example-local-name' dir`: will only run that -specifically named build. +- `packer build -only '*.second-example-local-name' dir`: will only run that + specifically named build. -> Note: In the cli `only` and `except` will match agains **build names** (for - example:`my_build.amazon-ebs.first-example`) but in a provisioner they will - match on the **source type** (for example:`source.amazon-ebs.third-example`). \ No newline at end of file +example:`my_build.amazon-ebs.first-example`) but in a provisioner they will +match on the **source type** (for example:`source.amazon-ebs.third-example`). diff --git a/website/pages/docs/from-1.5/syntax-json.mdx b/website/pages/docs/from-1.5/syntax-json.mdx index 238b1f0ca..59b6e9e39 100644 --- a/website/pages/docs/from-1.5/syntax-json.mdx +++ b/website/pages/docs/from-1.5/syntax-json.mdx @@ -289,11 +289,11 @@ that apply to each top-level block type. All arguments inside `variable` blocks have non-standard mappings to JSON: -* `type`: a string containing a type expression, like `"string"` or `"list(string)"`. -* `default`: a literal JSON value that can be converted to the given type. +- `type`: a string containing a type expression, like `"string"` or `"list(string)"`. +- `default`: a literal JSON value that can be converted to the given type. Strings within this value are taken literally and _not_ interpreted as string templates. -* `description`: a literal JSON string, _not_ interpreted as a template. +- `description`: a literal JSON string, _not_ interpreted as a template. ```json { diff --git a/website/pages/docs/post-processors/manifest.mdx b/website/pages/docs/post-processors/manifest.mdx index afe8741f3..abbe5d453 100644 --- a/website/pages/docs/post-processors/manifest.mdx +++ b/website/pages/docs/post-processors/manifest.mdx @@ -37,12 +37,13 @@ post-processors such as Docker and Artifice. ### Optional: @include 'post-processor/manifest/Config-not-required.mdx' -- `keep_input_artifact` (boolean) - Unlike most other post-processors, the - keep_input_artifact option will have no effect for the manifest - post-processor. We will always retain the input artifact for manifest, - since deleting the files we just recorded is not a behavior anyone should - ever expect. `keep_input_artifact will` therefore always be evaluated as - true, regardless of the value you enter into this field. + +- `keep_input_artifact` (boolean) - Unlike most other post-processors, the + keep_input_artifact option will have no effect for the manifest + post-processor. We will always retain the input artifact for manifest, + since deleting the files we just recorded is not a behavior anyone should + ever expect. `keep_input_artifact will` therefore always be evaluated as + true, regardless of the value you enter into this field. ### Example Configuration diff --git a/website/pages/docs/post-processors/yandex-export.mdx b/website/pages/docs/post-processors/yandex-export.mdx index 72246f99d..169f5e20a 100644 --- a/website/pages/docs/post-processors/yandex-export.mdx +++ b/website/pages/docs/post-processors/yandex-export.mdx @@ -29,10 +29,8 @@ As such, assigned Service Account must have write permissions to the Yandex Obje `paths`. A new temporary static access keys from assigned Service Account used to upload image. - ## Configuration - ### Required: @include 'post-processor/yandex-export/Config-required.mdx' @@ -41,7 +39,6 @@ image. @include 'post-processor/yandex-export/Config-not-required.mdx' - ## Basic Example The following example builds a Compute image in the folder with id `b1g8jvfcgmitdrslcn86`, with an @@ -67,7 +64,7 @@ must have write access to both `s3://packer-export/my-exported-image.qcow2` and "source_image_family": "ubuntu-1604-lts", "ssh_username": "ubuntu", - "use_ipv4_nat": true, + "use_ipv4_nat": true } ], "post-processors": [ diff --git a/website/pages/docs/post-processors/yandex-import.mdx b/website/pages/docs/post-processors/yandex-import.mdx index 92f1d65d4..75f4b957e 100644 --- a/website/pages/docs/post-processors/yandex-import.mdx +++ b/website/pages/docs/post-processors/yandex-import.mdx @@ -17,15 +17,12 @@ The Yandex.Cloud Compute Image Import post-processor create new Compute Image from a qcow2 file. As Compute service support image creation from Storage service object just before request to create its upload file into Storage service. - Assigned Service Account must have write permissions to the Yandex Object Storage. A new temporary static access keys from assigned Service Account used to upload file. - ## Configuration - ### Required: @include 'post-processor/yandex-import/Config-required.mdx' @@ -34,7 +31,6 @@ file. @include 'post-processor/yandex-import/Config-not-required.mdx' - ## Basic Example TBD diff --git a/website/pages/docs/provisioners/salt-masterless.mdx b/website/pages/docs/provisioners/salt-masterless.mdx index eff65dcb7..535a35963 100644 --- a/website/pages/docs/provisioners/salt-masterless.mdx +++ b/website/pages/docs/provisioners/salt-masterless.mdx @@ -17,7 +17,6 @@ The `salt-masterless` Packer provisioner provisions machines built by Packer using [Salt](http://saltstack.com/) states, without connecting to a Salt master. - ## Basic Example The example below is fully functional. diff --git a/website/pages/docs/templates/engine.mdx b/website/pages/docs/templates/engine.mdx index 11ec5f9f2..0d0597252 100644 --- a/website/pages/docs/templates/engine.mdx +++ b/website/pages/docs/templates/engine.mdx @@ -109,7 +109,7 @@ Here is a full list of the available functions for reference. For builder-specific builder variables, please also refer to the builder docs: - - Amazon EC2: [chroot](/docs/builders/amazon/chroot#build-shared-information-variables), + - Amazon EC2: [chroot](/docs/builders/amazon/chroot#build-shared-information-variables), [EBS Volume](/docs/builders/amazon/ebsvolume#build-shared-information-variables), [EBS](/docs/builders/amazon/ebs#build-shared-information-variables), [EBS Surrogate](/docs/builders/amazon/ebssurrogate#build-shared-information-variables), diff --git a/website/pages/docs/templates/provisioners.mdx b/website/pages/docs/templates/provisioners.mdx index bf1dd2d73..73d305bc3 100644 --- a/website/pages/docs/templates/provisioners.mdx +++ b/website/pages/docs/templates/provisioners.mdx @@ -182,7 +182,6 @@ executing the shell script. With certain provisioners it is sometimes desirable to retry when it fails. Specifically, in cases where the provisioner depends on external processes that are not done yet. - Every provisioner definition in a Packer template can take a special configuration `max_retries` that is the maximum number of times a provisioner will retry on error. By default, there `max_retries` is zero and there is no retry on error. An example is shown below: diff --git a/website/pages/guides/packer-on-cicd/pipelineing-builds.mdx b/website/pages/guides/packer-on-cicd/pipelineing-builds.mdx index 7f4db14d6..a8cbe158f 100644 --- a/website/pages/guides/packer-on-cicd/pipelineing-builds.mdx +++ b/website/pages/guides/packer-on-cicd/pipelineing-builds.mdx @@ -26,12 +26,11 @@ It also makes it so that a failing build takes less time to debug and re-run. In this example, we will use the Virtualbox builders, but the concepts from this example can be applied to other builders as well. - ## Starting from an ISO Here is an extremely basic virtualbox-iso template: -``` json +```json { "builders": [ { @@ -102,7 +101,7 @@ That output filename generated in the first stage can be used as the [source_path](https://www.packer.io/docs/builders/virtualbox/ovf#source_path) for the virtualbox-ovf builder. -``` json +```json { "builders": [ { @@ -119,9 +118,7 @@ for the virtualbox-ovf builder. ], "provisioners": [ { - "inline": [ - "echo secondary provisioning" - ], + "inline": ["echo secondary provisioning"], "type": "shell" } ] @@ -140,18 +137,22 @@ the behavior you want. The below example shows a "vagrant" post-processor being used with a null builder, and manually sets the artifact from our stage-2 ovf build: -``` json +```json { - "builders": [{ - "type": "null", - "communicator": "none" - }], + "builders": [ + { + "type": "null", + "communicator": "none" + } + ], "post-processors": [ [ { "type": "artifice", - "files": ["output-virtualbox-ovf/virtualbox-example-ovf.ovf", - "output-virtualbox-ovf/virtualbox-example-ovf-disk001.vmdk"] + "files": [ + "output-virtualbox-ovf/virtualbox-example-ovf.ovf", + "output-virtualbox-ovf/virtualbox-example-ovf-disk001.vmdk" + ] }, { "type": "vagrant", @@ -166,4 +167,4 @@ By using the null builder instead of just running an ovf builder, we can spare o ## Putting it all together -Packer templates don't come with a custom "glue" to bind them together. We recommend using your CI system or wrapping scripts to connect the templates into a chain. \ No newline at end of file +Packer templates don't come with a custom "glue" to bind them together. We recommend using your CI system or wrapping scripts to connect the templates into a chain. diff --git a/website/pages/home/style.css b/website/pages/home/style.css index 7e0cb3e07..c46d94a20 100644 --- a/website/pages/home/style.css +++ b/website/pages/home/style.css @@ -23,13 +23,13 @@ width: 80%; margin: 0 10%; } - } - & > *:first-child { - margin-right: 15px; + &:first-child { + margin-right: 15px; - @media (max-width: 350px) { - margin-bottom: 15px; + @media (max-width: 350px) { + margin-bottom: 15px; + } } } } diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx index a9dea237b..3d41ca923 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx @@ -1,17 +1,16 @@ -- `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default - value is false. - -- `skip_image_validation` (bool) - The image validation can be skipped if this value is true, the default - value is false. - -- `profile` (string) - Alicloud profile must be set unless `access_key` is set; it can also be - sourced from the `ALICLOUD_PROFILE` environment variable. - -- `shared_credentials_file` (string) - Alicloud shared credentials file path. If this file exists, access and - secret keys will be read from this file. - -- `security_token` (string) - STS access token, can be set through template or by exporting as - environment variable such as `export SECURITY_TOKEN=value`. - \ No newline at end of file +- `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default + value is false. + +- `skip_image_validation` (bool) - The image validation can be skipped if this value is true, the default + value is false. + +- `profile` (string) - Alicloud profile must be set unless `access_key` is set; it can also be + sourced from the `ALICLOUD_PROFILE` environment variable. + +- `shared_credentials_file` (string) - Alicloud shared credentials file path. If this file exists, access and + secret keys will be read from this file. + +- `security_token` (string) - STS access token, can be set through template or by exporting as + environment variable such as `export SECURITY_TOKEN=value`. diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-required.mdx index ab0aa8a7f..5850bff3f 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-required.mdx @@ -1,11 +1,10 @@ -- `access_key` (string) - Alicloud access key must be provided unless `profile` is set, but it can - also be sourced from the `ALICLOUD_ACCESS_KEY` environment variable. - -- `secret_key` (string) - Alicloud secret key must be provided unless `profile` is set, but it can - also be sourced from the `ALICLOUD_SECRET_KEY` environment variable. - -- `region` (string) - Alicloud region must be provided unless `profile` is set, but it can - also be sourced from the `ALICLOUD_REGION` environment variable. - \ No newline at end of file +- `access_key` (string) - Alicloud access key must be provided unless `profile` is set, but it can + also be sourced from the `ALICLOUD_ACCESS_KEY` environment variable. + +- `secret_key` (string) - Alicloud secret key must be provided unless `profile` is set, but it can + also be sourced from the `ALICLOUD_SECRET_KEY` environment variable. + +- `region` (string) - Alicloud region must be provided unless `profile` is set, but it can + also be sourced from the `ALICLOUD_REGION` environment variable. diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx index 5898c5f0e..687425869 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx @@ -1,2 +1,3 @@ + Config of alicloud diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx index d3642ec7c..be66b5d61 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx @@ -1,39 +1,38 @@ -- `disk_name` (string) - The value of disk name is blank by default. [2, - 128] English or Chinese characters, must begin with an - uppercase/lowercase letter or Chinese character. Can contain numbers, - ., _ and -. The disk name will appear on the console. It cannot - begin with `http://` or `https://`. - -- `disk_category` (string) - Category of the system disk. Optional values - are: - - cloud - general cloud disk - - cloud_efficiency - efficiency cloud disk - - cloud_ssd - cloud SSD - -- `disk_size` (int) - Size of the system disk, measured in GiB. Value - range: [20, 500]. The specified value must be equal to or greater - than max{20, ImageSize}. Default value: max{40, ImageSize}. - -- `disk_snapshot_id` (string) - Snapshots are used to create the data - disk After this parameter is specified, Size is ignored. The actual - size of the created disk is the size of the specified snapshot. - -- `disk_description` (string) - The value of disk description is blank by - default. [2, 256] characters. The disk description will appear on the - console. It cannot begin with `http://` or `https://`. - -- `disk_delete_with_instance` (bool) - Whether or not the disk is - released along with the instance: - -- `disk_device` (string) - Device information of the related instance: - such as /dev/xvdb It is null unless the Status is In_use. - -- `disk_encrypted` (boolean) - Whether or not to encrypt the data disk. - If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By - default, if this is an extra data disk, Packer will not encrypt the - data disk. Otherwise, Packer will keep the encryption setting to what - it was in the source image. Please refer to Introduction of ECS disk encryption - for more details. - \ No newline at end of file +- `disk_name` (string) - The value of disk name is blank by default. [2, + 128] English or Chinese characters, must begin with an + uppercase/lowercase letter or Chinese character. Can contain numbers, + ., _ and -. The disk name will appear on the console. It cannot + begin with `http://` or `https://`. + +- `disk_category` (string) - Category of the system disk. Optional values + are: + - cloud - general cloud disk + - cloud_efficiency - efficiency cloud disk + - cloud_ssd - cloud SSD + +- `disk_size` (int) - Size of the system disk, measured in GiB. Value + range: [20, 500]. The specified value must be equal to or greater + than max{20, ImageSize}. Default value: max{40, ImageSize}. + +- `disk_snapshot_id` (string) - Snapshots are used to create the data + disk After this parameter is specified, Size is ignored. The actual + size of the created disk is the size of the specified snapshot. + +- `disk_description` (string) - The value of disk description is blank by + default. [2, 256] characters. The disk description will appear on the + console. It cannot begin with `http://` or `https://`. + +- `disk_delete_with_instance` (bool) - Whether or not the disk is + released along with the instance: + +- `disk_device` (string) - Device information of the related instance: + such as /dev/xvdb It is null unless the Status is In_use. + +- `disk_encrypted` (boolean) - Whether or not to encrypt the data disk. + If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By + default, if this is an extra data disk, Packer will not encrypt the + data disk. Otherwise, Packer will keep the encryption setting to what + it was in the source image. Please refer to Introduction of ECS disk encryption + for more details. diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx index 6f551478e..ff556f6b9 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx @@ -1,80 +1,79 @@ -- `system_disk_mapping` (AlicloudDiskDevice) - Image disk mapping for system - disk. - - `disk_category` (string) - Category of the system disk. Optional values - are: - - `cloud` - general cloud disk - - `cloud_efficiency` - efficiency cloud disk - - `cloud_ssd` - cloud SSD - - For phased-out instance types and non-I/O optimized instances, the - default value is cloud. Otherwise, the default value is - cloud\_efficiency. - - - `disk_description` (string) - The value of disk description is blank by - default. \[2, 256\] characters. The disk description will appear on the - console. It cannot begin with `http://` or `https://`. - - - `disk_name` (string) - The value of disk name is blank by default. \[2, - 128\] English or Chinese characters, must begin with an - uppercase/lowercase letter or Chinese character. Can contain numbers, - `.`, `_` and `-`. The disk name will appear on the console. It cannot - begin with `http://` or `https://`. - - - `disk_size` (number) - Size of the system disk, measured in GiB. Value - range: \[20, 500\]. The specified value must be equal to or greater - than max{20, ImageSize}. Default value: max{40, ImageSize}. - -- `image_disk_mappings` ([]AlicloudDiskDevice) - Add one or more data - disks to the image. - - - `disk_category` (string) - Category of the data disk. Optional values - are: - - `cloud` - general cloud disk - - `cloud_efficiency` - efficiency cloud disk - - `cloud_ssd` - cloud SSD - - Default value: cloud. - - - `disk_delete_with_instance` (boolean) - Whether or not the disk is - released along with the instance: - - True indicates that when the instance is released, this disk will - be released with it - - False indicates that when the instance is released, this disk will - be retained. - - `disk_description` (string) - The value of disk description is blank by - default. \[2, 256\] characters. The disk description will appear on the - console. It cannot begin with `http://` or `https://`. - - - `disk_device` (string) - Device information of the related instance: - such as `/dev/xvdb` It is null unless the Status is In\_use. - - - `disk_name` (string) - The value of disk name is blank by default. \[2, - 128\] English or Chinese characters, must begin with an - uppercase/lowercase letter or Chinese character. Can contain numbers, - `.`, `_` and `-`. The disk name will appear on the console. It cannot - begin with `http://` or `https://`. - - - `disk_size` (number) - Size of the data disk, in GB, values range: - - `cloud` - 5 \~ 2000 - - `cloud_efficiency` - 20 \~ 2048 - - `cloud_ssd` - 20 \~ 2048 - - The value should be equal to or greater than the size of the specific - SnapshotId. - - - `disk_snapshot_id` (string) - Snapshots are used to create the data - disk After this parameter is specified, Size is ignored. The actual - size of the created disk is the size of the specified snapshot. - - Snapshots from on or before July 15, 2013 cannot be used to create a - disk. - - - `disk_encrypted` (boolean) - Whether or not to encrypt the data disk. - If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By - default, if this is an extra data disk, Packer will not encrypt the - data disk. Otherwise, Packer will keep the encryption setting to what - it was in the source image. Please refer to Introduction of [ECS disk encryption](https://www.alibabacloud.com/help/doc-detail/59643.htm) - for more details. - \ No newline at end of file +- `system_disk_mapping` (AlicloudDiskDevice) - Image disk mapping for system + disk. + - `disk_category` (string) - Category of the system disk. Optional values + are: + - `cloud` - general cloud disk + - `cloud_efficiency` - efficiency cloud disk + - `cloud_ssd` - cloud SSD + + For phased-out instance types and non-I/O optimized instances, the + default value is cloud. Otherwise, the default value is + cloud\_efficiency. + + - `disk_description` (string) - The value of disk description is blank by + default. \[2, 256\] characters. The disk description will appear on the + console. It cannot begin with `http://` or `https://`. + + - `disk_name` (string) - The value of disk name is blank by default. \[2, + 128\] English or Chinese characters, must begin with an + uppercase/lowercase letter or Chinese character. Can contain numbers, + `.`, `_` and `-`. The disk name will appear on the console. It cannot + begin with `http://` or `https://`. + + - `disk_size` (number) - Size of the system disk, measured in GiB. Value + range: \[20, 500\]. The specified value must be equal to or greater + than max{20, ImageSize}. Default value: max{40, ImageSize}. + +- `image_disk_mappings` ([]AlicloudDiskDevice) - Add one or more data + disks to the image. + + - `disk_category` (string) - Category of the data disk. Optional values + are: + - `cloud` - general cloud disk + - `cloud_efficiency` - efficiency cloud disk + - `cloud_ssd` - cloud SSD + + Default value: cloud. + + - `disk_delete_with_instance` (boolean) - Whether or not the disk is + released along with the instance: + - True indicates that when the instance is released, this disk will + be released with it + - False indicates that when the instance is released, this disk will + be retained. + - `disk_description` (string) - The value of disk description is blank by + default. \[2, 256\] characters. The disk description will appear on the + console. It cannot begin with `http://` or `https://`. + + - `disk_device` (string) - Device information of the related instance: + such as `/dev/xvdb` It is null unless the Status is In\_use. + + - `disk_name` (string) - The value of disk name is blank by default. \[2, + 128\] English or Chinese characters, must begin with an + uppercase/lowercase letter or Chinese character. Can contain numbers, + `.`, `_` and `-`. The disk name will appear on the console. It cannot + begin with `http://` or `https://`. + + - `disk_size` (number) - Size of the data disk, in GB, values range: + - `cloud` - 5 \~ 2000 + - `cloud_efficiency` - 20 \~ 2048 + - `cloud_ssd` - 20 \~ 2048 + + The value should be equal to or greater than the size of the specific + SnapshotId. + + - `disk_snapshot_id` (string) - Snapshots are used to create the data + disk After this parameter is specified, Size is ignored. The actual + size of the created disk is the size of the specified snapshot. + + Snapshots from on or before July 15, 2013 cannot be used to create a + disk. + + - `disk_encrypted` (boolean) - Whether or not to encrypt the data disk. + If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By + default, if this is an extra data disk, Packer will not encrypt the + data disk. Otherwise, Packer will keep the encryption setting to what + it was in the source image. Please refer to Introduction of [ECS disk encryption](https://www.alibabacloud.com/help/doc-detail/59643.htm) + for more details. diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx index 047e10355..ae957a5e8 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx @@ -1,58 +1,59 @@ -- `image_version` (string) - The version number of the image, with a length limit of 1 to 40 English - characters. - -- `image_description` (string) - The description of the image, with a length limit of 0 to 256 - characters. Leaving it blank means null, which is the default value. It - cannot begin with `http://` or `https://`. - -- `image_share_account` ([]string) - The IDs of to-be-added Aliyun accounts to which the image is shared. The - number of accounts is 1 to 10. If number of accounts is greater than 10, - this parameter is ignored. - -- `image_unshare_account` ([]string) - Alicloud Image UN Share Accounts -- `image_copy_regions` ([]string) - Copy to the destination regionIds. - -- `image_copy_names` ([]string) - The name of the destination image, [2, 128] English or Chinese - characters. It must begin with an uppercase/lowercase letter or a - Chinese character, and may contain numbers, _ or -. It cannot begin with - `http://` or `https://`. - -- `image_encrypted` (boolean) - Whether or not to encrypt the target images, including those - copied if image_copy_regions is specified. If this option is set to - true, a temporary image will be created from the provisioned instance in - the main region and an encrypted copy will be generated in the same - region. By default, Packer will keep the encryption setting to what it - was in the source image. - -- `image_force_delete` (bool) - If this value is true, when the target image names including those - copied are duplicated with existing images, it will delete the existing - images and then create the target images, otherwise, the creation will - fail. The default value is false. Check `image_name` and - `image_copy_names` options for names of target images. If - [-force](/docs/commands/build#force) option is provided in `build` - command, this option can be omitted and taken as true. - -- `image_force_delete_snapshots` (bool) - If this value is true, when delete the duplicated existing images, the - source snapshots of those images will be delete either. If - [-force](/docs/commands/build#force) option is provided in `build` - command, this option can be omitted and taken as true. - -- `image_force_delete_instances` (bool) - Alicloud Image Force Delete Instances -- `image_ignore_data_disks` (bool) - If this value is true, the image created will not include any snapshot - of data disks. This option would be useful for any circumstance that - default data disks with instance types are not concerned. The default - value is false. - -- `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default - value is false. - -- `tags` (map[string]string) - Key/value pair tags applied to the destination image and relevant - snapshots. - -- `tag` ([]{key string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block - containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - \ No newline at end of file +- `image_version` (string) - The version number of the image, with a length limit of 1 to 40 English + characters. + +- `image_description` (string) - The description of the image, with a length limit of 0 to 256 + characters. Leaving it blank means null, which is the default value. It + cannot begin with `http://` or `https://`. + +- `image_share_account` ([]string) - The IDs of to-be-added Aliyun accounts to which the image is shared. The + number of accounts is 1 to 10. If number of accounts is greater than 10, + this parameter is ignored. + +- `image_unshare_account` ([]string) - Alicloud Image UN Share Accounts + +- `image_copy_regions` ([]string) - Copy to the destination regionIds. + +- `image_copy_names` ([]string) - The name of the destination image, [2, 128] English or Chinese + characters. It must begin with an uppercase/lowercase letter or a + Chinese character, and may contain numbers, _ or -. It cannot begin with + `http://` or `https://`. + +- `image_encrypted` (boolean) - Whether or not to encrypt the target images, including those + copied if image_copy_regions is specified. If this option is set to + true, a temporary image will be created from the provisioned instance in + the main region and an encrypted copy will be generated in the same + region. By default, Packer will keep the encryption setting to what it + was in the source image. + +- `image_force_delete` (bool) - If this value is true, when the target image names including those + copied are duplicated with existing images, it will delete the existing + images and then create the target images, otherwise, the creation will + fail. The default value is false. Check `image_name` and + `image_copy_names` options for names of target images. If + [-force](/docs/commands/build#force) option is provided in `build` + command, this option can be omitted and taken as true. + +- `image_force_delete_snapshots` (bool) - If this value is true, when delete the duplicated existing images, the + source snapshots of those images will be delete either. If + [-force](/docs/commands/build#force) option is provided in `build` + command, this option can be omitted and taken as true. + +- `image_force_delete_instances` (bool) - Alicloud Image Force Delete Instances + +- `image_ignore_data_disks` (bool) - If this value is true, the image created will not include any snapshot + of data disks. This option would be useful for any circumstance that + default data disks with instance types are not concerned. The default + value is false. + +- `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default + value is false. + +- `tags` (map[string]string) - Key/value pair tags applied to the destination image and relevant + snapshots. + +- `tag` ([]{key string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block + containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx index d6a1723fd..657687dec 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx @@ -1,7 +1,6 @@ -- `image_name` (string) - The name of the user-defined image, [2, 128] English or Chinese - characters. It must begin with an uppercase/lowercase letter or a - Chinese character, and may contain numbers, `_` or `-`. It cannot begin - with `http://` or `https://`. - \ No newline at end of file +- `image_name` (string) - The name of the user-defined image, [2, 128] English or Chinese + characters. It must begin with an uppercase/lowercase letter or a + Chinese character, and may contain numbers, `_` or `-`. It cannot begin + with `http://` or `https://`. diff --git a/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx index d24bf12d8..edb8e05e5 100644 --- a/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx @@ -1,94 +1,95 @@ -- `associate_public_ip_address` (bool) - Associate Public Ip Address -- `zone_id` (string) - ID of the zone to which the disk belongs. - -- `io_optimized` (boolean) - Whether an ECS instance is I/O optimized or not. If this option is not - provided, the value will be determined by product API according to what - `instance_type` is used. - -- `description` (string) - Description -- `force_stop_instance` (bool) - Whether to force shutdown upon device - restart. The default value is `false`. - - If it is set to `false`, the system is shut down normally; if it is set to - `true`, the system is forced to shut down. - -- `disable_stop_instance` (bool) - If this option is set to true, Packer - will not stop the instance for you, and you need to make sure the instance - will be stopped in the final provisioner command. Otherwise, Packer will - timeout while waiting the instance to be stopped. This option is provided - for some specific scenarios that you want to stop the instance by yourself. - E.g., Sysprep a windows which may shutdown the instance within its command. - The default value is false. - -- `security_group_id` (string) - ID of the security group to which a newly - created instance belongs. Mutual access is allowed between instances in one - security group. If not specified, the newly created instance will be added - to the default security group. If the default group doesn’t exist, or the - number of instances in it has reached the maximum limit, a new security - group will be created automatically. - -- `security_group_name` (string) - The security group name. The default value - is blank. [2, 128] English or Chinese characters, must begin with an - uppercase/lowercase letter or Chinese character. Can contain numbers, ., - _ or -. It cannot begin with `http://` or `https://`. - -- `user_data` (string) - User data to apply when launching the instance. Note - that you need to be careful about escaping characters due to the templates - being JSON. It is often more convenient to use user_data_file, instead. - Packer will not automatically wait for a user script to finish before - shutting down the instance this must be handled in a provisioner. - -- `user_data_file` (string) - Path to a file that will be used for the user - data when launching the instance. - -- `vpc_id` (string) - VPC ID allocated by the system. - -- `vpc_name` (string) - The VPC name. The default value is blank. [2, 128] - English or Chinese characters, must begin with an uppercase/lowercase - letter or Chinese character. Can contain numbers, _ and -. The disk - description will appear on the console. Cannot begin with `http://` or - `https://`. - -- `vpc_cidr_block` (string) - Value options: 192.168.0.0/16 and - 172.16.0.0/16. When not specified, the default value is 172.16.0.0/16. - -- `vswitch_id` (string) - The ID of the VSwitch to be used. - -- `vswitch_name` (string) - The ID of the VSwitch to be used. - -- `instance_name` (string) - Display name of the instance, which is a string of 2 to 128 Chinese or - English characters. It must begin with an uppercase/lowercase letter or - a Chinese character and can contain numerals, `.`, `_`, or `-`. The - instance name is displayed on the Alibaba Cloud console. If this - parameter is not specified, the default value is InstanceId of the - instance. It cannot begin with `http://` or `https://`. - -- `internet_charge_type` (string) - Internet charge type, which can be - `PayByTraffic` or `PayByBandwidth`. Optional values: - - `PayByBandwidth` - - `PayByTraffic` - - If this parameter is not specified, the default value is `PayByBandwidth`. - For the regions out of China, currently only support `PayByTraffic`, you - must set it manfully. - -- `internet_max_bandwidth_out` (int) - Maximum outgoing bandwidth to the - public network, measured in Mbps (Mega bits per second). - - Value range: - - `PayByBandwidth`: \[0, 100\]. If this parameter is not specified, API - automatically sets it to 0 Mbps. - - `PayByTraffic`: \[1, 100\]. If this parameter is not specified, an - error is returned. - -- `wait_snapshot_ready_timeout` (int) - Timeout of creating snapshot(s). - The default timeout is 3600 seconds if this option is not set or is set - to 0. For those disks containing lots of data, it may require a higher - timeout value. - -- `ssh_private_ip` (bool) - If this value is true, packer will connect to - the ECS created through private ip instead of allocating a public ip or an - EIP. The default value is false. - \ No newline at end of file +- `associate_public_ip_address` (bool) - Associate Public Ip Address + +- `zone_id` (string) - ID of the zone to which the disk belongs. + +- `io_optimized` (boolean) - Whether an ECS instance is I/O optimized or not. If this option is not + provided, the value will be determined by product API according to what + `instance_type` is used. + +- `description` (string) - Description + +- `force_stop_instance` (bool) - Whether to force shutdown upon device + restart. The default value is `false`. + + If it is set to `false`, the system is shut down normally; if it is set to + `true`, the system is forced to shut down. + +- `disable_stop_instance` (bool) - If this option is set to true, Packer + will not stop the instance for you, and you need to make sure the instance + will be stopped in the final provisioner command. Otherwise, Packer will + timeout while waiting the instance to be stopped. This option is provided + for some specific scenarios that you want to stop the instance by yourself. + E.g., Sysprep a windows which may shutdown the instance within its command. + The default value is false. + +- `security_group_id` (string) - ID of the security group to which a newly + created instance belongs. Mutual access is allowed between instances in one + security group. If not specified, the newly created instance will be added + to the default security group. If the default group doesn’t exist, or the + number of instances in it has reached the maximum limit, a new security + group will be created automatically. + +- `security_group_name` (string) - The security group name. The default value + is blank. [2, 128] English or Chinese characters, must begin with an + uppercase/lowercase letter or Chinese character. Can contain numbers, ., + _ or -. It cannot begin with `http://` or `https://`. + +- `user_data` (string) - User data to apply when launching the instance. Note + that you need to be careful about escaping characters due to the templates + being JSON. It is often more convenient to use user_data_file, instead. + Packer will not automatically wait for a user script to finish before + shutting down the instance this must be handled in a provisioner. + +- `user_data_file` (string) - Path to a file that will be used for the user + data when launching the instance. + +- `vpc_id` (string) - VPC ID allocated by the system. + +- `vpc_name` (string) - The VPC name. The default value is blank. [2, 128] + English or Chinese characters, must begin with an uppercase/lowercase + letter or Chinese character. Can contain numbers, _ and -. The disk + description will appear on the console. Cannot begin with `http://` or + `https://`. + +- `vpc_cidr_block` (string) - Value options: 192.168.0.0/16 and + 172.16.0.0/16. When not specified, the default value is 172.16.0.0/16. + +- `vswitch_id` (string) - The ID of the VSwitch to be used. + +- `vswitch_name` (string) - The ID of the VSwitch to be used. + +- `instance_name` (string) - Display name of the instance, which is a string of 2 to 128 Chinese or + English characters. It must begin with an uppercase/lowercase letter or + a Chinese character and can contain numerals, `.`, `_`, or `-`. The + instance name is displayed on the Alibaba Cloud console. If this + parameter is not specified, the default value is InstanceId of the + instance. It cannot begin with `http://` or `https://`. + +- `internet_charge_type` (string) - Internet charge type, which can be + `PayByTraffic` or `PayByBandwidth`. Optional values: + - `PayByBandwidth` + - `PayByTraffic` + + If this parameter is not specified, the default value is `PayByBandwidth`. + For the regions out of China, currently only support `PayByTraffic`, you + must set it manfully. + +- `internet_max_bandwidth_out` (int) - Maximum outgoing bandwidth to the + public network, measured in Mbps (Mega bits per second). + + Value range: + - `PayByBandwidth`: \[0, 100\]. If this parameter is not specified, API + automatically sets it to 0 Mbps. + - `PayByTraffic`: \[1, 100\]. If this parameter is not specified, an + error is returned. + +- `wait_snapshot_ready_timeout` (int) - Timeout of creating snapshot(s). + The default timeout is 3600 seconds if this option is not set or is set + to 0. For those disks containing lots of data, it may require a higher + timeout value. + +- `ssh_private_ip` (bool) - If this value is true, packer will connect to + the ECS created through private ip instead of allocating a public ip or an + EIP. The default value is false. diff --git a/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx b/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx index e32755b4f..8ecb59861 100644 --- a/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx @@ -1,12 +1,11 @@ -- `instance_type` (string) - Type of the instance. For values, see [Instance Type - Table](https://www.alibabacloud.com/help/doc-detail/25378.htm?spm=a3c0i.o25499en.a3.9.14a36ac8iYqKRA). - You can also obtain the latest instance type table by invoking the - [Querying Instance Type - Table](https://intl.aliyun.com/help/doc-detail/25620.htm?spm=a3c0i.o25499en.a3.6.Dr1bik) - interface. - -- `source_image` (string) - This is the base image id which you want to - create your customized images. - \ No newline at end of file +- `instance_type` (string) - Type of the instance. For values, see [Instance Type + Table](https://www.alibabacloud.com/help/doc-detail/25378.htm?spm=a3c0i.o25499en.a3.9.14a36ac8iYqKRA). + You can also obtain the latest instance type table by invoking the + [Querying Instance Type + Table](https://intl.aliyun.com/help/doc-detail/25620.htm?spm=a3c0i.o25499en.a3.6.Dr1bik) + interface. + +- `source_image` (string) - This is the base image id which you want to + create your customized images. diff --git a/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx b/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx index 668721f1a..b113914ba 100644 --- a/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx @@ -1,135 +1,134 @@ -- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more [block device - mappings](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) - to the AMI. If this field is populated, and you are building from an - existing source image, the block device mappings in the source image - will be overwritten. This means you must have a block device mapping - entry for your root volume, `root_volume_size` and `root_device_name`. - See the [BlockDevices](#block-devices-configuration) documentation for - fields. - -- `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This - configuration parameter requires some additional documentation which is - in the Chroot Mounts section. Please read that section for more - information on how to use this. - -- `command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be - useful to set if you want to set environmental variables or perhaps run - it with sudo or so on. This is a configuration template where the - .Command variable is replaced with the command to be run. Defaults to - `{{.Command}}`. - -- `copy_files` ([]string) - Paths to files on the running EC2 instance that will be copied into the - chroot environment prior to provisioning. Defaults to /etc/resolv.conf - so that DNS lookups work. Pass an empty list to skip copying - /etc/resolv.conf. You may need to do this if you're building an image - that uses systemd. - -- `device_path` (string) - The path to the device where the root volume of the source AMI will be - attached. This defaults to "" (empty string), which forces Packer to - find an open device automatically. - -- `nvme_device_path` (string) - When we call the mount command (by default mount -o device dir), the - string provided in nvme_mount_path will replace device in that command. - When this option is not set, device in that command will be something - like /dev/sdf1, mirroring the attached device name. This assumption - works for most instances but will fail with c5 and m5 instances. In - order to use the chroot builder with c5 and m5 instances, you must - manually set nvme_device_path and device_path. - -- `from_scratch` (bool) - Build a new volume instead of starting from an existing AMI root volume - snapshot. Default false. If true, source_ami/source_ami_filter are no - longer used and the following options become required: - ami_virtualization_type, pre_mount_commands and root_volume_size. - -- `mount_options` ([]string) - Options to supply the mount command when mounting devices. Each option - will be prefixed with -o and supplied to the mount command ran by - Packer. Because this command is ran in a shell, user discretion is - advised. See this manual page for the mount command for valid file - system specific options. - -- `mount_partition` (string) - The partition number containing the / partition. By default this is the - first partition of the volume, (for example, xvda1) but you can - designate the entire block device by setting "mount_partition": "0" in - your config, which will mount xvda instead. - -- `mount_path` (string) - The path where the volume will be mounted. This is where the chroot - environment will be. This defaults to - `/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration - template where the .Device variable is replaced with the name of the - device where the volume is attached. - -- `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the - root device and before the extra mount and copy steps. The device and - mount path are provided by `{{.Device}}` and `{{.MountPath}}`. - -- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and - before mounting the chroot. This is not required unless using - from_scratch. If so, this should include any partitioning and filesystem - creation commands. The path to the device is provided by `{{.Device}}`. - -- `root_device_name` (string) - The root device name. For example, xvda. - -- `root_volume_size` (int64) - The size of the root volume in GB for the chroot environment and the - resulting AMI. Default size is the snapshot size of the source_ami - unless from_scratch is true, in which case this field must be defined. - -- `root_volume_type` (string) - The type of EBS volume for the chroot environment and resulting AMI. The - default value is the type of the source_ami, unless from_scratch is - true, in which case the default value is gp2. You can only specify io1 - if building based on top of a source_ami which is also io1. - -- `source_ami_filter` (awscommon.AmiFilterOptions) - Filters used to populate the source_ami field. Example: - - ```json - { - "source_ami_filter": { - "filters": { - "virtualization-type": "hvm", - "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*", - "root-device-type": "ebs" - }, - "owners": ["099720109477"], - "most_recent": true - } - } - ``` - - This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE: - This will fail unless *exactly* one AMI is returned. In the above example, - `most_recent` will cause this to succeed by selecting the newest image. - - - `filters` (map of strings) - filters used to select a `source_ami`. - NOTE: This will fail unless *exactly* one AMI is returned. Any filter - described in the docs for - [DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html) - is valid. - - - `owners` (array of strings) - Filters the images by their owner. You - may specify one or more AWS account IDs, "self" (which will use the - account whose credentials you are using to run Packer), or an AWS owner - alias: for example, "amazon", "aws-marketplace", or "microsoft". This - option is required for security reasons. - - - `most_recent` (boolean) - Selects the newest created image when true. - This is most useful for selecting a daily distro build. - - You may set this in place of `source_ami` or in conjunction with it. If you - set this in conjunction with `source_ami`, the `source_ami` will be added - to the filter. The provided `source_ami` must meet all of the filtering - criteria provided in `source_ami_filter`; this pins the AMI returned by the - filter, but will cause Packer to fail if the `source_ami` does not exist. - -- `root_volume_tags` (map[string]string) - Key/value pair tags to apply to the volumes that are *launched*. This is - a [template engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `root_volume_tag` ([]{key string, value string}) - Same as [`root_volume_tags`](#root_volume_tags) but defined as a - singular block containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `ami_architecture` (string) - what architecture to use when registering the final AMI; valid options - are "x86_64" or "arm64". Defaults to "x86_64". - \ No newline at end of file +- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more [block device + mappings](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) + to the AMI. If this field is populated, and you are building from an + existing source image, the block device mappings in the source image + will be overwritten. This means you must have a block device mapping + entry for your root volume, `root_volume_size` and `root_device_name`. + See the [BlockDevices](#block-devices-configuration) documentation for + fields. + +- `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This + configuration parameter requires some additional documentation which is + in the Chroot Mounts section. Please read that section for more + information on how to use this. + +- `command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be + useful to set if you want to set environmental variables or perhaps run + it with sudo or so on. This is a configuration template where the + .Command variable is replaced with the command to be run. Defaults to + `{{.Command}}`. + +- `copy_files` ([]string) - Paths to files on the running EC2 instance that will be copied into the + chroot environment prior to provisioning. Defaults to /etc/resolv.conf + so that DNS lookups work. Pass an empty list to skip copying + /etc/resolv.conf. You may need to do this if you're building an image + that uses systemd. + +- `device_path` (string) - The path to the device where the root volume of the source AMI will be + attached. This defaults to "" (empty string), which forces Packer to + find an open device automatically. + +- `nvme_device_path` (string) - When we call the mount command (by default mount -o device dir), the + string provided in nvme_mount_path will replace device in that command. + When this option is not set, device in that command will be something + like /dev/sdf1, mirroring the attached device name. This assumption + works for most instances but will fail with c5 and m5 instances. In + order to use the chroot builder with c5 and m5 instances, you must + manually set nvme_device_path and device_path. + +- `from_scratch` (bool) - Build a new volume instead of starting from an existing AMI root volume + snapshot. Default false. If true, source_ami/source_ami_filter are no + longer used and the following options become required: + ami_virtualization_type, pre_mount_commands and root_volume_size. + +- `mount_options` ([]string) - Options to supply the mount command when mounting devices. Each option + will be prefixed with -o and supplied to the mount command ran by + Packer. Because this command is ran in a shell, user discretion is + advised. See this manual page for the mount command for valid file + system specific options. + +- `mount_partition` (string) - The partition number containing the / partition. By default this is the + first partition of the volume, (for example, xvda1) but you can + designate the entire block device by setting "mount_partition": "0" in + your config, which will mount xvda instead. + +- `mount_path` (string) - The path where the volume will be mounted. This is where the chroot + environment will be. This defaults to + `/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration + template where the .Device variable is replaced with the name of the + device where the volume is attached. + +- `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the + root device and before the extra mount and copy steps. The device and + mount path are provided by `{{.Device}}` and `{{.MountPath}}`. + +- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and + before mounting the chroot. This is not required unless using + from_scratch. If so, this should include any partitioning and filesystem + creation commands. The path to the device is provided by `{{.Device}}`. + +- `root_device_name` (string) - The root device name. For example, xvda. + +- `root_volume_size` (int64) - The size of the root volume in GB for the chroot environment and the + resulting AMI. Default size is the snapshot size of the source_ami + unless from_scratch is true, in which case this field must be defined. + +- `root_volume_type` (string) - The type of EBS volume for the chroot environment and resulting AMI. The + default value is the type of the source_ami, unless from_scratch is + true, in which case the default value is gp2. You can only specify io1 + if building based on top of a source_ami which is also io1. + +- `source_ami_filter` (awscommon.AmiFilterOptions) - Filters used to populate the source_ami field. Example: + + ```json + { + "source_ami_filter": { + "filters": { + "virtualization-type": "hvm", + "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*", + "root-device-type": "ebs" + }, + "owners": ["099720109477"], + "most_recent": true + } + } + ``` + + This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE: + This will fail unless *exactly* one AMI is returned. In the above example, + `most_recent` will cause this to succeed by selecting the newest image. + + - `filters` (map of strings) - filters used to select a `source_ami`. + NOTE: This will fail unless *exactly* one AMI is returned. Any filter + described in the docs for + [DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html) + is valid. + + - `owners` (array of strings) - Filters the images by their owner. You + may specify one or more AWS account IDs, "self" (which will use the + account whose credentials you are using to run Packer), or an AWS owner + alias: for example, "amazon", "aws-marketplace", or "microsoft". This + option is required for security reasons. + + - `most_recent` (boolean) - Selects the newest created image when true. + This is most useful for selecting a daily distro build. + + You may set this in place of `source_ami` or in conjunction with it. If you + set this in conjunction with `source_ami`, the `source_ami` will be added + to the filter. The provided `source_ami` must meet all of the filtering + criteria provided in `source_ami_filter`; this pins the AMI returned by the + filter, but will cause Packer to fail if the `source_ami` does not exist. + +- `root_volume_tags` (map[string]string) - Key/value pair tags to apply to the volumes that are *launched*. This is + a [template engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `root_volume_tag` ([]{key string, value string}) - Same as [`root_volume_tags`](#root_volume_tags) but defined as a + singular block containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `ami_architecture` (string) - what architecture to use when registering the final AMI; valid options + are "x86_64" or "arm64". Defaults to "x86_64". diff --git a/website/pages/partials/builder/amazon/chroot/Config-required.mdx b/website/pages/partials/builder/amazon/chroot/Config-required.mdx index 68243a7d3..b0827d61f 100644 --- a/website/pages/partials/builder/amazon/chroot/Config-required.mdx +++ b/website/pages/partials/builder/amazon/chroot/Config-required.mdx @@ -1,7 +1,6 @@ -- `source_ami` (string) - The source AMI whose root volume will be copied and provisioned on the - currently running instance. This must be an EBS-backed AMI with a root - volume snapshot that you have access to. Note: this is not used when - from_scratch is set to true. - \ No newline at end of file +- `source_ami` (string) - The source AMI whose root volume will be copied and provisioned on the + currently running instance. This must be an EBS-backed AMI with a root + volume snapshot that you have access to. Note: this is not used when + from_scratch is set to true. diff --git a/website/pages/partials/builder/amazon/chroot/Config.mdx b/website/pages/partials/builder/amazon/chroot/Config.mdx index 3edb22fee..7de2e8261 100644 --- a/website/pages/partials/builder/amazon/chroot/Config.mdx +++ b/website/pages/partials/builder/amazon/chroot/Config.mdx @@ -1,3 +1,4 @@ + Config is the configuration that is chained through the steps and settable from the template. diff --git a/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx b/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx index 2c1ea36cb..4f0ab1e31 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx @@ -1,120 +1,119 @@ -- `ami_description` (string) - The description to set for the resulting - AMI(s). By default this description is empty. This is a - [template engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `ami_virtualization_type` (string) - The type of virtualization for the AMI - you are building. This option is required to register HVM images. Can be - paravirtual (default) or hvm. - -- `ami_users` ([]string) - A list of account IDs that have access to - launch the resulting AMI(s). By default no additional users other than the - user creating the AMI has permissions to launch it. - -- `ami_groups` ([]string) - A list of groups that have access to - launch the resulting AMI(s). By default no groups have permission to launch - the AMI. all will make the AMI publicly accessible. - -- `ami_product_codes` ([]string) - A list of product codes to - associate with the AMI. By default no product codes are associated with the - AMI. - -- `ami_regions` ([]string) - A list of regions to copy the AMI to. - Tags and attributes are copied along with the AMI. AMI copying takes time - depending on the size of the AMI, but will generally take many minutes. - -- `skip_region_validation` (bool) - Set to true if you want to skip - validation of the ami_regions configuration option. Default false. - -- `tags` (map[string]string) - Key/value pair tags applied to the AMI. This is a [template - engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `tag` ([]{key string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block - containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on - HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. - - Note: you must make sure enhanced networking is enabled on your - instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - -- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on - HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. Note: you must make sure enhanced networking is enabled - on your instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - Default `false`. - -- `force_deregister` (bool) - Force Packer to first deregister an existing - AMI if one with the same name already exists. Default false. - -- `force_delete_snapshot` (bool) - Force Packer to delete snapshots - associated with AMIs, which have been deregistered by force_deregister. - Default false. - -- `encrypt_boot` (boolean) - Whether or not to encrypt the resulting AMI when - copying a provisioned instance to an AMI. By default, Packer will keep the - encryption setting to what it was in the source image. Setting false will - result in an unencrypted image, and true will result in an encrypted one. - If you have used the `launch_block_device_mappings` to set an encryption - key and that key is the same as the one you want the image encrypted with - at the end, then you don't need to set this field; leaving it empty will - prevent an unnecessary extra copy step and save you some time. - -- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This - only applies to the main `region`, other regions where the AMI will be - copied will be encrypted by the default EBS KMS key. For valid formats - see *KmsKeyId* in the [AWS API docs - - CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). - This field is validated by Packer, when using an alias, you will have to - prefix `kms_key_id` with `alias/`. - -- `region_kms_key_ids` (map[string]string) - regions to copy the ami to, along with the custom kms key id (alias or - arn) to use for encryption for that region. Keys must match the regions - provided in `ami_regions`. If you just want to encrypt using a default - ID, you can stick with `kms_key_id` and `ami_regions`. If you want a - region to be encrypted with that region's default key ID, you can use an - empty string `""` instead of a key id in this map. (e.g. `"us-east-1": - ""`) However, you cannot use default key IDs if you are using this in - conjunction with `snapshot_users` -- in that situation you must use - custom keys. For valid formats see *KmsKeyId* in the [AWS API docs - - CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). - - This option supercedes the `kms_key_id` option -- if you set both, and - they are different, Packer will respect the value in - `region_kms_key_ids` for your build region and silently disregard the - value provided in `kms_key_id`. - -- `skip_save_build_region` (bool) - If true, Packer will not check whether an AMI with the `ami_name` exists - in the region it is building in. It will use an intermediary AMI name, - which it will not convert to an AMI in the build region. It will copy - the intermediary AMI into any regions provided in `ami_regions`, then - delete the intermediary AMI. Default `false`. - -- `snapshot_tags` (map[string]string) - Key/value pair tags to apply to snapshot. They will override AMI tags if - already applied to snapshot. This is a [template - engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `snapshot_tag` ([]{key string, value string}) - Same as [`snapshot_tags`](#snapshot_tags) but defined as a singular - repeatable block containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `snapshot_users` ([]string) - A list of account IDs that have - access to create volumes from the snapshot(s). By default no additional - users other than the user creating the AMI has permissions to create - volumes from the backing snapshot(s). - -- `snapshot_groups` ([]string) - A list of groups that have access to - create volumes from the snapshot(s). By default no groups have permission - to create volumes from the snapshot(s). all will make the snapshot - publicly accessible. - \ No newline at end of file +- `ami_description` (string) - The description to set for the resulting + AMI(s). By default this description is empty. This is a + [template engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `ami_virtualization_type` (string) - The type of virtualization for the AMI + you are building. This option is required to register HVM images. Can be + paravirtual (default) or hvm. + +- `ami_users` ([]string) - A list of account IDs that have access to + launch the resulting AMI(s). By default no additional users other than the + user creating the AMI has permissions to launch it. + +- `ami_groups` ([]string) - A list of groups that have access to + launch the resulting AMI(s). By default no groups have permission to launch + the AMI. all will make the AMI publicly accessible. + +- `ami_product_codes` ([]string) - A list of product codes to + associate with the AMI. By default no product codes are associated with the + AMI. + +- `ami_regions` ([]string) - A list of regions to copy the AMI to. + Tags and attributes are copied along with the AMI. AMI copying takes time + depending on the size of the AMI, but will generally take many minutes. + +- `skip_region_validation` (bool) - Set to true if you want to skip + validation of the ami_regions configuration option. Default false. + +- `tags` (map[string]string) - Key/value pair tags applied to the AMI. This is a [template + engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `tag` ([]{key string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block + containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on + HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. + + Note: you must make sure enhanced networking is enabled on your + instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + +- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on + HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. Note: you must make sure enhanced networking is enabled + on your instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + Default `false`. + +- `force_deregister` (bool) - Force Packer to first deregister an existing + AMI if one with the same name already exists. Default false. + +- `force_delete_snapshot` (bool) - Force Packer to delete snapshots + associated with AMIs, which have been deregistered by force_deregister. + Default false. + +- `encrypt_boot` (boolean) - Whether or not to encrypt the resulting AMI when + copying a provisioned instance to an AMI. By default, Packer will keep the + encryption setting to what it was in the source image. Setting false will + result in an unencrypted image, and true will result in an encrypted one. + If you have used the `launch_block_device_mappings` to set an encryption + key and that key is the same as the one you want the image encrypted with + at the end, then you don't need to set this field; leaving it empty will + prevent an unnecessary extra copy step and save you some time. + +- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This + only applies to the main `region`, other regions where the AMI will be + copied will be encrypted by the default EBS KMS key. For valid formats + see *KmsKeyId* in the [AWS API docs - + CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). + This field is validated by Packer, when using an alias, you will have to + prefix `kms_key_id` with `alias/`. + +- `region_kms_key_ids` (map[string]string) - regions to copy the ami to, along with the custom kms key id (alias or + arn) to use for encryption for that region. Keys must match the regions + provided in `ami_regions`. If you just want to encrypt using a default + ID, you can stick with `kms_key_id` and `ami_regions`. If you want a + region to be encrypted with that region's default key ID, you can use an + empty string `""` instead of a key id in this map. (e.g. `"us-east-1": + ""`) However, you cannot use default key IDs if you are using this in + conjunction with `snapshot_users` -- in that situation you must use + custom keys. For valid formats see *KmsKeyId* in the [AWS API docs - + CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). + + This option supercedes the `kms_key_id` option -- if you set both, and + they are different, Packer will respect the value in + `region_kms_key_ids` for your build region and silently disregard the + value provided in `kms_key_id`. + +- `skip_save_build_region` (bool) - If true, Packer will not check whether an AMI with the `ami_name` exists + in the region it is building in. It will use an intermediary AMI name, + which it will not convert to an AMI in the build region. It will copy + the intermediary AMI into any regions provided in `ami_regions`, then + delete the intermediary AMI. Default `false`. + +- `snapshot_tags` (map[string]string) - Key/value pair tags to apply to snapshot. They will override AMI tags if + already applied to snapshot. This is a [template + engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `snapshot_tag` ([]{key string, value string}) - Same as [`snapshot_tags`](#snapshot_tags) but defined as a singular + repeatable block containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `snapshot_users` ([]string) - A list of account IDs that have + access to create volumes from the snapshot(s). By default no additional + users other than the user creating the AMI has permissions to create + volumes from the backing snapshot(s). + +- `snapshot_groups` ([]string) - A list of groups that have access to + create volumes from the snapshot(s). By default no groups have permission + to create volumes from the snapshot(s). all will make the snapshot + publicly accessible. diff --git a/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx b/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx index 13ad802ce..3701463b5 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx @@ -1,7 +1,6 @@ -- `ami_name` (string) - The name of the resulting AMI that will appear when managing AMIs in the - AWS console or via APIs. This must be unique. To help make this unique, - use a function like timestamp (see [template - engine](/docs/templates/engine) for more info). - \ No newline at end of file +- `ami_name` (string) - The name of the resulting AMI that will appear when managing AMIs in the + AWS console or via APIs. This must be unique. To help make this unique, + use a function like timestamp (see [template + engine](/docs/templates/engine) for more info). diff --git a/website/pages/partials/builder/amazon/common/AMIConfig.mdx b/website/pages/partials/builder/amazon/common/AMIConfig.mdx index 55af4c4cf..0f65733bb 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig.mdx @@ -1,2 +1,3 @@ + AMIConfig is for common configuration related to creating AMIs. diff --git a/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx b/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx index 519ffb22e..715c71c22 100644 --- a/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx @@ -1,71 +1,71 @@ -- `custom_endpoint_ec2` (string) - This option is useful if you use a cloud - provider whose API is compatible with aws EC2. Specify another endpoint - like this https://ec2.custom.endpoint.com. - -- `decode_authorization_messages` (bool) - Enable automatic decoding of any encoded authorization (error) messages - using the `sts:DecodeAuthorizationMessage` API. Note: requires that the - effective user/role have permissions to `sts:DecodeAuthorizationMessage` - on resource `*`. Default `false`. - -- `insecure_skip_tls_verify` (bool) - This allows skipping TLS - verification of the AWS EC2 endpoint. The default is false. - -- `max_retries` (int) - This is the maximum number of times an API call is retried, in the case - where requests are being throttled or experiencing transient failures. - The delay between the subsequent API calls increases exponentially. - -- `mfa_code` (string) - The MFA - [TOTP](https://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) - code. This should probably be a user variable since it changes all the - time. - -- `profile` (string) - The profile to use in the shared credentials file for - AWS. See Amazon's documentation on [specifying - profiles](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-profiles) - for more details. - -- `skip_region_validation` (bool) - Set to true if you want to skip - validation of the ami_regions configuration option. Default false. - -- `skip_metadata_api_check` (bool) - Skip Metadata Api Check -- `token` (string) - The access token to use. This is different from the - access key and secret key. If you're not sure what this is, then you - probably don't need it. This will also be read from the AWS_SESSION_TOKEN - environmental variable. - -- `vault_aws_engine` (VaultAWSEngineOptions) - Get credentials from Hashicorp Vault's aws secrets engine. You must - already have created a role to use. For more information about - generating credentials via the Vault engine, see the [Vault - docs.](https://www.vaultproject.io/api/secret/aws#generate-credentials) - If you set this flag, you must also set the below options: - - `name` (string) - Required. Specifies the name of the role to generate - credentials against. This is part of the request URL. - - `engine_name` (string) - The name of the aws secrets engine. In the - Vault docs, this is normally referred to as "aws", and Packer will - default to "aws" if `engine_name` is not set. - - `role_arn` (string)- The ARN of the role to assume if credential\_type - on the Vault role is assumed\_role. Must match one of the allowed role - ARNs in the Vault role. Optional if the Vault role only allows a single - AWS role ARN; required otherwise. - - `ttl` (string) - Specifies the TTL for the use of the STS token. This - is specified as a string with a duration suffix. Valid only when - credential\_type is assumed\_role or federation\_token. When not - specified, the default\_sts\_ttl set for the role will be used. If that - is also not set, then the default value of 3600s will be used. AWS - places limits on the maximum TTL allowed. See the AWS documentation on - the DurationSeconds parameter for AssumeRole (for assumed\_role - credential types) and GetFederationToken (for federation\_token - credential types) for more details. - - ```json - { - "vault_aws_engine": { - "name": "myrole", - "role_arn": "myarn", - "ttl": "3600s" - } - } - ``` - \ No newline at end of file +- `custom_endpoint_ec2` (string) - This option is useful if you use a cloud + provider whose API is compatible with aws EC2. Specify another endpoint + like this https://ec2.custom.endpoint.com. + +- `decode_authorization_messages` (bool) - Enable automatic decoding of any encoded authorization (error) messages + using the `sts:DecodeAuthorizationMessage` API. Note: requires that the + effective user/role have permissions to `sts:DecodeAuthorizationMessage` + on resource `*`. Default `false`. + +- `insecure_skip_tls_verify` (bool) - This allows skipping TLS + verification of the AWS EC2 endpoint. The default is false. + +- `max_retries` (int) - This is the maximum number of times an API call is retried, in the case + where requests are being throttled or experiencing transient failures. + The delay between the subsequent API calls increases exponentially. + +- `mfa_code` (string) - The MFA + [TOTP](https://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) + code. This should probably be a user variable since it changes all the + time. + +- `profile` (string) - The profile to use in the shared credentials file for + AWS. See Amazon's documentation on [specifying + profiles](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-profiles) + for more details. + +- `skip_region_validation` (bool) - Set to true if you want to skip + validation of the ami_regions configuration option. Default false. + +- `skip_metadata_api_check` (bool) - Skip Metadata Api Check + +- `token` (string) - The access token to use. This is different from the + access key and secret key. If you're not sure what this is, then you + probably don't need it. This will also be read from the AWS_SESSION_TOKEN + environmental variable. + +- `vault_aws_engine` (VaultAWSEngineOptions) - Get credentials from Hashicorp Vault's aws secrets engine. You must + already have created a role to use. For more information about + generating credentials via the Vault engine, see the [Vault + docs.](https://www.vaultproject.io/api/secret/aws#generate-credentials) + If you set this flag, you must also set the below options: + - `name` (string) - Required. Specifies the name of the role to generate + credentials against. This is part of the request URL. + - `engine_name` (string) - The name of the aws secrets engine. In the + Vault docs, this is normally referred to as "aws", and Packer will + default to "aws" if `engine_name` is not set. + - `role_arn` (string)- The ARN of the role to assume if credential\_type + on the Vault role is assumed\_role. Must match one of the allowed role + ARNs in the Vault role. Optional if the Vault role only allows a single + AWS role ARN; required otherwise. + - `ttl` (string) - Specifies the TTL for the use of the STS token. This + is specified as a string with a duration suffix. Valid only when + credential\_type is assumed\_role or federation\_token. When not + specified, the default\_sts\_ttl set for the role will be used. If that + is also not set, then the default value of 3600s will be used. AWS + places limits on the maximum TTL allowed. See the AWS documentation on + the DurationSeconds parameter for AssumeRole (for assumed\_role + credential types) and GetFederationToken (for federation\_token + credential types) for more details. + + ```json + { + "vault_aws_engine": { + "name": "myrole", + "role_arn": "myarn", + "ttl": "3600s" + } + } + ``` diff --git a/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx b/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx index 1fee823e5..23fb2db77 100644 --- a/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx @@ -1,15 +1,14 @@ -- `access_key` (string) - The access key used to communicate with AWS. [Learn how to set this] - (/docs/builders/amazon#specifying-amazon-credentials). On EBS, this - is not required if you are using `use_vault_aws_engine` for - authentication instead. - -- `region` (string) - The name of the region, such as `us-east-1`, in which - to launch the EC2 instance to create the AMI. - When chroot building, this value is guessed from environment. - -- `secret_key` (string) - The secret key used to communicate with AWS. [Learn how to set - this](/docs/builders/amazon#specifying-amazon-credentials). This is not required - if you are using `use_vault_aws_engine` for authentication instead. - \ No newline at end of file +- `access_key` (string) - The access key used to communicate with AWS. [Learn how to set this] + (/docs/builders/amazon#specifying-amazon-credentials). On EBS, this + is not required if you are using `use_vault_aws_engine` for + authentication instead. + +- `region` (string) - The name of the region, such as `us-east-1`, in which + to launch the EC2 instance to create the AMI. + When chroot building, this value is guessed from environment. + +- `secret_key` (string) - The secret key used to communicate with AWS. [Learn how to set + this](/docs/builders/amazon#specifying-amazon-credentials). This is not required + if you are using `use_vault_aws_engine` for authentication instead. diff --git a/website/pages/partials/builder/amazon/common/AccessConfig.mdx b/website/pages/partials/builder/amazon/common/AccessConfig.mdx index 092224e9c..198f9c266 100644 --- a/website/pages/partials/builder/amazon/common/AccessConfig.mdx +++ b/website/pages/partials/builder/amazon/common/AccessConfig.mdx @@ -1,2 +1,3 @@ + AccessConfig is for common configuration related to AWS access diff --git a/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx b/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx index 4e1187cc9..15064b6bd 100644 --- a/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx @@ -1,3 +1,3 @@ -- `most_recent` (bool) - Most Recent \ No newline at end of file +- `most_recent` (bool) - Most Recent diff --git a/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx index 8438070e0..a81cc9f32 100644 --- a/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx @@ -1,43 +1,42 @@ -- `delete_on_termination` (bool) - Indicates whether the EBS volume is deleted on instance termination. - Default false. NOTE: If this value is not explicitly set to true and - volumes are not cleaned up by an alternative method, additional volumes - will accumulate after every build. - -- `device_name` (string) - The device name exposed to the instance (for example, /dev/sdh or xvdh). - Required for every device in the block device mapping. - -- `encrypted` (boolean) - Indicates whether or not to encrypt the volume. By default, Packer will - keep the encryption setting to what it was in the source image. Setting - false will result in an unencrypted device, and true will result in an - encrypted one. - -- `iops` (int64) - The number of I/O operations per second (IOPS) that the volume supports. - See the documentation on - [IOPs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html) - for more information - -- `no_device` (bool) - Suppresses the specified device included in the block device mapping of - the AMI. - -- `snapshot_id` (string) - The ID of the snapshot. - -- `virtual_name` (string) - The virtual device name. See the documentation on Block Device Mapping - for more information. - -- `volume_type` (string) - The volume type. gp2 for General Purpose (SSD) volumes, io1 for - Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized HDD, sc1 - for Cold HDD, and standard for Magnetic volumes. - -- `volume_size` (int64) - The size of the volume, in GiB. Required if not specifying a - snapshot_id. - -- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This - only applies to the main region, other regions where the AMI will be - copied will be encrypted by the default EBS KMS key. For valid formats - see KmsKeyId in the [AWS API docs - - CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html) - This field is validated by Packer, when using an alias, you will have to - prefix kms_key_id with alias/. - \ No newline at end of file +- `delete_on_termination` (bool) - Indicates whether the EBS volume is deleted on instance termination. + Default false. NOTE: If this value is not explicitly set to true and + volumes are not cleaned up by an alternative method, additional volumes + will accumulate after every build. + +- `device_name` (string) - The device name exposed to the instance (for example, /dev/sdh or xvdh). + Required for every device in the block device mapping. + +- `encrypted` (boolean) - Indicates whether or not to encrypt the volume. By default, Packer will + keep the encryption setting to what it was in the source image. Setting + false will result in an unencrypted device, and true will result in an + encrypted one. + +- `iops` (int64) - The number of I/O operations per second (IOPS) that the volume supports. + See the documentation on + [IOPs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html) + for more information + +- `no_device` (bool) - Suppresses the specified device included in the block device mapping of + the AMI. + +- `snapshot_id` (string) - The ID of the snapshot. + +- `virtual_name` (string) - The virtual device name. See the documentation on Block Device Mapping + for more information. + +- `volume_type` (string) - The volume type. gp2 for General Purpose (SSD) volumes, io1 for + Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized HDD, sc1 + for Cold HDD, and standard for Magnetic volumes. + +- `volume_size` (int64) - The size of the volume, in GiB. Required if not specifying a + snapshot_id. + +- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This + only applies to the main region, other regions where the AMI will be + copied will be encrypted by the default EBS KMS key. For valid formats + see KmsKeyId in the [AWS API docs - + CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html) + This field is validated by Packer, when using an alias, you will have to + prefix kms_key_id with alias/. diff --git a/website/pages/partials/builder/amazon/common/BlockDevice.mdx b/website/pages/partials/builder/amazon/common/BlockDevice.mdx index 024a0df64..89536e6c3 100644 --- a/website/pages/partials/builder/amazon/common/BlockDevice.mdx +++ b/website/pages/partials/builder/amazon/common/BlockDevice.mdx @@ -1,4 +1,5 @@ + These will be attached when booting a new instance from your AMI. Your options here may vary depending on the type of VM you use. diff --git a/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx b/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx index 46a2dd72e..a454eded7 100644 --- a/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx @@ -1,325 +1,324 @@ -- `associate_public_ip_address` (bool) - If using a non-default VPC, - public IP addresses are not provided by default. If this is true, your - new instance will get a Public IP. default: false - -- `availability_zone` (string) - Destination availability zone to launch - instance in. Leave this empty to allow Amazon to auto-assign. - -- `block_duration_minutes` (int64) - Requires spot_price to be set. The - required duration for the Spot Instances (also known as Spot blocks). This - value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). You can't - specify an Availability Zone group or a launch group if you specify a - duration. - -- `disable_stop_instance` (bool) - Packer normally stops the build instance after all provisioners have - run. For Windows instances, it is sometimes desirable to [run - Sysprep](http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-create-standard.html) - which will stop the instance for you. If this is set to `true`, Packer - *will not* stop the instance but will assume that you will send the stop - signal yourself through your final provisioner. You can do this with a - [windows-shell - provisioner](/docs/provisioners/windows-shell). - Note that Packer will still wait for the instance to be stopped, and - failing to send the stop signal yourself, when you have set this flag to - `true`, will cause a timeout. - Example of a valid shutdown command: - - ```json - { - "type": "windows-shell", - "inline": ["\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep"] +- `associate_public_ip_address` (bool) - If using a non-default VPC, + public IP addresses are not provided by default. If this is true, your + new instance will get a Public IP. default: false + +- `availability_zone` (string) - Destination availability zone to launch + instance in. Leave this empty to allow Amazon to auto-assign. + +- `block_duration_minutes` (int64) - Requires spot_price to be set. The + required duration for the Spot Instances (also known as Spot blocks). This + value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). You can't + specify an Availability Zone group or a launch group if you specify a + duration. + +- `disable_stop_instance` (bool) - Packer normally stops the build instance after all provisioners have + run. For Windows instances, it is sometimes desirable to [run + Sysprep](http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-create-standard.html) + which will stop the instance for you. If this is set to `true`, Packer + *will not* stop the instance but will assume that you will send the stop + signal yourself through your final provisioner. You can do this with a + [windows-shell + provisioner](/docs/provisioners/windows-shell). + Note that Packer will still wait for the instance to be stopped, and + failing to send the stop signal yourself, when you have set this flag to + `true`, will cause a timeout. + Example of a valid shutdown command: + + ```json + { + "type": "windows-shell", + "inline": ["\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep"] + } + ``` + +- `ebs_optimized` (bool) - Mark instance as [EBS + Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html). + Default `false`. + +- `enable_t2_unlimited` (bool) - Enabling T2 Unlimited allows the source instance to burst additional CPU + beyond its available [CPU + Credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html) + for as long as the demand exists. This is in contrast to the standard + configuration that only allows an instance to consume up to its + available CPU Credits. See the AWS documentation for [T2 + Unlimited](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-unlimited.html) + and the **T2 Unlimited Pricing** section of the [Amazon EC2 On-Demand + Pricing](https://aws.amazon.com/ec2/pricing/on-demand/) document for + more information. By default this option is disabled and Packer will set + up a [T2 + Standard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-std.html) + instance instead. + + To use T2 Unlimited you must use a T2 instance type, e.g. `t2.micro`. + Additionally, T2 Unlimited cannot be used in conjunction with Spot + Instances, e.g. when the `spot_price` option has been configured. + Attempting to do so will cause an error. + + !> **Warning!** Additional costs may be incurred by enabling T2 + Unlimited - even for instances that would usually qualify for the + [AWS Free Tier](https://aws.amazon.com/free/). + +- `iam_instance_profile` (string) - The name of an [IAM instance + profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html) + to launch the EC2 instance with. + +- `skip_profile_validation` (bool) - Whether or not to check if the IAM instance profile exists. Defaults to false + +- `temporary_iam_instance_profile_policy_document` (\*PolicyDocument) - Temporary IAM instance profile policy document + If IamInstanceProfile is specified it will be used instead. Example: + + ```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "logs:*" + ], + "Effect": "Allow", + "Resource": "*" + } + ] + } + ``` + +- `shutdown_behavior` (string) - Automatically terminate instances on + shutdown in case Packer exits ungracefully. Possible values are stop and + terminate. Defaults to stop. + +- `security_group_filter` (SecurityGroupFilterOptions) - Filters used to populate the `security_group_ids` field. Example: + + ```json + { + "security_group_filter": { + "filters": { + "tag:Class": "packer" + } } - ``` - -- `ebs_optimized` (bool) - Mark instance as [EBS - Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html). - Default `false`. - -- `enable_t2_unlimited` (bool) - Enabling T2 Unlimited allows the source instance to burst additional CPU - beyond its available [CPU - Credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html) - for as long as the demand exists. This is in contrast to the standard - configuration that only allows an instance to consume up to its - available CPU Credits. See the AWS documentation for [T2 - Unlimited](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-unlimited.html) - and the **T2 Unlimited Pricing** section of the [Amazon EC2 On-Demand - Pricing](https://aws.amazon.com/ec2/pricing/on-demand/) document for - more information. By default this option is disabled and Packer will set - up a [T2 - Standard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-std.html) - instance instead. - - To use T2 Unlimited you must use a T2 instance type, e.g. `t2.micro`. - Additionally, T2 Unlimited cannot be used in conjunction with Spot - Instances, e.g. when the `spot_price` option has been configured. - Attempting to do so will cause an error. - - !> **Warning!** Additional costs may be incurred by enabling T2 - Unlimited - even for instances that would usually qualify for the - [AWS Free Tier](https://aws.amazon.com/free/). - -- `iam_instance_profile` (string) - The name of an [IAM instance - profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html) - to launch the EC2 instance with. - -- `skip_profile_validation` (bool) - Whether or not to check if the IAM instance profile exists. Defaults to false - -- `temporary_iam_instance_profile_policy_document` (\*PolicyDocument) - Temporary IAM instance profile policy document - If IamInstanceProfile is specified it will be used instead. Example: - + } + ``` + + This selects the SG's with tag `Class` with the value `packer`. + + - `filters` (map of strings) - filters used to select a + `security_group_ids`. Any filter described in the docs for + [DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html) + is valid. + + `security_group_ids` take precedence over this. + +- `run_tags` (map[string]string) - Key/value pair tags to apply to the instance that is that is *launched* + to create the EBS volumes. This is a [template + engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `run_tag` ([]{key string, value string}) - Same as [`run_tags`](#run_tags) but defined as a singular repeatable + block containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `security_group_id` (string) - The ID (not the name) of the security + group to assign to the instance. By default this is not set and Packer will + automatically create a new temporary security group to allow SSH access. + Note that if this is specified, you must be sure the security group allows + access to the ssh_port given below. + +- `security_group_ids` ([]string) - A list of security groups as + described above. Note that if this is specified, you must omit the + security_group_id. + +- `source_ami_filter` (AmiFilterOptions) - Filters used to populate the `source_ami` + field. Example: + ```json { - "Version": "2012-10-17", - "Statement": [ - { - "Action": [ - "logs:*" - ], - "Effect": "Allow", - "Resource": "*" - } - ] - } - ``` - -- `shutdown_behavior` (string) - Automatically terminate instances on - shutdown in case Packer exits ungracefully. Possible values are stop and - terminate. Defaults to stop. - -- `security_group_filter` (SecurityGroupFilterOptions) - Filters used to populate the `security_group_ids` field. Example: - - ```json - { - "security_group_filter": { + "source_ami_filter": { "filters": { - "tag:Class": "packer" - } + "virtualization-type": "hvm", + "name": "ubuntu/images/\*ubuntu-xenial-16.04-amd64-server-\*", + "root-device-type": "ebs" + }, + "owners": ["099720109477"], + "most_recent": true } } ``` - - This selects the SG's with tag `Class` with the value `packer`. - - - `filters` (map of strings) - filters used to select a - `security_group_ids`. Any filter described in the docs for - [DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html) - is valid. - - `security_group_ids` take precedence over this. - -- `run_tags` (map[string]string) - Key/value pair tags to apply to the instance that is that is *launched* - to create the EBS volumes. This is a [template - engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `run_tag` ([]{key string, value string}) - Same as [`run_tags`](#run_tags) but defined as a singular repeatable - block containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `security_group_id` (string) - The ID (not the name) of the security - group to assign to the instance. By default this is not set and Packer will - automatically create a new temporary security group to allow SSH access. - Note that if this is specified, you must be sure the security group allows - access to the ssh_port given below. - -- `security_group_ids` ([]string) - A list of security groups as - described above. Note that if this is specified, you must omit the - security_group_id. - -- `source_ami_filter` (AmiFilterOptions) - Filters used to populate the `source_ami` - field. Example: - - ```json - { - "source_ami_filter": { - "filters": { - "virtualization-type": "hvm", - "name": "ubuntu/images/\*ubuntu-xenial-16.04-amd64-server-\*", - "root-device-type": "ebs" - }, - "owners": ["099720109477"], - "most_recent": true - } - } - ``` - - This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE: - This will fail unless *exactly* one AMI is returned. In the above example, - `most_recent` will cause this to succeed by selecting the newest image. - - - `filters` (map of strings) - filters used to select a `source_ami`. - NOTE: This will fail unless *exactly* one AMI is returned. Any filter - described in the docs for - [DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html) - is valid. - - - `owners` (array of strings) - Filters the images by their owner. You - may specify one or more AWS account IDs, "self" (which will use the - account whose credentials you are using to run Packer), or an AWS owner - alias: for example, `amazon`, `aws-marketplace`, or `microsoft`. This - option is required for security reasons. - - - `most_recent` (boolean) - Selects the newest created image when true. - This is most useful for selecting a daily distro build. - - You may set this in place of `source_ami` or in conjunction with it. If you - set this in conjunction with `source_ami`, the `source_ami` will be added - to the filter. The provided `source_ami` must meet all of the filtering - criteria provided in `source_ami_filter`; this pins the AMI returned by the - filter, but will cause Packer to fail if the `source_ami` does not exist. - -- `spot_instance_types` ([]string) - a list of acceptable instance - types to run your build on. We will request a spot instance using the max - price of spot_price and the allocation strategy of "lowest price". - Your instance will be launched on an instance type of the lowest available - price that you have in your list. This is used in place of instance_type. - You may only set either spot_instance_types or instance_type, not both. - This feature exists to help prevent situations where a Packer build fails - because a particular availability zone does not have capacity for the - specific instance_type requested in instance_type. - -- `spot_price` (string) - With Spot Instances, you pay the Spot price that's in effect for the - time period your instances are running. Spot Instance prices are set by - Amazon EC2 and adjust gradually based on long-term trends in supply and - demand for Spot Instance capacity. - - When this field is set, it represents the maximum hourly price you are - willing to pay for a spot instance. If you do not set this value, it - defaults to a maximum price equal to the on demand price of the - instance. In the situation where the current Amazon-set spot price - exceeds the value set in this field, Packer will not launch an instance - and the build will error. In the situation where the Amazon-set spot - price is less than the value set in this field, Packer will launch and - you will pay the Amazon-set spot price, not this maximum value. - For more information, see the Amazon docs on - [spot pricing](https://aws.amazon.com/ec2/spot/pricing/). - -- `spot_tags` (map[string]string) - Requires spot_price to be set. Key/value pair tags to apply tags to the - spot request that is issued. - -- `spot_tag` ([]{key string, value string}) - Same as [`spot_tags`](#spot_tags) but defined as a singular repeatable block - containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `subnet_filter` (SubnetFilterOptions) - Filters used to populate the `subnet_id` field. - Example: - - ```json - { - "subnet_filter": { - "filters": { - "tag:Class": "build" - }, - "most_free": true, - "random": false - } - } - ``` - - This selects the Subnet with tag `Class` with the value `build`, which has - the most free IP addresses. NOTE: This will fail unless *exactly* one - Subnet is returned. By using `most_free` or `random` one will be selected - from those matching the filter. - - - `filters` (map of strings) - filters used to select a `subnet_id`. - NOTE: This will fail unless *exactly* one Subnet is returned. Any - filter described in the docs for - [DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html) - is valid. - - - `most_free` (boolean) - The Subnet with the most free IPv4 addresses - will be used if multiple Subnets matches the filter. - - - `random` (boolean) - A random Subnet will be used if multiple Subnets - matches the filter. `most_free` have precendence over this. - - `subnet_id` take precedence over this. - -- `subnet_id` (string) - If using VPC, the ID of the subnet, such as - subnet-12345def, where Packer will launch the EC2 instance. This field is - required if you are using an non-default VPC. - -- `temporary_key_pair_name` (string) - The name of the temporary key pair to - generate. By default, Packer generates a name that looks like - `packer_`, where <UUID> is a 36 character unique identifier. - -- `temporary_security_group_source_cidrs` ([]string) - A list of IPv4 CIDR blocks to be authorized access to the instance, when - packer is creating a temporary security group. - - The default is [`0.0.0.0/0`] (i.e., allow any IPv4 source). This is only - used when `security_group_id` or `security_group_ids` is not specified. - -- `user_data` (string) - User data to apply when launching the instance. Note - that you need to be careful about escaping characters due to the templates - being JSON. It is often more convenient to use user_data_file, instead. - Packer will not automatically wait for a user script to finish before - shutting down the instance this must be handled in a provisioner. - -- `user_data_file` (string) - Path to a file that will be used for the user - data when launching the instance. - -- `vpc_filter` (VpcFilterOptions) - Filters used to populate the `vpc_id` field. - Example: - - ```json - { - "vpc_filter": { - "filters": { - "tag:Class": "build", - "isDefault": "false", - "cidr": "/24" - } - } - } - ``` - - This selects the VPC with tag `Class` with the value `build`, which is not - the default VPC, and have a IPv4 CIDR block of `/24`. NOTE: This will fail - unless *exactly* one VPC is returned. - - - `filters` (map of strings) - filters used to select a `vpc_id`. NOTE: - This will fail unless *exactly* one VPC is returned. Any filter + + This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE: + This will fail unless *exactly* one AMI is returned. In the above example, + `most_recent` will cause this to succeed by selecting the newest image. + + - `filters` (map of strings) - filters used to select a `source_ami`. + NOTE: This will fail unless *exactly* one AMI is returned. Any filter described in the docs for - [DescribeVpcs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html) + [DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html) is valid. - - `vpc_id` take precedence over this. - -- `vpc_id` (string) - If launching into a VPC subnet, Packer needs the VPC ID - in order to create a temporary security group within the VPC. Requires - subnet_id to be set. If this field is left blank, Packer will try to get - the VPC ID from the subnet_id. - -- `windows_password_timeout` (duration string | ex: "1h5m2s") - The timeout for waiting for a Windows - password for Windows instances. Defaults to 20 minutes. Example value: - 10m - -- `ssh_interface` (string) - One of `public_ip`, `private_ip`, `public_dns`, `private_dns` or `session_manager`. - If set, either the public IP address, private IP address, public DNS name - or private DNS name will be used as the host for SSH. The default behaviour - if inside a VPC is to use the public IP address if available, otherwise - the private IP address will be used. If not in a VPC the public DNS name - will be used. Also works for WinRM. - - Where Packer is configured for an outbound proxy but WinRM traffic - should be direct, `ssh_interface` must be set to `private_dns` and - `.compute.internal` included in the `NO_PROXY` environment - variable. - - When using `session_manager` the machine running Packer must have - the AWS Session Manager Plugin installed and within the users' system path. - Connectivity via the `session_manager` interface establishes a secure tunnel - between the local host and the remote host on an available local port to the specified `ssh_port`. - See [Session Manager Connections](#session-manager-connections) for more information. - - Session manager connectivity is currently only implemented for the SSH communicator, not the WinRM communicator. - - Upon termination the secure tunnel will be terminated automatically, if however there is a failure in - terminating the tunnel it will automatically terminate itself after 20 minutes of inactivity. - -- `session_manager_port` (int) - Which port to connect the local end of the session tunnel to. If - left blank, Packer will choose a port for you from available ports. - This option is only used when `ssh_interface` is set `session_manager`. - \ No newline at end of file + + - `owners` (array of strings) - Filters the images by their owner. You + may specify one or more AWS account IDs, "self" (which will use the + account whose credentials you are using to run Packer), or an AWS owner + alias: for example, `amazon`, `aws-marketplace`, or `microsoft`. This + option is required for security reasons. + + - `most_recent` (boolean) - Selects the newest created image when true. + This is most useful for selecting a daily distro build. + + You may set this in place of `source_ami` or in conjunction with it. If you + set this in conjunction with `source_ami`, the `source_ami` will be added + to the filter. The provided `source_ami` must meet all of the filtering + criteria provided in `source_ami_filter`; this pins the AMI returned by the + filter, but will cause Packer to fail if the `source_ami` does not exist. + +- `spot_instance_types` ([]string) - a list of acceptable instance + types to run your build on. We will request a spot instance using the max + price of spot_price and the allocation strategy of "lowest price". + Your instance will be launched on an instance type of the lowest available + price that you have in your list. This is used in place of instance_type. + You may only set either spot_instance_types or instance_type, not both. + This feature exists to help prevent situations where a Packer build fails + because a particular availability zone does not have capacity for the + specific instance_type requested in instance_type. + +- `spot_price` (string) - With Spot Instances, you pay the Spot price that's in effect for the + time period your instances are running. Spot Instance prices are set by + Amazon EC2 and adjust gradually based on long-term trends in supply and + demand for Spot Instance capacity. + + When this field is set, it represents the maximum hourly price you are + willing to pay for a spot instance. If you do not set this value, it + defaults to a maximum price equal to the on demand price of the + instance. In the situation where the current Amazon-set spot price + exceeds the value set in this field, Packer will not launch an instance + and the build will error. In the situation where the Amazon-set spot + price is less than the value set in this field, Packer will launch and + you will pay the Amazon-set spot price, not this maximum value. + For more information, see the Amazon docs on + [spot pricing](https://aws.amazon.com/ec2/spot/pricing/). + +- `spot_tags` (map[string]string) - Requires spot_price to be set. Key/value pair tags to apply tags to the + spot request that is issued. + +- `spot_tag` ([]{key string, value string}) - Same as [`spot_tags`](#spot_tags) but defined as a singular repeatable block + containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `subnet_filter` (SubnetFilterOptions) - Filters used to populate the `subnet_id` field. + Example: + + ```json + { + "subnet_filter": { + "filters": { + "tag:Class": "build" + }, + "most_free": true, + "random": false + } + } + ``` + + This selects the Subnet with tag `Class` with the value `build`, which has + the most free IP addresses. NOTE: This will fail unless *exactly* one + Subnet is returned. By using `most_free` or `random` one will be selected + from those matching the filter. + + - `filters` (map of strings) - filters used to select a `subnet_id`. + NOTE: This will fail unless *exactly* one Subnet is returned. Any + filter described in the docs for + [DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html) + is valid. + + - `most_free` (boolean) - The Subnet with the most free IPv4 addresses + will be used if multiple Subnets matches the filter. + + - `random` (boolean) - A random Subnet will be used if multiple Subnets + matches the filter. `most_free` have precendence over this. + + `subnet_id` take precedence over this. + +- `subnet_id` (string) - If using VPC, the ID of the subnet, such as + subnet-12345def, where Packer will launch the EC2 instance. This field is + required if you are using an non-default VPC. + +- `temporary_key_pair_name` (string) - The name of the temporary key pair to + generate. By default, Packer generates a name that looks like + `packer_`, where <UUID> is a 36 character unique identifier. + +- `temporary_security_group_source_cidrs` ([]string) - A list of IPv4 CIDR blocks to be authorized access to the instance, when + packer is creating a temporary security group. + + The default is [`0.0.0.0/0`] (i.e., allow any IPv4 source). This is only + used when `security_group_id` or `security_group_ids` is not specified. + +- `user_data` (string) - User data to apply when launching the instance. Note + that you need to be careful about escaping characters due to the templates + being JSON. It is often more convenient to use user_data_file, instead. + Packer will not automatically wait for a user script to finish before + shutting down the instance this must be handled in a provisioner. + +- `user_data_file` (string) - Path to a file that will be used for the user + data when launching the instance. + +- `vpc_filter` (VpcFilterOptions) - Filters used to populate the `vpc_id` field. + Example: + + ```json + { + "vpc_filter": { + "filters": { + "tag:Class": "build", + "isDefault": "false", + "cidr": "/24" + } + } + } + ``` + + This selects the VPC with tag `Class` with the value `build`, which is not + the default VPC, and have a IPv4 CIDR block of `/24`. NOTE: This will fail + unless *exactly* one VPC is returned. + + - `filters` (map of strings) - filters used to select a `vpc_id`. NOTE: + This will fail unless *exactly* one VPC is returned. Any filter + described in the docs for + [DescribeVpcs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html) + is valid. + + `vpc_id` take precedence over this. + +- `vpc_id` (string) - If launching into a VPC subnet, Packer needs the VPC ID + in order to create a temporary security group within the VPC. Requires + subnet_id to be set. If this field is left blank, Packer will try to get + the VPC ID from the subnet_id. + +- `windows_password_timeout` (duration string | ex: "1h5m2s") - The timeout for waiting for a Windows + password for Windows instances. Defaults to 20 minutes. Example value: + 10m + +- `ssh_interface` (string) - One of `public_ip`, `private_ip`, `public_dns`, `private_dns` or `session_manager`. + If set, either the public IP address, private IP address, public DNS name + or private DNS name will be used as the host for SSH. The default behaviour + if inside a VPC is to use the public IP address if available, otherwise + the private IP address will be used. If not in a VPC the public DNS name + will be used. Also works for WinRM. + + Where Packer is configured for an outbound proxy but WinRM traffic + should be direct, `ssh_interface` must be set to `private_dns` and + `.compute.internal` included in the `NO_PROXY` environment + variable. + + When using `session_manager` the machine running Packer must have + the AWS Session Manager Plugin installed and within the users' system path. + Connectivity via the `session_manager` interface establishes a secure tunnel + between the local host and the remote host on an available local port to the specified `ssh_port`. + See [Session Manager Connections](#session-manager-connections) for more information. + - Session manager connectivity is currently only implemented for the SSH communicator, not the WinRM communicator. + - Upon termination the secure tunnel will be terminated automatically, if however there is a failure in + terminating the tunnel it will automatically terminate itself after 20 minutes of inactivity. + +- `session_manager_port` (int) - Which port to connect the local end of the session tunnel to. If + left blank, Packer will choose a port for you from available ports. + This option is only used when `ssh_interface` is set `session_manager`. diff --git a/website/pages/partials/builder/amazon/common/RunConfig-required.mdx b/website/pages/partials/builder/amazon/common/RunConfig-required.mdx index af4443aeb..a45dcb335 100644 --- a/website/pages/partials/builder/amazon/common/RunConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/RunConfig-required.mdx @@ -1,10 +1,9 @@ -- `instance_type` (string) - The EC2 instance type to use while building the - AMI, such as t2.small. - -- `source_ami` (string) - The source AMI whose root volume will be copied and - provisioned on the currently running instance. This must be an EBS-backed - AMI with a root volume snapshot that you have access to. Note: this is not - used when from_scratch is set to true. - \ No newline at end of file +- `instance_type` (string) - The EC2 instance type to use while building the + AMI, such as t2.small. + +- `source_ami` (string) - The source AMI whose root volume will be copied and + provisioned on the currently running instance. This must be an EBS-backed + AMI with a root volume snapshot that you have access to. Note: this is not + used when from_scratch is set to true. diff --git a/website/pages/partials/builder/amazon/common/RunConfig.mdx b/website/pages/partials/builder/amazon/common/RunConfig.mdx index c67a8fb25..ee0844c3d 100644 --- a/website/pages/partials/builder/amazon/common/RunConfig.mdx +++ b/website/pages/partials/builder/amazon/common/RunConfig.mdx @@ -1,3 +1,4 @@ + RunConfig contains configuration for running an instance from a source AMI and details on how to access that launched image. diff --git a/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx b/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx index e40a7730d..633e31144 100644 --- a/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx @@ -1,4 +1,5 @@ -- `most_free` (bool) - Most Free -- `random` (bool) - Random \ No newline at end of file +- `most_free` (bool) - Most Free + +- `random` (bool) - Random diff --git a/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx b/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx index c329c73ac..50d4fab5f 100644 --- a/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx @@ -1,15 +1,17 @@ -- `name` (string) - Name -- `role_arn` (string) - Role ARN -- `ttl` (string) - Specifies the TTL for the use of the STS token. This - is specified as a string with a duration suffix. Valid only when - credential_type is assumed_role or federation_token. When not - specified, the default_sts_ttl set for the role will be used. If that - is also not set, then the default value of 3600s will be used. AWS - places limits on the maximum TTL allowed. See the AWS documentation on - the DurationSeconds parameter for AssumeRole (for assumed_role - credential types) and GetFederationToken (for federation_token - credential types) for more details. - -- `engine_name` (string) - Engine Name \ No newline at end of file +- `name` (string) - Name + +- `role_arn` (string) - Role ARN + +- `ttl` (string) - Specifies the TTL for the use of the STS token. This + is specified as a string with a duration suffix. Valid only when + credential_type is assumed_role or federation_token. When not + specified, the default_sts_ttl set for the role will be used. If that + is also not set, then the default value of 3600s will be used. AWS + places limits on the maximum TTL allowed. See the AWS documentation on + the DurationSeconds parameter for AssumeRole (for assumed_role + credential types) and GetFederationToken (for federation_token + credential types) for more details. + +- `engine_name` (string) - Engine Name diff --git a/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx b/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx index 4a6b23506..2a152c906 100644 --- a/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx @@ -1,39 +1,38 @@ -- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached - when booting a new instance from your AMI. To add a block device during - the Packer build see `launch_block_device_mappings` below. Your options - here may vary depending on the type of VM you use. See the - [BlockDevices](#block-devices-configuration) documentation for fields. - -- `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add - instance store volumes or EBS volumes in addition to the root device - volume, the created AMI will contain block device mapping information - for those volumes. Amazon creates snapshots of the source instance's - root volume and any other EBS volumes described here. When you launch an - instance from this new AMI, the instance automatically launches with - these additional volumes, and will restore them from snapshots taken - from the source instance. See the - [BlockDevices](#block-devices-configuration) documentation for fields. - -- `run_volume_tags` (map[string]string) - Tags to apply to the volumes that are *launched* to create the AMI. - These tags are *not* applied to the resulting AMI unless they're - duplicated in `tags`. This is a [template - engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `run_volume_tag` ([]{name string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular - block containing a `name` and a `value` field. In HCL2 mode the - [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) - will allow you to create those programatically. - -- `no_ephemeral` (bool) - Relevant only to Windows guests: If you set this flag, we'll add clauses - to the launch_block_device_mappings that make sure ephemeral drives - don't show up in the EC2 console. If you launched from the EC2 console, - you'd get this automatically, but the SDK does not provide this service. - For more information, see - https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/InstanceStorage.html. - Because we don't validate the OS type of your guest, it is up to you to - make sure you don't set this for *nix guests; behavior may be - unpredictable. - \ No newline at end of file +- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached + when booting a new instance from your AMI. To add a block device during + the Packer build see `launch_block_device_mappings` below. Your options + here may vary depending on the type of VM you use. See the + [BlockDevices](#block-devices-configuration) documentation for fields. + +- `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add + instance store volumes or EBS volumes in addition to the root device + volume, the created AMI will contain block device mapping information + for those volumes. Amazon creates snapshots of the source instance's + root volume and any other EBS volumes described here. When you launch an + instance from this new AMI, the instance automatically launches with + these additional volumes, and will restore them from snapshots taken + from the source instance. See the + [BlockDevices](#block-devices-configuration) documentation for fields. + +- `run_volume_tags` (map[string]string) - Tags to apply to the volumes that are *launched* to create the AMI. + These tags are *not* applied to the resulting AMI unless they're + duplicated in `tags`. This is a [template + engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `run_volume_tag` ([]{name string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular + block containing a `name` and a `value` field. In HCL2 mode the + [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + will allow you to create those programatically. + +- `no_ephemeral` (bool) - Relevant only to Windows guests: If you set this flag, we'll add clauses + to the launch_block_device_mappings that make sure ephemeral drives + don't show up in the EC2 console. If you launched from the EC2 console, + you'd get this automatically, but the SDK does not provide this service. + For more information, see + https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/InstanceStorage.html. + Because we don't validate the OS type of your guest, it is up to you to + make sure you don't set this for *nix guests; behavior may be + unpredictable. diff --git a/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx index 789ac0d6c..b4ea7da55 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx @@ -1,8 +1,7 @@ -- `omit_from_artifact` (bool) - If true, this block device will not be snapshotted and the created AMI - will not contain block device mapping information for this volume. If - false, the block device will be mapped into the final created AMI. Set - this option to true if you need a block device mounted in the surrogate - AMI but not in the final created AMI. - \ No newline at end of file +- `omit_from_artifact` (bool) - If true, this block device will not be snapshotted and the created AMI + will not contain block device mapping information for this volume. If + false, the block device will be mapped into the final created AMI. Set + this option to true if you need a block device mounted in the surrogate + AMI but not in the final created AMI. diff --git a/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx index 499b82ee7..71951af3d 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx @@ -1,32 +1,31 @@ -- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached - when booting a new instance from your AMI. To add a block device during - the Packer build see `launch_block_device_mappings` below. Your options - here may vary depending on the type of VM you use. See the - [BlockDevices](#block-devices-configuration) documentation for fields. - -- `launch_block_device_mappings` (BlockDevices) - Add one or more block devices before the Packer build starts. If you add - instance store volumes or EBS volumes in addition to the root device - volume, the created AMI will contain block device mapping information - for those volumes. Amazon creates snapshots of the source instance's - root volume and any other EBS volumes described here. When you launch an - instance from this new AMI, the instance automatically launches with - these additional volumes, and will restore them from snapshots taken - from the source instance. See the - [BlockDevices](#block-devices-configuration) documentation for fields. - -- `run_volume_tags` (map[string]string) - Tags to apply to the volumes that are *launched* to create the AMI. - These tags are *not* applied to the resulting AMI unless they're - duplicated in `tags`. This is a [template - engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `run_volume_tag` ([]{name string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular - block containing a `name` and a `value` field. In HCL2 mode the - [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) - will allow you to create those programatically. - -- `ami_architecture` (string) - what architecture to use when registering the - final AMI; valid options are "x86_64" or "arm64". Defaults to "x86_64". - \ No newline at end of file +- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached + when booting a new instance from your AMI. To add a block device during + the Packer build see `launch_block_device_mappings` below. Your options + here may vary depending on the type of VM you use. See the + [BlockDevices](#block-devices-configuration) documentation for fields. + +- `launch_block_device_mappings` (BlockDevices) - Add one or more block devices before the Packer build starts. If you add + instance store volumes or EBS volumes in addition to the root device + volume, the created AMI will contain block device mapping information + for those volumes. Amazon creates snapshots of the source instance's + root volume and any other EBS volumes described here. When you launch an + instance from this new AMI, the instance automatically launches with + these additional volumes, and will restore them from snapshots taken + from the source instance. See the + [BlockDevices](#block-devices-configuration) documentation for fields. + +- `run_volume_tags` (map[string]string) - Tags to apply to the volumes that are *launched* to create the AMI. + These tags are *not* applied to the resulting AMI unless they're + duplicated in `tags`. This is a [template + engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `run_volume_tag` ([]{name string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular + block containing a `name` and a `value` field. In HCL2 mode the + [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + will allow you to create those programatically. + +- `ami_architecture` (string) - what architecture to use when registering the + final AMI; valid options are "x86_64" or "arm64". Defaults to "x86_64". diff --git a/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx index 371cfbd33..e5994df14 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx @@ -1,10 +1,9 @@ -- `ami_root_device` (RootBlockDevice) - A block device mapping describing the root device of the AMI. This looks - like the mappings in `ami_block_device_mapping`, except with an - additional field: - - - `source_device_name` (string) - The device name of the block device on - the source instance to be used as the root device for the AMI. This - must correspond to a block device in `launch_block_device_mapping`. - \ No newline at end of file +- `ami_root_device` (RootBlockDevice) - A block device mapping describing the root device of the AMI. This looks + like the mappings in `ami_block_device_mapping`, except with an + additional field: + + - `source_device_name` (string) - The device name of the block device on + the source instance to be used as the root device for the AMI. This + must correspond to a block device in `launch_block_device_mapping`. diff --git a/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx index 17b0d8c3f..07bf243ec 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx @@ -1,26 +1,26 @@ -- `source_device_name` (string) - Source Device Name -- `device_name` (string) - The device name exposed to the instance (for - example, /dev/sdh or xvdh). Required for every device in the block - device mapping. - -- `delete_on_termination` (bool) - Indicates whether the EBS volume is - deleted on instance termination. Default false. NOTE: If this - value is not explicitly set to true and volumes are not cleaned up by - an alternative method, additional volumes will accumulate after every - build. - -- `iops` (int64) - The number of I/O operations per second (IOPS) that - the volume supports. See the documentation on - IOPs - for more information - -- `volume_type` (string) - The volume type. gp2 for General Purpose - (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for - Throughput Optimized HDD, sc1 for Cold HDD, and standard for - Magnetic volumes. - -- `volume_size` (int64) - The size of the volume, in GiB. Required if - not specifying a snapshot_id. - \ No newline at end of file +- `source_device_name` (string) - Source Device Name + +- `device_name` (string) - The device name exposed to the instance (for + example, /dev/sdh or xvdh). Required for every device in the block + device mapping. + +- `delete_on_termination` (bool) - Indicates whether the EBS volume is + deleted on instance termination. Default false. NOTE: If this + value is not explicitly set to true and volumes are not cleaned up by + an alternative method, additional volumes will accumulate after every + build. + +- `iops` (int64) - The number of I/O operations per second (IOPS) that + the volume supports. See the documentation on + IOPs + for more information + +- `volume_type` (string) - The volume type. gp2 for General Purpose + (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for + Throughput Optimized HDD, sc1 for Cold HDD, and standard for + Magnetic volumes. + +- `volume_size` (int64) - The size of the volume, in GiB. Required if + not specifying a snapshot_id. diff --git a/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx index 3899a8c18..f34134d5b 100644 --- a/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx @@ -1,11 +1,10 @@ -- `tags` (map[string]string) - Key/value pair tags to apply to the volume. These are retained after the builder - completes. This is a [template engine](/docs/templates/engine), see - [Build template data](#build-template-data) for more information. - -- `tag` ([]{key string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block - containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - \ No newline at end of file +- `tags` (map[string]string) - Key/value pair tags to apply to the volume. These are retained after the builder + completes. This is a [template engine](/docs/templates/engine), see + [Build template data](#build-template-data) for more information. + +- `tag` ([]{key string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block + containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. diff --git a/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx b/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx index 59bcb99cf..ef4f375a7 100644 --- a/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx @@ -1,44 +1,43 @@ -- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on - HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. Note: you must make sure enhanced networking is enabled - on your instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - -- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on - HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. Note: you must make sure enhanced networking is enabled - on your instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - Default `false`. - -- `ebs_volumes` (BlockDevices) - Add the block device mappings to the AMI. If you add instance store - volumes or EBS volumes in addition to the root device volume, the - created AMI will contain block device mapping information for those - volumes. Amazon creates snapshots of the source instance's root volume - and any other EBS volumes described here. When you launch an instance - from this new AMI, the instance automatically launches with these - additional volumes, and will restore them from snapshots taken from the - source instance. See the [BlockDevices](#block-devices-configuration) - documentation for fields. - -- `run_volume_tags` (map[string]string) - Key/value pair tags to apply to the volumes of the instance that is - *launched* to create EBS Volumes. These tags will *not* appear in the - tags of the resulting EBS volumes unless they're duplicated under `tags` - in the `ebs_volumes` setting. This is a [template - engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - - Note: The tags specified here will be *temporarily* applied to volumes - specified in `ebs_volumes` - but only while the instance is being - created. Packer will replace all tags on the volume with the tags - configured in the `ebs_volumes` section as soon as the instance is - reported as 'ready'. - -- `run_volume_tag` ([]{key string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular - repeatable block containing a `key` and a `value` field. In HCL2 mode - the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - \ No newline at end of file +- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on + HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. Note: you must make sure enhanced networking is enabled + on your instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + +- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on + HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. Note: you must make sure enhanced networking is enabled + on your instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + Default `false`. + +- `ebs_volumes` (BlockDevices) - Add the block device mappings to the AMI. If you add instance store + volumes or EBS volumes in addition to the root device volume, the + created AMI will contain block device mapping information for those + volumes. Amazon creates snapshots of the source instance's root volume + and any other EBS volumes described here. When you launch an instance + from this new AMI, the instance automatically launches with these + additional volumes, and will restore them from snapshots taken from the + source instance. See the [BlockDevices](#block-devices-configuration) + documentation for fields. + +- `run_volume_tags` (map[string]string) - Key/value pair tags to apply to the volumes of the instance that is + *launched* to create EBS Volumes. These tags will *not* appear in the + tags of the resulting EBS volumes unless they're duplicated under `tags` + in the `ebs_volumes` setting. This is a [template + engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + + Note: The tags specified here will be *temporarily* applied to volumes + specified in `ebs_volumes` - but only while the instance is being + created. Packer will replace all tags on the volume with the tags + configured in the `ebs_volumes` section as soon as the instance is + reported as 'ready'. + +- `run_volume_tag` ([]{key string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular + repeatable block containing a `key` and a `value` field. In HCL2 mode + the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. diff --git a/website/pages/partials/builder/amazon/instance/Config-not-required.mdx b/website/pages/partials/builder/amazon/instance/Config-not-required.mdx index 57126142b..1cc446aea 100644 --- a/website/pages/partials/builder/amazon/instance/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/instance/Config-not-required.mdx @@ -1,39 +1,38 @@ -- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached - when booting a new instance from your AMI. To add a block device during - the Packer build see `launch_block_device_mappings` below. Your options - here may vary depending on the type of VM you use. See the - [BlockDevices](#block-devices-configuration) documentation for fields. - -- `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add - instance store volumes or EBS volumes in addition to the root device - volume, the created AMI will contain block device mapping information - for those volumes. Amazon creates snapshots of the source instance's - root volume and any other EBS volumes described here. When you launch an - instance from this new AMI, the instance automatically launches with - these additional volumes, and will restore them from snapshots taken - from the source instance. See the - [BlockDevices](#block-devices-configuration) documentation for fields. - -- `bundle_destination` (string) - The directory on the running instance where the bundled AMI will be - saved prior to uploading. By default this is /tmp. This directory must - exist and be writable. - -- `bundle_prefix` (string) - The prefix for files created from bundling the root volume. By default - this is `image-{{timestamp}}`. The timestamp variable should be used to - make sure this is unique, otherwise it can collide with other created - AMIs by Packer in your account. - -- `bundle_upload_command` (string) - The command to use to upload the bundled volume. See the "custom bundle - commands" section below for more information. - -- `bundle_vol_command` (string) - The command to use to bundle the volume. See the "custom bundle - commands" section below for more information. - -- `x509_upload_path` (string) - The path on the remote machine where the X509 certificate will be - uploaded. This path must already exist and be writable. X509 - certificates are uploaded after provisioning is run, so it is perfectly - okay to create this directory as part of the provisioning process. - Defaults to /tmp. - \ No newline at end of file +- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached + when booting a new instance from your AMI. To add a block device during + the Packer build see `launch_block_device_mappings` below. Your options + here may vary depending on the type of VM you use. See the + [BlockDevices](#block-devices-configuration) documentation for fields. + +- `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add + instance store volumes or EBS volumes in addition to the root device + volume, the created AMI will contain block device mapping information + for those volumes. Amazon creates snapshots of the source instance's + root volume and any other EBS volumes described here. When you launch an + instance from this new AMI, the instance automatically launches with + these additional volumes, and will restore them from snapshots taken + from the source instance. See the + [BlockDevices](#block-devices-configuration) documentation for fields. + +- `bundle_destination` (string) - The directory on the running instance where the bundled AMI will be + saved prior to uploading. By default this is /tmp. This directory must + exist and be writable. + +- `bundle_prefix` (string) - The prefix for files created from bundling the root volume. By default + this is `image-{{timestamp}}`. The timestamp variable should be used to + make sure this is unique, otherwise it can collide with other created + AMIs by Packer in your account. + +- `bundle_upload_command` (string) - The command to use to upload the bundled volume. See the "custom bundle + commands" section below for more information. + +- `bundle_vol_command` (string) - The command to use to bundle the volume. See the "custom bundle + commands" section below for more information. + +- `x509_upload_path` (string) - The path on the remote machine where the X509 certificate will be + uploaded. This path must already exist and be writable. X509 + certificates are uploaded after provisioning is run, so it is perfectly + okay to create this directory as part of the provisioning process. + Defaults to /tmp. diff --git a/website/pages/partials/builder/amazon/instance/Config-required.mdx b/website/pages/partials/builder/amazon/instance/Config-required.mdx index f60edb89c..f328d4ff9 100644 --- a/website/pages/partials/builder/amazon/instance/Config-required.mdx +++ b/website/pages/partials/builder/amazon/instance/Config-required.mdx @@ -1,16 +1,15 @@ -- `account_id` (string) - Your AWS account ID. This is required for bundling the AMI. This is not - the same as the access key. You can find your account ID in the security - credentials page of your AWS account. - -- `s3_bucket` (string) - The name of the S3 bucket to upload the AMI. This bucket will be created - if it doesn't exist. - -- `x509_cert_path` (string) - The local path to a valid X509 certificate for your AWS account. This is - used for bundling the AMI. This X509 certificate must be registered with - your account from the security credentials page in the AWS console. - -- `x509_key_path` (string) - The local path to the private key for the X509 certificate specified by - x509_cert_path. This is used for bundling the AMI. - \ No newline at end of file +- `account_id` (string) - Your AWS account ID. This is required for bundling the AMI. This is not + the same as the access key. You can find your account ID in the security + credentials page of your AWS account. + +- `s3_bucket` (string) - The name of the S3 bucket to upload the AMI. This bucket will be created + if it doesn't exist. + +- `x509_cert_path` (string) - The local path to a valid X509 certificate for your AWS account. This is + used for bundling the AMI. This X509 certificate must be registered with + your account from the security credentials page in the AWS console. + +- `x509_key_path` (string) - The local path to the private key for the X509 certificate specified by + x509_cert_path. This is used for bundling the AMI. diff --git a/website/pages/partials/builder/amazon/instance/Config.mdx b/website/pages/partials/builder/amazon/instance/Config.mdx index 92c4a64f0..384ca642d 100644 --- a/website/pages/partials/builder/amazon/instance/Config.mdx +++ b/website/pages/partials/builder/amazon/instance/Config.mdx @@ -1,3 +1,4 @@ + Config is the configuration that is chained through the steps and settable from the template. diff --git a/website/pages/partials/builder/azure/arm/Config-not-required.mdx b/website/pages/partials/builder/azure/arm/Config-not-required.mdx index 472f76445..b5da86b1b 100644 --- a/website/pages/partials/builder/azure/arm/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/Config-not-required.mdx @@ -1,260 +1,259 @@ -- `user_assigned_managed_identities` ([]string) - If set with one or more resource ids of user assigned managed identities, they will be configured on the VM. - See [documentation](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-use-vm-token) - for how to acquire tokens within the VM. - To assign a user assigned managed identity to a VM, the provided account or service principal must have [Managed Identity Operator](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#managed-identity-operator) - and [Virtual Machine Contributor](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-contributor) role assignments. - -- `capture_name_prefix` (string) - VHD prefix. - -- `capture_container_name` (string) - Destination container name. - -- `shared_image_gallery` (SharedImageGallery) - Use a [Shared Gallery - image](https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-shared-image-gallery/) - as the source for this build. *VHD targets are incompatible with this - build type* - the target must be a *Managed Image*. - - "shared_image_gallery": { - "subscription": "00000000-0000-0000-0000-00000000000", - "resource_group": "ResourceGroup", - "gallery_name": "GalleryName", - "image_name": "ImageName", - "image_version": "1.0.0" - } - "managed_image_name": "TargetImageName", - "managed_image_resource_group_name": "TargetResourceGroup" - -- `shared_image_gallery_destination` (SharedImageGalleryDestination) - The name of the Shared Image Gallery under which the managed image will be published as Shared Gallery Image version. - - Following is an example. - - "shared_image_gallery_destination": { - "resource_group": "ResourceGroup", - "gallery_name": "GalleryName", - "image_name": "ImageName", - "image_version": "1.0.0", - "replication_regions": ["regionA", "regionB", "regionC"] - } - "managed_image_name": "TargetImageName", - "managed_image_resource_group_name": "TargetResourceGroup" - -- `shared_image_gallery_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image - gallery before timing out. If your Packer build is failing on the - Publishing to Shared Image Gallery step with the error `Original Error: - context deadline exceeded`, but the image is present when you check your - Azure dashboard, then you probably need to increase this timeout from - its default of "60m" (valid time units include `s` for seconds, `m` for - minutes, and `h` for hours.) - -- `shared_gallery_image_version_end_of_life_date` (string) - The end of life date (2006-01-02T15:04:05.99Z) of the gallery Image Version. This property - can be used for decommissioning purposes. - -- `shared_image_gallery_replica_count` (int32) - The number of replicas of the Image Version to be created per region. This - property would take effect for a region when regionalReplicaCount is not specified. - Replica count must be between 1 and 10. - -- `shared_gallery_image_version_exclude_from_latest` (bool) - If set to true, Virtual Machines deployed from the latest version of the - Image Definition won't use this Image Version. - -- `image_version` (string) - Specify a specific version of an OS to boot from. - Defaults to `latest`. There may be a difference in versions available - across regions due to image synchronization latency. To ensure a consistent - version across regions set this value to one that is available in all - regions where you are deploying. - - CLI example - `az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04.0-LTS --all` - -- `location` (string) - Azure datacenter in which your VM will build. - -- `vm_size` (string) - Size of the VM used for building. This can be changed when you deploy a - VM from your VHD. See - [pricing](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/) - information. Defaults to `Standard_A1`. - - CLI example `az vm list-sizes --location westus` - -- `managed_image_resource_group_name` (string) - Specify the managed image resource group name where the result of the - Packer build will be saved. The resource group must already exist. If - this value is set, the value managed_image_name must also be set. See - documentation to learn more about managed images. - -- `managed_image_name` (string) - Specify the managed image name where the result of the Packer build will - be saved. The image name must not exist ahead of time, and will not be - overwritten. If this value is set, the value - managed_image_resource_group_name must also be set. See documentation to - learn more about managed images. - -- `managed_image_storage_account_type` (string) - Specify the storage account - type for a managed image. Valid values are Standard_LRS and Premium_LRS. - The default is Standard_LRS. - -- `managed_image_os_disk_snapshot_name` (string) - If - managed_image_os_disk_snapshot_name is set, a snapshot of the OS disk - is created with the same name as this value before the VM is captured. - -- `managed_image_data_disk_snapshot_prefix` (string) - If - managed_image_data_disk_snapshot_prefix is set, snapshot of the data - disk(s) is created with the same prefix as this value before the VM is - captured. - -- `managed_image_zone_resilient` (bool) - Store the image in zone-resilient storage. You need to create it in a - region that supports [availability - zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview). - -- `azure_tags` (map[string]\*string) - Name/value pair tags to apply to every resource deployed i.e. Resource - Group, VM, NIC, VNET, Public IP, KeyVault, etc. The user can define up - to 15 tags. Tag names cannot exceed 512 characters, and tag values - cannot exceed 256 characters. - -- `azure_tag` ([]{name string, value string}) - Same as [`azure_tags`](#azure_tags) but defined as a singular repeatable block - containing a `name` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `resource_group_name` (string) - Resource group under which the final artifact will be stored. - -- `storage_account` (string) - Storage account under which the final artifact will be stored. - -- `temp_compute_name` (string) - temporary name assigned to the VM. If this - value is not set, a random value will be assigned. Knowing the resource - group and VM name allows one to execute commands to update the VM during a - Packer build, e.g. attach a resource disk to the VM. - -- `temp_resource_group_name` (string) - name assigned to the temporary resource group created during the build. - If this value is not set, a random value will be assigned. This resource - group is deleted at the end of the build. - -- `build_resource_group_name` (string) - Specify an existing resource group to run the build in. - -- `build_key_vault_name` (string) - Specify an existing key vault to use for uploading certificates to the - instance to connect. - -- `build_key_vault_sku` (string) - Specify the KeyVault SKU to create during the build. Valid values are - standard or premium. The default value is standard. - -- `private_virtual_network_with_public_ip` (bool) - This value allows you to - set a virtual_network_name and obtain a public IP. If this value is not - set and virtual_network_name is defined Packer is only allowed to be - executed from a host on the same subnet / virtual network. - -- `virtual_network_name` (string) - Use a pre-existing virtual network for the - VM. This option enables private communication with the VM, no public IP - address is used or provisioned (unless you set - private_virtual_network_with_public_ip). - -- `virtual_network_subnet_name` (string) - If virtual_network_name is set, - this value may also be set. If virtual_network_name is set, and this - value is not set the builder attempts to determine the subnet to use with - the virtual network. If the subnet cannot be found, or it cannot be - disambiguated, this value should be set. - -- `virtual_network_resource_group_name` (string) - If virtual_network_name is - set, this value may also be set. If virtual_network_name is set, and - this value is not set the builder attempts to determine the resource group - containing the virtual network. If the resource group cannot be found, or - it cannot be disambiguated, this value should be set. - -- `custom_data_file` (string) - Specify a file containing custom data to inject into the cloud-init - process. The contents of the file are read and injected into the ARM - template. The custom data will be passed to cloud-init for processing at - the time of provisioning. See - [documentation](http://cloudinit.readthedocs.io/en/latest/topics/examples.html) - to learn more about custom data, and how it can be used to influence the - provisioning process. - -- `plan_info` (PlanInformation) - Used for creating images from Marketplace images. Please refer to - [Deploy an image with Marketplace - terms](https://aka.ms/azuremarketplaceapideployment) for more details. - Not all Marketplace images support programmatic deployment, and support - is controlled by the image publisher. - - An example plan\_info object is defined below. - - ```json - { - "plan_info": { - "plan_name": "rabbitmq", - "plan_product": "rabbitmq", - "plan_publisher": "bitnami" +- `user_assigned_managed_identities` ([]string) - If set with one or more resource ids of user assigned managed identities, they will be configured on the VM. + See [documentation](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-use-vm-token) + for how to acquire tokens within the VM. + To assign a user assigned managed identity to a VM, the provided account or service principal must have [Managed Identity Operator](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#managed-identity-operator) + and [Virtual Machine Contributor](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-contributor) role assignments. + +- `capture_name_prefix` (string) - VHD prefix. + +- `capture_container_name` (string) - Destination container name. + +- `shared_image_gallery` (SharedImageGallery) - Use a [Shared Gallery + image](https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-shared-image-gallery/) + as the source for this build. *VHD targets are incompatible with this + build type* - the target must be a *Managed Image*. + + "shared_image_gallery": { + "subscription": "00000000-0000-0000-0000-00000000000", + "resource_group": "ResourceGroup", + "gallery_name": "GalleryName", + "image_name": "ImageName", + "image_version": "1.0.0" } + "managed_image_name": "TargetImageName", + "managed_image_resource_group_name": "TargetResourceGroup" + +- `shared_image_gallery_destination` (SharedImageGalleryDestination) - The name of the Shared Image Gallery under which the managed image will be published as Shared Gallery Image version. + + Following is an example. + + "shared_image_gallery_destination": { + "resource_group": "ResourceGroup", + "gallery_name": "GalleryName", + "image_name": "ImageName", + "image_version": "1.0.0", + "replication_regions": ["regionA", "regionB", "regionC"] + } + "managed_image_name": "TargetImageName", + "managed_image_resource_group_name": "TargetResourceGroup" + +- `shared_image_gallery_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image + gallery before timing out. If your Packer build is failing on the + Publishing to Shared Image Gallery step with the error `Original Error: + context deadline exceeded`, but the image is present when you check your + Azure dashboard, then you probably need to increase this timeout from + its default of "60m" (valid time units include `s` for seconds, `m` for + minutes, and `h` for hours.) + +- `shared_gallery_image_version_end_of_life_date` (string) - The end of life date (2006-01-02T15:04:05.99Z) of the gallery Image Version. This property + can be used for decommissioning purposes. + +- `shared_image_gallery_replica_count` (int32) - The number of replicas of the Image Version to be created per region. This + property would take effect for a region when regionalReplicaCount is not specified. + Replica count must be between 1 and 10. + +- `shared_gallery_image_version_exclude_from_latest` (bool) - If set to true, Virtual Machines deployed from the latest version of the + Image Definition won't use this Image Version. + +- `image_version` (string) - Specify a specific version of an OS to boot from. + Defaults to `latest`. There may be a difference in versions available + across regions due to image synchronization latency. To ensure a consistent + version across regions set this value to one that is available in all + regions where you are deploying. + + CLI example + `az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04.0-LTS --all` + +- `location` (string) - Azure datacenter in which your VM will build. + +- `vm_size` (string) - Size of the VM used for building. This can be changed when you deploy a + VM from your VHD. See + [pricing](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/) + information. Defaults to `Standard_A1`. + + CLI example `az vm list-sizes --location westus` + +- `managed_image_resource_group_name` (string) - Specify the managed image resource group name where the result of the + Packer build will be saved. The resource group must already exist. If + this value is set, the value managed_image_name must also be set. See + documentation to learn more about managed images. + +- `managed_image_name` (string) - Specify the managed image name where the result of the Packer build will + be saved. The image name must not exist ahead of time, and will not be + overwritten. If this value is set, the value + managed_image_resource_group_name must also be set. See documentation to + learn more about managed images. + +- `managed_image_storage_account_type` (string) - Specify the storage account + type for a managed image. Valid values are Standard_LRS and Premium_LRS. + The default is Standard_LRS. + +- `managed_image_os_disk_snapshot_name` (string) - If + managed_image_os_disk_snapshot_name is set, a snapshot of the OS disk + is created with the same name as this value before the VM is captured. + +- `managed_image_data_disk_snapshot_prefix` (string) - If + managed_image_data_disk_snapshot_prefix is set, snapshot of the data + disk(s) is created with the same prefix as this value before the VM is + captured. + +- `managed_image_zone_resilient` (bool) - Store the image in zone-resilient storage. You need to create it in a + region that supports [availability + zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview). + +- `azure_tags` (map[string]\*string) - Name/value pair tags to apply to every resource deployed i.e. Resource + Group, VM, NIC, VNET, Public IP, KeyVault, etc. The user can define up + to 15 tags. Tag names cannot exceed 512 characters, and tag values + cannot exceed 256 characters. + +- `azure_tag` ([]{name string, value string}) - Same as [`azure_tags`](#azure_tags) but defined as a singular repeatable block + containing a `name` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `resource_group_name` (string) - Resource group under which the final artifact will be stored. + +- `storage_account` (string) - Storage account under which the final artifact will be stored. + +- `temp_compute_name` (string) - temporary name assigned to the VM. If this + value is not set, a random value will be assigned. Knowing the resource + group and VM name allows one to execute commands to update the VM during a + Packer build, e.g. attach a resource disk to the VM. + +- `temp_resource_group_name` (string) - name assigned to the temporary resource group created during the build. + If this value is not set, a random value will be assigned. This resource + group is deleted at the end of the build. + +- `build_resource_group_name` (string) - Specify an existing resource group to run the build in. + +- `build_key_vault_name` (string) - Specify an existing key vault to use for uploading certificates to the + instance to connect. + +- `build_key_vault_sku` (string) - Specify the KeyVault SKU to create during the build. Valid values are + standard or premium. The default value is standard. + +- `private_virtual_network_with_public_ip` (bool) - This value allows you to + set a virtual_network_name and obtain a public IP. If this value is not + set and virtual_network_name is defined Packer is only allowed to be + executed from a host on the same subnet / virtual network. + +- `virtual_network_name` (string) - Use a pre-existing virtual network for the + VM. This option enables private communication with the VM, no public IP + address is used or provisioned (unless you set + private_virtual_network_with_public_ip). + +- `virtual_network_subnet_name` (string) - If virtual_network_name is set, + this value may also be set. If virtual_network_name is set, and this + value is not set the builder attempts to determine the subnet to use with + the virtual network. If the subnet cannot be found, or it cannot be + disambiguated, this value should be set. + +- `virtual_network_resource_group_name` (string) - If virtual_network_name is + set, this value may also be set. If virtual_network_name is set, and + this value is not set the builder attempts to determine the resource group + containing the virtual network. If the resource group cannot be found, or + it cannot be disambiguated, this value should be set. + +- `custom_data_file` (string) - Specify a file containing custom data to inject into the cloud-init + process. The contents of the file are read and injected into the ARM + template. The custom data will be passed to cloud-init for processing at + the time of provisioning. See + [documentation](http://cloudinit.readthedocs.io/en/latest/topics/examples.html) + to learn more about custom data, and how it can be used to influence the + provisioning process. + +- `plan_info` (PlanInformation) - Used for creating images from Marketplace images. Please refer to + [Deploy an image with Marketplace + terms](https://aka.ms/azuremarketplaceapideployment) for more details. + Not all Marketplace images support programmatic deployment, and support + is controlled by the image publisher. + + An example plan\_info object is defined below. + + ```json + { + "plan_info": { + "plan_name": "rabbitmq", + "plan_product": "rabbitmq", + "plan_publisher": "bitnami" } - ``` - - `plan_name` (string) - The plan name, required. `plan_product` (string) - - The plan product, required. `plan_publisher` (string) - The plan publisher, - required. `plan_promotion_code` (string) - Some images accept a promotion - code, optional. - - Images created from the Marketplace with `plan_info` **must** specify - `plan_info` whenever the image is deployed. The builder automatically adds - tags to the image to ensure this information is not lost. The following - tags are added. - - ```text - 1. PlanName - 2. PlanProduct - 3. PlanPublisher - 4. PlanPromotionCode - ``` - -- `polling_duration_timeout` (duration string | ex: "1h5m2s") - The default PollingDuration for azure is 15mins, this property will override - that value. See [Azure DefaultPollingDuration](https://godoc.org/github.com/Azure/go-autorest/autorest#pkg-constants) - If your Packer build is failing on the - ARM deployment step with the error `Original Error: - context deadline exceeded`, then you probably need to increase this timeout from - its default of "15m" (valid time units include `s` for seconds, `m` for - minutes, and `h` for hours.) - -- `os_type` (string) - If either Linux or Windows is specified Packer will - automatically configure authentication credentials for the provisioned - machine. For Linux this configures an SSH authorized key. For Windows - this configures a WinRM certificate. - -- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB - (gigabytes). Values of zero or less than zero are ignored. - -- `disk_additional_size` ([]int32) - The size(s) of any additional hard disks for the VM in gigabytes. If - this is not specified then the VM will only contain an OS disk. The - number of additional disks and maximum size of a disk depends on the - configuration of your VM. See - [Windows](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/about-disks-and-vhds) - or - [Linux](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds) - for more information. - - For VHD builds the final artifacts will be named - `PREFIX-dataDisk-.UUID.vhd` and stored in the specified capture - container along side the OS disk. The additional disks are included in - the deployment template `PREFIX-vmTemplate.UUID`. - - For Managed build the final artifacts are included in the managed image. - The additional disk will have the same storage account type as the OS - disk, as specified with the `managed_image_storage_account_type` - setting. - -- `disk_caching_type` (string) - Specify the disk caching type. Valid values - are None, ReadOnly, and ReadWrite. The default value is ReadWrite. - -- `allowed_inbound_ip_addresses` ([]string) - Specify the list of IP addresses and CIDR blocks that should be - allowed access to the VM. If provided, an Azure Network Security - Group will be created with corresponding rules and be bound to - the subnet of the VM. - Providing `allowed_inbound_ip_addresses` in combination with - `virtual_network_name` is not allowed. - -- `boot_diag_storage_account` (string) - Specify storage to store Boot Diagnostics -- Enabling this option - will create 2 Files in the specified storage account. (serial console log & screehshot file) - once the build is completed, it has to be removed manually. - see [here](https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/boot-diagnostics) for more info - -- `custom_resource_build_prefix` (string) - specify custom azure resource names during build limited to max 10 characters - this will set the prefix for the resources. The actuall resource names will be - `custom_resource_build_prefix` + resourcetype + 5 character random alphanumeric string - -- `async_resourcegroup_delete` (bool) - If you want packer to delete the - temporary resource group asynchronously set this value. It's a boolean - value and defaults to false. Important Setting this true means that - your builds are faster, however any failed deletes are not reported. - \ No newline at end of file + } + ``` + + `plan_name` (string) - The plan name, required. `plan_product` (string) - + The plan product, required. `plan_publisher` (string) - The plan publisher, + required. `plan_promotion_code` (string) - Some images accept a promotion + code, optional. + + Images created from the Marketplace with `plan_info` **must** specify + `plan_info` whenever the image is deployed. The builder automatically adds + tags to the image to ensure this information is not lost. The following + tags are added. + + ```text + 1. PlanName + 2. PlanProduct + 3. PlanPublisher + 4. PlanPromotionCode + ``` + +- `polling_duration_timeout` (duration string | ex: "1h5m2s") - The default PollingDuration for azure is 15mins, this property will override + that value. See [Azure DefaultPollingDuration](https://godoc.org/github.com/Azure/go-autorest/autorest#pkg-constants) + If your Packer build is failing on the + ARM deployment step with the error `Original Error: + context deadline exceeded`, then you probably need to increase this timeout from + its default of "15m" (valid time units include `s` for seconds, `m` for + minutes, and `h` for hours.) + +- `os_type` (string) - If either Linux or Windows is specified Packer will + automatically configure authentication credentials for the provisioned + machine. For Linux this configures an SSH authorized key. For Windows + this configures a WinRM certificate. + +- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB + (gigabytes). Values of zero or less than zero are ignored. + +- `disk_additional_size` ([]int32) - The size(s) of any additional hard disks for the VM in gigabytes. If + this is not specified then the VM will only contain an OS disk. The + number of additional disks and maximum size of a disk depends on the + configuration of your VM. See + [Windows](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/about-disks-and-vhds) + or + [Linux](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds) + for more information. + + For VHD builds the final artifacts will be named + `PREFIX-dataDisk-.UUID.vhd` and stored in the specified capture + container along side the OS disk. The additional disks are included in + the deployment template `PREFIX-vmTemplate.UUID`. + + For Managed build the final artifacts are included in the managed image. + The additional disk will have the same storage account type as the OS + disk, as specified with the `managed_image_storage_account_type` + setting. + +- `disk_caching_type` (string) - Specify the disk caching type. Valid values + are None, ReadOnly, and ReadWrite. The default value is ReadWrite. + +- `allowed_inbound_ip_addresses` ([]string) - Specify the list of IP addresses and CIDR blocks that should be + allowed access to the VM. If provided, an Azure Network Security + Group will be created with corresponding rules and be bound to + the subnet of the VM. + Providing `allowed_inbound_ip_addresses` in combination with + `virtual_network_name` is not allowed. + +- `boot_diag_storage_account` (string) - Specify storage to store Boot Diagnostics -- Enabling this option + will create 2 Files in the specified storage account. (serial console log & screehshot file) + once the build is completed, it has to be removed manually. + see [here](https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/boot-diagnostics) for more info + +- `custom_resource_build_prefix` (string) - specify custom azure resource names during build limited to max 10 characters + this will set the prefix for the resources. The actuall resource names will be + `custom_resource_build_prefix` + resourcetype + 5 character random alphanumeric string + +- `async_resourcegroup_delete` (bool) - If you want packer to delete the + temporary resource group asynchronously set this value. It's a boolean + value and defaults to false. Important Setting this true means that + your builds are faster, however any failed deletes are not reported. diff --git a/website/pages/partials/builder/azure/arm/Config-required.mdx b/website/pages/partials/builder/azure/arm/Config-required.mdx index edac35f5e..16cac03d6 100644 --- a/website/pages/partials/builder/azure/arm/Config-required.mdx +++ b/website/pages/partials/builder/azure/arm/Config-required.mdx @@ -1,39 +1,38 @@ -- `image_publisher` (string) - Name of the publisher to use for your base image (Azure Marketplace Images only). See - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example `az vm image list-publishers --location westus` - -- `image_offer` (string) - Name of the publisher's offer to use for your base image (Azure Marketplace Images only). See - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example - `az vm image list-offers --location westus --publisher Canonical` - -- `image_sku` (string) - SKU of the image offer to use for your base image (Azure Marketplace Images only). See - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example - `az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer` - -- `image_url` (string) - URL to a custom VHD to use for your base image. If this value is set, - image_publisher, image_offer, image_sku, or image_version should not be set. - -- `custom_managed_image_name` (string) - Name of a custom managed image to use for your base image. If this value is set, do - not set image_publisher, image_offer, image_sku, or image_version. - If this value is set, the option - `custom_managed_image_resource_group_name` must also be set. See - [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) - to learn more about managed images. - -- `custom_managed_image_resource_group_name` (string) - Name of a custom managed image's resource group to use for your base image. If this - value is set, image_publisher, image_offer, image_sku, or image_version should not be set. - If this value is set, the option - `custom_managed_image_name` must also be set. See - [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) - to learn more about managed images. - \ No newline at end of file +- `image_publisher` (string) - Name of the publisher to use for your base image (Azure Marketplace Images only). See + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example `az vm image list-publishers --location westus` + +- `image_offer` (string) - Name of the publisher's offer to use for your base image (Azure Marketplace Images only). See + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example + `az vm image list-offers --location westus --publisher Canonical` + +- `image_sku` (string) - SKU of the image offer to use for your base image (Azure Marketplace Images only). See + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example + `az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer` + +- `image_url` (string) - URL to a custom VHD to use for your base image. If this value is set, + image_publisher, image_offer, image_sku, or image_version should not be set. + +- `custom_managed_image_name` (string) - Name of a custom managed image to use for your base image. If this value is set, do + not set image_publisher, image_offer, image_sku, or image_version. + If this value is set, the option + `custom_managed_image_resource_group_name` must also be set. See + [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) + to learn more about managed images. + +- `custom_managed_image_resource_group_name` (string) - Name of a custom managed image's resource group to use for your base image. If this + value is set, image_publisher, image_offer, image_sku, or image_version should not be set. + If this value is set, the option + `custom_managed_image_name` must also be set. See + [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) + to learn more about managed images. diff --git a/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx b/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx index 603e28349..5d6ac93f7 100644 --- a/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx @@ -1,6 +1,9 @@ -- `plan_name` (string) - Plan Name -- `plan_product` (string) - Plan Product -- `plan_publisher` (string) - Plan Publisher -- `plan_promotion_code` (string) - Plan Promotion Code \ No newline at end of file +- `plan_name` (string) - Plan Name + +- `plan_product` (string) - Plan Product + +- `plan_publisher` (string) - Plan Publisher + +- `plan_promotion_code` (string) - Plan Promotion Code diff --git a/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx b/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx index c36a6bc9c..1832eb1f3 100644 --- a/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx @@ -1,12 +1,15 @@ -- `subscription` (string) - Subscription -- `resource_group` (string) - Resource Group -- `gallery_name` (string) - Gallery Name -- `image_name` (string) - Image Name -- `image_version` (string) - Specify a specific version of an OS to boot from. - Defaults to latest. There may be a difference in versions available - across regions due to image synchronization latency. To ensure a consistent - version across regions set this value to one that is available in all - regions where you are deploying. - \ No newline at end of file +- `subscription` (string) - Subscription + +- `resource_group` (string) - Resource Group + +- `gallery_name` (string) - Gallery Name + +- `image_name` (string) - Image Name + +- `image_version` (string) - Specify a specific version of an OS to boot from. + Defaults to latest. There may be a difference in versions available + across regions due to image synchronization latency. To ensure a consistent + version across regions set this value to one that is available in all + regions where you are deploying. diff --git a/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx b/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx index 07793ec80..6bb863880 100644 --- a/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx @@ -1,7 +1,11 @@ -- `resource_group` (string) - Sig Destination Resource Group -- `gallery_name` (string) - Sig Destination Gallery Name -- `image_name` (string) - Sig Destination Image Name -- `image_version` (string) - Sig Destination Image Version -- `replication_regions` ([]string) - Sig Destination Replication Regions \ No newline at end of file +- `resource_group` (string) - Sig Destination Resource Group + +- `gallery_name` (string) - Sig Destination Gallery Name + +- `image_name` (string) - Sig Destination Image Name + +- `image_version` (string) - Sig Destination Image Version + +- `replication_regions` ([]string) - Sig Destination Replication Regions diff --git a/website/pages/partials/builder/azure/chroot/Config-not-required.mdx b/website/pages/partials/builder/azure/chroot/Config-not-required.mdx index 0d9309af5..76e2ea5e7 100644 --- a/website/pages/partials/builder/azure/chroot/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/chroot/Config-not-required.mdx @@ -1,65 +1,64 @@ -- `from_scratch` (bool) - When set to `true`, starts with an empty, unpartitioned disk. Defaults to `false`. - -- `command_wrapper` (string) - How to run shell commands. This may be useful to set environment variables or perhaps run - a command with sudo or so on. This is a configuration template where the `.Command` variable - is replaced with the command to be run. Defaults to `{{.Command}}`. - -- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and before mounting the chroot. - This is not required unless using `from_scratch`. If so, this should include any partitioning - and filesystem creation commands. The path to the device is provided by `{{.Device}}`. - -- `mount_options` ([]string) - Options to supply the `mount` command when mounting devices. Each option will be prefixed with - `-o` and supplied to the `mount` command ran by Packer. Because this command is ran in a shell, - user discretion is advised. See this manual page for the `mount` command for valid file system specific options. - -- `mount_partition` (string) - The partition number containing the / partition. By default this is the first partition of the volume. - -- `mount_path` (string) - The path where the volume will be mounted. This is where the chroot environment will be. This defaults - to `/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration template where the `.Device` - variable is replaced with the name of the device where the volume is attached. - -- `post_mount_commands` ([]string) - As `pre_mount_commands`, but the commands are executed after mounting the root device and before the - extra mount and copy steps. The device and mount path are provided by `{{.Device}}` and `{{.MountPath}}`. - -- `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This configuration parameter requires - some additional documentation which is in the "Chroot Mounts" section below. Please read that section - for more information on how to use this. - -- `copy_files` ([]string) - Paths to files on the running Azure instance that will be copied into the chroot environment prior to - provisioning. Defaults to `/etc/resolv.conf` so that DNS lookups work. Pass an empty list to skip copying - `/etc/resolv.conf`. You may need to do this if you're building an image that uses systemd. - -- `os_disk_size_gb` (int32) - Try to resize the OS disk to this size on the first copy. Disks can only be englarged. If not specified, - the disk will keep its original size. Required when using `from_scratch` - -- `os_disk_storage_account_type` (string) - The [storage SKU](https://docs.microsoft.com/en-us/rest/api/compute/disks/createorupdate#diskstorageaccounttypes) - to use for the OS Disk. Defaults to `Standard_LRS`. - -- `os_disk_cache_type` (string) - The [cache type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#cachingtypes) - specified in the resulting image and for attaching it to the Packer VM. Defaults to `ReadOnly` - -- `data_disk_storage_account_type` (string) - The [storage SKU](https://docs.microsoft.com/en-us/rest/api/compute/disks/createorupdate#diskstorageaccounttypes) - to use for datadisks. Defaults to `Standard_LRS`. - -- `data_disk_cache_type` (string) - The [cache type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#cachingtypes) - specified in the resulting image and for attaching it to the Packer VM. Defaults to `ReadOnly` - -- `image_hyperv_generation` (string) - The [Hyper-V generation type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#hypervgenerationtypes) for Managed Image output. - Defaults to `V1`. - -- `temporary_os_disk_id` (string) - The id of the temporary OS disk that will be created. Will be generated if not set. - -- `temporary_os_disk_snapshot_id` (string) - The id of the temporary OS disk snapshot that will be created. Will be generated if not set. - -- `temporary_data_disk_id_prefix` (string) - The prefix for the resource ids of the temporary data disks that will be created. The disks will be suffixed with a number. Will be generated if not set. - -- `temporary_data_disk_snapshot_id` (string) - The prefix for the resource ids of the temporary data disk snapshots that will be created. The snapshots will be suffixed with a number. Will be generated if not set. - -- `skip_cleanup` (bool) - If set to `true`, leaves the temporary disks and snapshots behind in the Packer VM resource group. Defaults to `false` - -- `image_resource_id` (string) - The managed image to create using this build. - -- `shared_image_destination` (SharedImageGalleryDestination) - The shared image to create using this build. - \ No newline at end of file +- `from_scratch` (bool) - When set to `true`, starts with an empty, unpartitioned disk. Defaults to `false`. + +- `command_wrapper` (string) - How to run shell commands. This may be useful to set environment variables or perhaps run + a command with sudo or so on. This is a configuration template where the `.Command` variable + is replaced with the command to be run. Defaults to `{{.Command}}`. + +- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and before mounting the chroot. + This is not required unless using `from_scratch`. If so, this should include any partitioning + and filesystem creation commands. The path to the device is provided by `{{.Device}}`. + +- `mount_options` ([]string) - Options to supply the `mount` command when mounting devices. Each option will be prefixed with + `-o` and supplied to the `mount` command ran by Packer. Because this command is ran in a shell, + user discretion is advised. See this manual page for the `mount` command for valid file system specific options. + +- `mount_partition` (string) - The partition number containing the / partition. By default this is the first partition of the volume. + +- `mount_path` (string) - The path where the volume will be mounted. This is where the chroot environment will be. This defaults + to `/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration template where the `.Device` + variable is replaced with the name of the device where the volume is attached. + +- `post_mount_commands` ([]string) - As `pre_mount_commands`, but the commands are executed after mounting the root device and before the + extra mount and copy steps. The device and mount path are provided by `{{.Device}}` and `{{.MountPath}}`. + +- `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This configuration parameter requires + some additional documentation which is in the "Chroot Mounts" section below. Please read that section + for more information on how to use this. + +- `copy_files` ([]string) - Paths to files on the running Azure instance that will be copied into the chroot environment prior to + provisioning. Defaults to `/etc/resolv.conf` so that DNS lookups work. Pass an empty list to skip copying + `/etc/resolv.conf`. You may need to do this if you're building an image that uses systemd. + +- `os_disk_size_gb` (int32) - Try to resize the OS disk to this size on the first copy. Disks can only be englarged. If not specified, + the disk will keep its original size. Required when using `from_scratch` + +- `os_disk_storage_account_type` (string) - The [storage SKU](https://docs.microsoft.com/en-us/rest/api/compute/disks/createorupdate#diskstorageaccounttypes) + to use for the OS Disk. Defaults to `Standard_LRS`. + +- `os_disk_cache_type` (string) - The [cache type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#cachingtypes) + specified in the resulting image and for attaching it to the Packer VM. Defaults to `ReadOnly` + +- `data_disk_storage_account_type` (string) - The [storage SKU](https://docs.microsoft.com/en-us/rest/api/compute/disks/createorupdate#diskstorageaccounttypes) + to use for datadisks. Defaults to `Standard_LRS`. + +- `data_disk_cache_type` (string) - The [cache type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#cachingtypes) + specified in the resulting image and for attaching it to the Packer VM. Defaults to `ReadOnly` + +- `image_hyperv_generation` (string) - The [Hyper-V generation type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#hypervgenerationtypes) for Managed Image output. + Defaults to `V1`. + +- `temporary_os_disk_id` (string) - The id of the temporary OS disk that will be created. Will be generated if not set. + +- `temporary_os_disk_snapshot_id` (string) - The id of the temporary OS disk snapshot that will be created. Will be generated if not set. + +- `temporary_data_disk_id_prefix` (string) - The prefix for the resource ids of the temporary data disks that will be created. The disks will be suffixed with a number. Will be generated if not set. + +- `temporary_data_disk_snapshot_id` (string) - The prefix for the resource ids of the temporary data disk snapshots that will be created. The snapshots will be suffixed with a number. Will be generated if not set. + +- `skip_cleanup` (bool) - If set to `true`, leaves the temporary disks and snapshots behind in the Packer VM resource group. Defaults to `false` + +- `image_resource_id` (string) - The managed image to create using this build. + +- `shared_image_destination` (SharedImageGalleryDestination) - The shared image to create using this build. diff --git a/website/pages/partials/builder/azure/chroot/Config-required.mdx b/website/pages/partials/builder/azure/chroot/Config-required.mdx index 956320d13..449553c66 100644 --- a/website/pages/partials/builder/azure/chroot/Config-required.mdx +++ b/website/pages/partials/builder/azure/chroot/Config-required.mdx @@ -1,7 +1,6 @@ -- `source` (string) - One of the following can be used as a source for an image: - - a shared image version resource ID - - a managed disk resource ID - - a publisher:offer:sku:version specifier for plaform image sources. - \ No newline at end of file +- `source` (string) - One of the following can be used as a source for an image: + - a shared image version resource ID + - a managed disk resource ID + - a publisher:offer:sku:version specifier for plaform image sources. diff --git a/website/pages/partials/builder/azure/chroot/Config.mdx b/website/pages/partials/builder/azure/chroot/Config.mdx index 147c5b9c7..49d57bcb2 100644 --- a/website/pages/partials/builder/azure/chroot/Config.mdx +++ b/website/pages/partials/builder/azure/chroot/Config.mdx @@ -1,3 +1,4 @@ + Config is the configuration that is chained through the steps and settable from the template. diff --git a/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-not-required.mdx b/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-not-required.mdx index 9e59df3d7..f0f7c92e3 100644 --- a/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-not-required.mdx +++ b/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-not-required.mdx @@ -1,4 +1,5 @@ -- `target_regions` ([]TargetRegion) - Target Regions -- `exlude_from_latest` (bool) - Exclude From Latest \ No newline at end of file +- `target_regions` ([]TargetRegion) - Target Regions + +- `exlude_from_latest` (bool) - Exclude From Latest diff --git a/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-required.mdx b/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-required.mdx index c8d91157d..731830936 100644 --- a/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-required.mdx +++ b/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination-required.mdx @@ -1,6 +1,9 @@ -- `resource_group` (string) - Resource Group -- `gallery_name` (string) - Gallery Name -- `image_name` (string) - Image Name -- `image_version` (string) - Image Version \ No newline at end of file +- `resource_group` (string) - Resource Group + +- `gallery_name` (string) - Gallery Name + +- `image_name` (string) - Image Name + +- `image_version` (string) - Image Version diff --git a/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination.mdx b/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination.mdx index 510b71d81..ef8e701f9 100644 --- a/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination.mdx +++ b/website/pages/partials/builder/azure/chroot/SharedImageGalleryDestination.mdx @@ -1,3 +1,4 @@ + SharedImageGalleryDestination models an image version in a Shared Image Gallery that can be used as a destination. diff --git a/website/pages/partials/builder/azure/chroot/TargetRegion-not-required.mdx b/website/pages/partials/builder/azure/chroot/TargetRegion-not-required.mdx index 693e16129..25312b24d 100644 --- a/website/pages/partials/builder/azure/chroot/TargetRegion-not-required.mdx +++ b/website/pages/partials/builder/azure/chroot/TargetRegion-not-required.mdx @@ -1,6 +1,5 @@ -- `replicas` (int32) - Number of replicas in this region. Default: 1 - -- `storage_account_type` (string) - Storage account type: Standard_LRS or Standard_ZRS. Default: Standard_ZRS - \ No newline at end of file +- `replicas` (int32) - Number of replicas in this region. Default: 1 + +- `storage_account_type` (string) - Storage account type: Standard_LRS or Standard_ZRS. Default: Standard_ZRS diff --git a/website/pages/partials/builder/azure/chroot/TargetRegion-required.mdx b/website/pages/partials/builder/azure/chroot/TargetRegion-required.mdx index 3acdf0526..198e49065 100644 --- a/website/pages/partials/builder/azure/chroot/TargetRegion-required.mdx +++ b/website/pages/partials/builder/azure/chroot/TargetRegion-required.mdx @@ -1,4 +1,3 @@ -- `name` (string) - Name of the Azure region - \ No newline at end of file +- `name` (string) - Name of the Azure region diff --git a/website/pages/partials/builder/azure/chroot/TargetRegion.mdx b/website/pages/partials/builder/azure/chroot/TargetRegion.mdx index aac09e0ea..6a5e060b3 100644 --- a/website/pages/partials/builder/azure/chroot/TargetRegion.mdx +++ b/website/pages/partials/builder/azure/chroot/TargetRegion.mdx @@ -1,2 +1,3 @@ + TargetRegion describes a region where the shared image should be replicated diff --git a/website/pages/partials/builder/azure/common/client/Config-not-required.mdx b/website/pages/partials/builder/azure/common/client/Config-not-required.mdx index a7c7a366b..c4c6b20eb 100644 --- a/website/pages/partials/builder/azure/common/client/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/common/client/Config-not-required.mdx @@ -1,26 +1,25 @@ -- `cloud_environment_name` (string) - One of Public, China, Germany, or - USGovernment. Defaults to Public. Long forms such as - USGovernmentCloud and AzureUSGovernmentCloud are also supported. - -- `client_id` (string) - The application ID of the AAD Service Principal. - Requires either `client_secret`, `client_cert_path` or `client_jwt` to be set as well. - -- `client_secret` (string) - A password/secret registered for the AAD SP. - -- `client_cert_path` (string) - The path to a pem-encoded certificate that will be used to authenticate - as the specified AAD SP. - -- `client_jwt` (string) - A JWT bearer token for client auth (RFC 7523, Sec. 2.2) that will be used - to authenticate the AAD SP. Provides more control over token the expiration - when using certificate authentication than when using `client_cert_path`. - -- `object_id` (string) - The object ID for the AAD SP. Optional, will be derived from the oAuth token if left empty. - -- `tenant_id` (string) - The Active Directory tenant identifier with which your `client_id` and - `subscription_id` are associated. If not specified, `tenant_id` will be - looked up using `subscription_id`. - -- `subscription_id` (string) - The subscription to use. - \ No newline at end of file +- `cloud_environment_name` (string) - One of Public, China, Germany, or + USGovernment. Defaults to Public. Long forms such as + USGovernmentCloud and AzureUSGovernmentCloud are also supported. + +- `client_id` (string) - The application ID of the AAD Service Principal. + Requires either `client_secret`, `client_cert_path` or `client_jwt` to be set as well. + +- `client_secret` (string) - A password/secret registered for the AAD SP. + +- `client_cert_path` (string) - The path to a pem-encoded certificate that will be used to authenticate + as the specified AAD SP. + +- `client_jwt` (string) - A JWT bearer token for client auth (RFC 7523, Sec. 2.2) that will be used + to authenticate the AAD SP. Provides more control over token the expiration + when using certificate authentication than when using `client_cert_path`. + +- `object_id` (string) - The object ID for the AAD SP. Optional, will be derived from the oAuth token if left empty. + +- `tenant_id` (string) - The Active Directory tenant identifier with which your `client_id` and + `subscription_id` are associated. If not specified, `tenant_id` will be + looked up using `subscription_id`. + +- `subscription_id` (string) - The subscription to use. diff --git a/website/pages/partials/builder/azure/common/client/Config.mdx b/website/pages/partials/builder/azure/common/client/Config.mdx index 2fac214bb..0be21ae33 100644 --- a/website/pages/partials/builder/azure/common/client/Config.mdx +++ b/website/pages/partials/builder/azure/common/client/Config.mdx @@ -1,4 +1,5 @@ + Config allows for various ways to authenticate Azure clients. When `client_id` and `subscription_id` are specified, Packer will use the specified Azure Active Directory (AAD) Service Principal (SP). diff --git a/website/pages/partials/builder/azure/dtl/ArtifactParameter-not-required.mdx b/website/pages/partials/builder/azure/dtl/ArtifactParameter-not-required.mdx index 854a41597..05071c8c6 100644 --- a/website/pages/partials/builder/azure/dtl/ArtifactParameter-not-required.mdx +++ b/website/pages/partials/builder/azure/dtl/ArtifactParameter-not-required.mdx @@ -1,5 +1,7 @@ -- `name` (string) - Name -- `value` (string) - Value -- `type` (string) - Type \ No newline at end of file +- `name` (string) - Name + +- `value` (string) - Value + +- `type` (string) - Type diff --git a/website/pages/partials/builder/azure/dtl/Config-not-required.mdx b/website/pages/partials/builder/azure/dtl/Config-not-required.mdx index 18bc3f2f0..37fd13eb3 100644 --- a/website/pages/partials/builder/azure/dtl/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/dtl/Config-not-required.mdx @@ -1,160 +1,167 @@ -- `capture_name_prefix` (string) - Capture - -- `capture_container_name` (string) - Capture Container Name -- `shared_image_gallery` (SharedImageGallery) - Use a [Shared Gallery - image](https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-shared-image-gallery/) - as the source for this build. *VHD targets are incompatible with this - build type* - the target must be a *Managed Image*. - - ```json - "shared_image_gallery": { - "subscription": "00000000-0000-0000-0000-00000000000", - "resource_group": "ResourceGroup", - "gallery_name": "GalleryName", - "image_name": "ImageName", - "image_version": "1.0.0" - } - "managed_image_name": "TargetImageName", - "managed_image_resource_group_name": "TargetResourceGroup" - ``` - -- `shared_image_gallery_destination` (SharedImageGalleryDestination) - The name of the Shared Image Gallery under which the managed image will be published as Shared Gallery Image version. - - Following is an example. - - ```json - "shared_image_gallery_destination": { - "resource_group": "ResourceGroup", - "gallery_name": "GalleryName", - "image_name": "ImageName", - "image_version": "1.0.0", - "replication_regions": ["regionA", "regionB", "regionC"] - } - "managed_image_name": "TargetImageName", - "managed_image_resource_group_name": "TargetResourceGroup" - ``` - -- `shared_image_gallery_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image - gallery before timing out. If your Packer build is failing on the - Publishing to Shared Image Gallery step with the error `Original Error: - context deadline exceeded`, but the image is present when you check your - Azure dashboard, then you probably need to increase this timeout from - its default of "60m" (valid time units include `s` for seconds, `m` for - minutes, and `h` for hours.) - -- `image_publisher` (string) - PublisherName for your base image. See - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example `az vm image list-publishers --location westus` - -- `image_offer` (string) - Offer for your base image. See - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example - `az vm image list-offers --location westus --publisher Canonical` - -- `image_sku` (string) - SKU for your base image. See - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example - `az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer` - -- `image_version` (string) - Specify a specific version of an OS to boot from. - Defaults to `latest`. There may be a difference in versions available - across regions due to image synchronization latency. To ensure a consistent - version across regions set this value to one that is available in all - regions where you are deploying. - - CLI example - `az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04.0-LTS --all` - -- `image_url` (string) - Specify a custom VHD to use. If this value is set, do - not set image_publisher, image_offer, image_sku, or image_version. - -- `custom_managed_image_resource_group_name` (string) - Specify the source managed image's resource group used to use. If this - value is set, do not set image\_publisher, image\_offer, image\_sku, or - image\_version. If this value is set, the value - `custom_managed_image_name` must also be set. See - [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) - to learn more about managed images. - -- `custom_managed_image_name` (string) - Specify the source managed image's name to use. If this value is set, do - not set image\_publisher, image\_offer, image\_sku, or image\_version. - If this value is set, the value - `custom_managed_image_resource_group_name` must also be set. See - [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) - to learn more about managed images. - -- `location` (string) - Location -- `vm_size` (string) - Size of the VM used for building. This can be changed when you deploy a - VM from your VHD. See - [pricing](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/) - information. Defaults to `Standard_A1`. - - CLI example `az vm list-sizes --location westus` - -- `managed_image_resource_group_name` (string) - Specify the managed image resource group name where the result of the - Packer build will be saved. The resource group must already exist. If - this value is set, the value managed_image_name must also be set. See - documentation to learn more about managed images. - -- `managed_image_name` (string) - Specify the managed image name where the result of the Packer build will - be saved. The image name must not exist ahead of time, and will not be - overwritten. If this value is set, the value - managed_image_resource_group_name must also be set. See documentation to - learn more about managed images. - -- `managed_image_storage_account_type` (string) - Specify the storage account - type for a managed image. Valid values are Standard_LRS and Premium_LRS. - The default is Standard_LRS. - -- `azure_tags` (map[string]\*string) - the user can define up to 15 - tags. Tag names cannot exceed 512 characters, and tag values cannot exceed - 256 characters. Tags are applied to every resource deployed by a Packer - build, i.e. Resource Group, VM, NIC, VNET, Public IP, KeyVault, etc. - -- `plan_id` (string) - Used for creating images from Marketplace images. Please refer to - [Deploy an image with Marketplace - terms](https://aka.ms/azuremarketplaceapideployment) for more details. - Not all Marketplace images support programmatic deployment, and support - is controlled by the image publisher. - Plan_id is a string with unique identifier for the plan associated with images. - Ex plan_id="1-12ab" - -- `polling_duration_timeout` (duration string | ex: "1h5m2s") - The default PollingDuration for azure is 15mins, this property will override - that value. See [Azure DefaultPollingDuration](https://godoc.org/github.com/Azure/go-autorest/autorest#pkg-constants) - If your Packer build is failing on the - ARM deployment step with the error `Original Error: - context deadline exceeded`, then you probably need to increase this timeout from - its default of "15m" (valid time units include `s` for seconds, `m` for - minutes, and `h` for hours.) - -- `os_type` (string) - If either Linux or Windows is specified Packer will - automatically configure authentication credentials for the provisioned - machine. For Linux this configures an SSH authorized key. For Windows - this configures a WinRM certificate. - -- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB - (gigabytes). Values of zero or less than zero are ignored. - -- `disk_additional_size` ([]int32) - For Managed build the final artifacts are included in the managed image. - The additional disk will have the same storage account type as the OS - disk, as specified with the `managed_image_storage_account_type` - setting. - -- `disk_caching_type` (string) - Specify the disk caching type. Valid values - are None, ReadOnly, and ReadWrite. The default value is ReadWrite. - -- `storage_type` (string) - DTL values - -- `lab_virtual_network_name` (string) - Lab Virtual Network Name -- `lab_name` (string) - Lab Name -- `lab_subnet_name` (string) - Lab Subnet Name -- `lab_resource_group_name` (string) - Lab Resource Group Name -- `dtl_artifacts` ([]DtlArtifact) - Dtl Artifacts -- `vm_name` (string) - VM Name \ No newline at end of file +- `capture_name_prefix` (string) - Capture + +- `capture_container_name` (string) - Capture Container Name + +- `shared_image_gallery` (SharedImageGallery) - Use a [Shared Gallery + image](https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-shared-image-gallery/) + as the source for this build. *VHD targets are incompatible with this + build type* - the target must be a *Managed Image*. + + ```json + "shared_image_gallery": { + "subscription": "00000000-0000-0000-0000-00000000000", + "resource_group": "ResourceGroup", + "gallery_name": "GalleryName", + "image_name": "ImageName", + "image_version": "1.0.0" + } + "managed_image_name": "TargetImageName", + "managed_image_resource_group_name": "TargetResourceGroup" + ``` + +- `shared_image_gallery_destination` (SharedImageGalleryDestination) - The name of the Shared Image Gallery under which the managed image will be published as Shared Gallery Image version. + + Following is an example. + + ```json + "shared_image_gallery_destination": { + "resource_group": "ResourceGroup", + "gallery_name": "GalleryName", + "image_name": "ImageName", + "image_version": "1.0.0", + "replication_regions": ["regionA", "regionB", "regionC"] + } + "managed_image_name": "TargetImageName", + "managed_image_resource_group_name": "TargetResourceGroup" + ``` + +- `shared_image_gallery_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image + gallery before timing out. If your Packer build is failing on the + Publishing to Shared Image Gallery step with the error `Original Error: + context deadline exceeded`, but the image is present when you check your + Azure dashboard, then you probably need to increase this timeout from + its default of "60m" (valid time units include `s` for seconds, `m` for + minutes, and `h` for hours.) + +- `image_publisher` (string) - PublisherName for your base image. See + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example `az vm image list-publishers --location westus` + +- `image_offer` (string) - Offer for your base image. See + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example + `az vm image list-offers --location westus --publisher Canonical` + +- `image_sku` (string) - SKU for your base image. See + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example + `az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer` + +- `image_version` (string) - Specify a specific version of an OS to boot from. + Defaults to `latest`. There may be a difference in versions available + across regions due to image synchronization latency. To ensure a consistent + version across regions set this value to one that is available in all + regions where you are deploying. + + CLI example + `az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04.0-LTS --all` + +- `image_url` (string) - Specify a custom VHD to use. If this value is set, do + not set image_publisher, image_offer, image_sku, or image_version. + +- `custom_managed_image_resource_group_name` (string) - Specify the source managed image's resource group used to use. If this + value is set, do not set image\_publisher, image\_offer, image\_sku, or + image\_version. If this value is set, the value + `custom_managed_image_name` must also be set. See + [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) + to learn more about managed images. + +- `custom_managed_image_name` (string) - Specify the source managed image's name to use. If this value is set, do + not set image\_publisher, image\_offer, image\_sku, or image\_version. + If this value is set, the value + `custom_managed_image_resource_group_name` must also be set. See + [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) + to learn more about managed images. + +- `location` (string) - Location + +- `vm_size` (string) - Size of the VM used for building. This can be changed when you deploy a + VM from your VHD. See + [pricing](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/) + information. Defaults to `Standard_A1`. + + CLI example `az vm list-sizes --location westus` + +- `managed_image_resource_group_name` (string) - Specify the managed image resource group name where the result of the + Packer build will be saved. The resource group must already exist. If + this value is set, the value managed_image_name must also be set. See + documentation to learn more about managed images. + +- `managed_image_name` (string) - Specify the managed image name where the result of the Packer build will + be saved. The image name must not exist ahead of time, and will not be + overwritten. If this value is set, the value + managed_image_resource_group_name must also be set. See documentation to + learn more about managed images. + +- `managed_image_storage_account_type` (string) - Specify the storage account + type for a managed image. Valid values are Standard_LRS and Premium_LRS. + The default is Standard_LRS. + +- `azure_tags` (map[string]\*string) - the user can define up to 15 + tags. Tag names cannot exceed 512 characters, and tag values cannot exceed + 256 characters. Tags are applied to every resource deployed by a Packer + build, i.e. Resource Group, VM, NIC, VNET, Public IP, KeyVault, etc. + +- `plan_id` (string) - Used for creating images from Marketplace images. Please refer to + [Deploy an image with Marketplace + terms](https://aka.ms/azuremarketplaceapideployment) for more details. + Not all Marketplace images support programmatic deployment, and support + is controlled by the image publisher. + Plan_id is a string with unique identifier for the plan associated with images. + Ex plan_id="1-12ab" + +- `polling_duration_timeout` (duration string | ex: "1h5m2s") - The default PollingDuration for azure is 15mins, this property will override + that value. See [Azure DefaultPollingDuration](https://godoc.org/github.com/Azure/go-autorest/autorest#pkg-constants) + If your Packer build is failing on the + ARM deployment step with the error `Original Error: + context deadline exceeded`, then you probably need to increase this timeout from + its default of "15m" (valid time units include `s` for seconds, `m` for + minutes, and `h` for hours.) + +- `os_type` (string) - If either Linux or Windows is specified Packer will + automatically configure authentication credentials for the provisioned + machine. For Linux this configures an SSH authorized key. For Windows + this configures a WinRM certificate. + +- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB + (gigabytes). Values of zero or less than zero are ignored. + +- `disk_additional_size` ([]int32) - For Managed build the final artifacts are included in the managed image. + The additional disk will have the same storage account type as the OS + disk, as specified with the `managed_image_storage_account_type` + setting. + +- `disk_caching_type` (string) - Specify the disk caching type. Valid values + are None, ReadOnly, and ReadWrite. The default value is ReadWrite. + +- `storage_type` (string) - DTL values + +- `lab_virtual_network_name` (string) - Lab Virtual Network Name + +- `lab_name` (string) - Lab Name + +- `lab_subnet_name` (string) - Lab Subnet Name + +- `lab_resource_group_name` (string) - Lab Resource Group Name + +- `dtl_artifacts` ([]DtlArtifact) - Dtl Artifacts + +- `vm_name` (string) - VM Name diff --git a/website/pages/partials/builder/azure/dtl/DtlArtifact-not-required.mdx b/website/pages/partials/builder/azure/dtl/DtlArtifact-not-required.mdx index 6b4a8ce7f..00cfc5811 100644 --- a/website/pages/partials/builder/azure/dtl/DtlArtifact-not-required.mdx +++ b/website/pages/partials/builder/azure/dtl/DtlArtifact-not-required.mdx @@ -1,6 +1,9 @@ -- `artifact_name` (string) - Artifact Name -- `repository_name` (string) - Repository Name -- `artifact_id` (string) - Artifact Id -- `parameters` ([]ArtifactParameter) - Parameters \ No newline at end of file +- `artifact_name` (string) - Artifact Name + +- `repository_name` (string) - Repository Name + +- `artifact_id` (string) - Artifact Id + +- `parameters` ([]ArtifactParameter) - Parameters diff --git a/website/pages/partials/builder/azure/dtl/SharedImageGallery-not-required.mdx b/website/pages/partials/builder/azure/dtl/SharedImageGallery-not-required.mdx index 906249d49..adad4c26f 100644 --- a/website/pages/partials/builder/azure/dtl/SharedImageGallery-not-required.mdx +++ b/website/pages/partials/builder/azure/dtl/SharedImageGallery-not-required.mdx @@ -1,7 +1,11 @@ -- `subscription` (string) - Subscription -- `resource_group` (string) - Resource Group -- `gallery_name` (string) - Gallery Name -- `image_name` (string) - Image Name -- `image_version` (string) - Image Version \ No newline at end of file +- `subscription` (string) - Subscription + +- `resource_group` (string) - Resource Group + +- `gallery_name` (string) - Gallery Name + +- `image_name` (string) - Image Name + +- `image_version` (string) - Image Version diff --git a/website/pages/partials/builder/azure/dtl/SharedImageGalleryDestination-not-required.mdx b/website/pages/partials/builder/azure/dtl/SharedImageGalleryDestination-not-required.mdx index 8760879db..7fc167c31 100644 --- a/website/pages/partials/builder/azure/dtl/SharedImageGalleryDestination-not-required.mdx +++ b/website/pages/partials/builder/azure/dtl/SharedImageGalleryDestination-not-required.mdx @@ -1,7 +1,11 @@ -- `resource_group` (string) - Sig Destination Resource Group -- `gallery_name` (string) - Sig Destination Gallery Name -- `image_name` (string) - Sig Destination Image Name -- `image_version` (string) - Sig Destination Image Version -- `replication_regions` ([]string) - Sig Destination Replication Regions \ No newline at end of file +- `resource_group` (string) - Sig Destination Resource Group + +- `gallery_name` (string) - Sig Destination Gallery Name + +- `image_name` (string) - Sig Destination Image Name + +- `image_version` (string) - Sig Destination Image Version + +- `replication_regions` ([]string) - Sig Destination Replication Regions diff --git a/website/pages/partials/builder/cloudstack/Config-not-required.mdx b/website/pages/partials/builder/cloudstack/Config-not-required.mdx index ef65c212a..95de7e258 100644 --- a/website/pages/partials/builder/cloudstack/Config-not-required.mdx +++ b/website/pages/partials/builder/cloudstack/Config-not-required.mdx @@ -1,108 +1,109 @@ -- `async_timeout` (duration string | ex: "1h5m2s") - The time duration to wait for async calls to - finish. Defaults to 30m. - -- `http_get_only` (bool) - Some cloud providers only allow HTTP GET calls - to their CloudStack API. If using such a provider, you need to set this to - true in order for the provider to only make GET calls and no POST calls. - -- `ssl_no_verify` (bool) - Set to true to skip SSL verification. - Defaults to false. - -- `cidr_list` ([]string) - List of CIDR's that will have access to the new - instance. This is needed in order for any provisioners to be able to - connect to the instance. Defaults to [ "0.0.0.0/0" ]. Only required when - use_local_ip_address is false. - -- `create_security_group` (bool) - If true a temporary security group - will be created which allows traffic towards the instance from the - cidr_list. This option will be ignored if security_groups is also - defined. Requires expunge set to true. Defaults to false. - -- `disk_offering` (string) - The name or ID of the disk offering used for the - instance. This option is only available (and also required) when using - source_iso. - -- `disk_size` (int64) - The size (in GB) of the root disk of the new - instance. This option is only available when using source_template. - -- `eject_iso` (bool) - If `true` make a call to the CloudStack API, after loading image to - cache, requesting to check and detach ISO file (if any) currently - attached to a virtual machine. Defaults to `false`. This option is only - available when using `source_iso`. - -- `eject_iso_delay` (duration string | ex: "1h5m2s") - Configure the duration time to wait, making sure virtual machine is able - to finish installing OS before it ejects safely. Requires `eject_iso` - set to `true` and this option is only available when using `source_iso`. - -- `expunge` (bool) - Set to true to expunge the instance when it is - destroyed. Defaults to false. - -- `hypervisor` (string) - The target hypervisor (e.g. XenServer, KVM) for - the new template. This option is required when using source_iso. - -- `instance_name` (string) - The name of the instance. Defaults to - "packer-UUID" where UUID is dynamically generated. - -- `instance_display_name` (string) - The display name of the instance. Defaults to "Created by Packer". - -- `project` (string) - The name or ID of the project to deploy the instance - to. - -- `public_ip_address` (string) - The public IP address or it's ID used for - connecting any provisioners to. If not provided, a temporary public IP - address will be associated and released during the Packer run. - -- `public_port` (int) - The fixed port you want to configure in the port - forwarding rule. Set this attribute if you do not want to use the a random - public port. - -- `security_groups` ([]string) - A list of security group IDs or - names to associate the instance with. - -- `prevent_firewall_changes` (bool) - Set to true to prevent network - ACLs or firewall rules creation. Defaults to false. - -- `temporary_keypair_name` (string) - The name of the temporary SSH key pair - to generate. By default, Packer generates a name that looks like - `packer_`, where `` is a 36 character unique identifier. - -- `use_local_ip_address` (bool) - Set to true to indicate that the - provisioners should connect to the local IP address of the instance. - -- `user_data` (string) - User data to launch with the instance. This is a - template engine; see "User Data" bellow for - more details. Packer will not automatically wait for a user script to - finish before shutting down the instance this must be handled in a - provisioner. - -- `user_data_file` (string) - Path to a file that will be used for the user - data when launching the instance. This file will be parsed as a template - engine see User Data bellow for more - details. - -- `template_name` (string) - The name of the new template. Defaults to - `packer-{{timestamp}}` where timestamp will be the current time. - -- `template_display_text` (string) - The display text of the new template. - Defaults to the template_name. - -- `template_featured` (bool) - Set to true to indicate that the template - is featured. Defaults to false. - -- `template_public` (bool) - Set to true to indicate that the template - is available for all accounts. Defaults to false. - -- `template_password_enabled` (bool) - Set to true to indicate the - template should be password enabled. Defaults to false. - -- `template_requires_hvm` (bool) - Set to true to indicate the template - requires hardware-assisted virtualization. Defaults to false. - -- `template_scalable` (bool) - Set to true to indicate that the template - contains tools to support dynamic scaling of VM cpu/memory. Defaults to - false. - -- `template_tag` (string) - -- `tags` (map[string]string) - Tags \ No newline at end of file +- `async_timeout` (duration string | ex: "1h5m2s") - The time duration to wait for async calls to + finish. Defaults to 30m. + +- `http_get_only` (bool) - Some cloud providers only allow HTTP GET calls + to their CloudStack API. If using such a provider, you need to set this to + true in order for the provider to only make GET calls and no POST calls. + +- `ssl_no_verify` (bool) - Set to true to skip SSL verification. + Defaults to false. + +- `cidr_list` ([]string) - List of CIDR's that will have access to the new + instance. This is needed in order for any provisioners to be able to + connect to the instance. Defaults to [ "0.0.0.0/0" ]. Only required when + use_local_ip_address is false. + +- `create_security_group` (bool) - If true a temporary security group + will be created which allows traffic towards the instance from the + cidr_list. This option will be ignored if security_groups is also + defined. Requires expunge set to true. Defaults to false. + +- `disk_offering` (string) - The name or ID of the disk offering used for the + instance. This option is only available (and also required) when using + source_iso. + +- `disk_size` (int64) - The size (in GB) of the root disk of the new + instance. This option is only available when using source_template. + +- `eject_iso` (bool) - If `true` make a call to the CloudStack API, after loading image to + cache, requesting to check and detach ISO file (if any) currently + attached to a virtual machine. Defaults to `false`. This option is only + available when using `source_iso`. + +- `eject_iso_delay` (duration string | ex: "1h5m2s") - Configure the duration time to wait, making sure virtual machine is able + to finish installing OS before it ejects safely. Requires `eject_iso` + set to `true` and this option is only available when using `source_iso`. + +- `expunge` (bool) - Set to true to expunge the instance when it is + destroyed. Defaults to false. + +- `hypervisor` (string) - The target hypervisor (e.g. XenServer, KVM) for + the new template. This option is required when using source_iso. + +- `instance_name` (string) - The name of the instance. Defaults to + "packer-UUID" where UUID is dynamically generated. + +- `instance_display_name` (string) - The display name of the instance. Defaults to "Created by Packer". + +- `project` (string) - The name or ID of the project to deploy the instance + to. + +- `public_ip_address` (string) - The public IP address or it's ID used for + connecting any provisioners to. If not provided, a temporary public IP + address will be associated and released during the Packer run. + +- `public_port` (int) - The fixed port you want to configure in the port + forwarding rule. Set this attribute if you do not want to use the a random + public port. + +- `security_groups` ([]string) - A list of security group IDs or + names to associate the instance with. + +- `prevent_firewall_changes` (bool) - Set to true to prevent network + ACLs or firewall rules creation. Defaults to false. + +- `temporary_keypair_name` (string) - The name of the temporary SSH key pair + to generate. By default, Packer generates a name that looks like + `packer_`, where `` is a 36 character unique identifier. + +- `use_local_ip_address` (bool) - Set to true to indicate that the + provisioners should connect to the local IP address of the instance. + +- `user_data` (string) - User data to launch with the instance. This is a + template engine; see "User Data" bellow for + more details. Packer will not automatically wait for a user script to + finish before shutting down the instance this must be handled in a + provisioner. + +- `user_data_file` (string) - Path to a file that will be used for the user + data when launching the instance. This file will be parsed as a template + engine see User Data bellow for more + details. + +- `template_name` (string) - The name of the new template. Defaults to + `packer-{{timestamp}}` where timestamp will be the current time. + +- `template_display_text` (string) - The display text of the new template. + Defaults to the template_name. + +- `template_featured` (bool) - Set to true to indicate that the template + is featured. Defaults to false. + +- `template_public` (bool) - Set to true to indicate that the template + is available for all accounts. Defaults to false. + +- `template_password_enabled` (bool) - Set to true to indicate the + template should be password enabled. Defaults to false. + +- `template_requires_hvm` (bool) - Set to true to indicate the template + requires hardware-assisted virtualization. Defaults to false. + +- `template_scalable` (bool) - Set to true to indicate that the template + contains tools to support dynamic scaling of VM cpu/memory. Defaults to + false. + +- `template_tag` (string) - + +- `tags` (map[string]string) - Tags diff --git a/website/pages/partials/builder/cloudstack/Config-required.mdx b/website/pages/partials/builder/cloudstack/Config-required.mdx index 51076ee1e..3ad2c53dc 100644 --- a/website/pages/partials/builder/cloudstack/Config-required.mdx +++ b/website/pages/partials/builder/cloudstack/Config-required.mdx @@ -1,33 +1,32 @@ -- `api_url` (string) - The CloudStack API endpoint we will connect to. It can - also be specified via environment variable CLOUDSTACK_API_URL, if set. - -- `api_key` (string) - The API key used to sign all API requests. It can also - be specified via environment variable CLOUDSTACK_API_KEY, if set. - -- `secret_key` (string) - The secret key used to sign all API requests. It - can also be specified via environment variable CLOUDSTACK_SECRET_KEY, if - set. - -- `network` (string) - The name or ID of the network to connect the instance - to. - -- `service_offering` (string) - The name or ID of the service offering used - for the instance. - -- `source_iso` (string) - The name or ID of an ISO that will be mounted - before booting the instance. This option is mutually exclusive with - source_template. When using source_iso, both disk_offering and - hypervisor are required. - -- `source_template` (string) - The name or ID of the template used as base - template for the instance. This option is mutually exclusive with - source_iso. - -- `zone` (string) - The name or ID of the zone where the instance will be - created. - -- `template_os` (string) - The name or ID of the template OS for the new - template that will be created. - \ No newline at end of file +- `api_url` (string) - The CloudStack API endpoint we will connect to. It can + also be specified via environment variable CLOUDSTACK_API_URL, if set. + +- `api_key` (string) - The API key used to sign all API requests. It can also + be specified via environment variable CLOUDSTACK_API_KEY, if set. + +- `secret_key` (string) - The secret key used to sign all API requests. It + can also be specified via environment variable CLOUDSTACK_SECRET_KEY, if + set. + +- `network` (string) - The name or ID of the network to connect the instance + to. + +- `service_offering` (string) - The name or ID of the service offering used + for the instance. + +- `source_iso` (string) - The name or ID of an ISO that will be mounted + before booting the instance. This option is mutually exclusive with + source_template. When using source_iso, both disk_offering and + hypervisor are required. + +- `source_template` (string) - The name or ID of the template used as base + template for the instance. This option is mutually exclusive with + source_iso. + +- `zone` (string) - The name or ID of the zone where the instance will be + created. + +- `template_os` (string) - The name or ID of the template OS for the new + template that will be created. diff --git a/website/pages/partials/builder/cloudstack/Config.mdx b/website/pages/partials/builder/cloudstack/Config.mdx index 0b401cd22..607ce4dc6 100644 --- a/website/pages/partials/builder/cloudstack/Config.mdx +++ b/website/pages/partials/builder/cloudstack/Config.mdx @@ -1,2 +1,3 @@ + Config holds all the details needed to configure the builder. diff --git a/website/pages/partials/builder/digitalocean/Config-not-required.mdx b/website/pages/partials/builder/digitalocean/Config-not-required.mdx index c5329ad96..3f2cb0abf 100644 --- a/website/pages/partials/builder/digitalocean/Config-not-required.mdx +++ b/website/pages/partials/builder/digitalocean/Config-not-required.mdx @@ -1,46 +1,45 @@ -- `api_url` (string) - Non standard api endpoint URL. Set this if you are - using a DigitalOcean API compatible service. It can also be specified via - environment variable DIGITALOCEAN_API_URL. - -- `private_networking` (bool) - Set to true to enable private networking - for the droplet being created. This defaults to false, or not enabled. - -- `monitoring` (bool) - Set to true to enable monitoring for the droplet - being created. This defaults to false, or not enabled. - -- `ipv6` (bool) - Set to true to enable ipv6 for the droplet being - created. This defaults to false, or not enabled. - -- `snapshot_name` (string) - The name of the resulting snapshot that will - appear in your account. Defaults to `packer-{{timestamp}}` (see - configuration templates for more info). - -- `snapshot_regions` ([]string) - The regions of the resulting - snapshot that will appear in your account. - -- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait, as a duration string, for a - droplet to enter a desired state (such as "active") before timing out. The - default state timeout is "6m". - -- `snapshot_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image - gallery before timing out. If your Packer build is failing on the - Publishing to Shared Image Gallery step with the error `Original Error: - context deadline exceeded`, but the image is present when you check your - Azure dashboard, then you probably need to increase this timeout from - its default of "60m" (valid time units include `s` for seconds, `m` for - minutes, and `h` for hours.) - -- `droplet_name` (string) - The name assigned to the droplet. DigitalOcean - sets the hostname of the machine to this value. - -- `user_data` (string) - User data to launch with the Droplet. Packer will - not automatically wait for a user script to finish before shutting down the - instance this must be handled in a provisioner. - -- `user_data_file` (string) - Path to a file that will be used for the user - data when launching the Droplet. - -- `tags` ([]string) - Tags to apply to the droplet when it is created - \ No newline at end of file +- `api_url` (string) - Non standard api endpoint URL. Set this if you are + using a DigitalOcean API compatible service. It can also be specified via + environment variable DIGITALOCEAN_API_URL. + +- `private_networking` (bool) - Set to true to enable private networking + for the droplet being created. This defaults to false, or not enabled. + +- `monitoring` (bool) - Set to true to enable monitoring for the droplet + being created. This defaults to false, or not enabled. + +- `ipv6` (bool) - Set to true to enable ipv6 for the droplet being + created. This defaults to false, or not enabled. + +- `snapshot_name` (string) - The name of the resulting snapshot that will + appear in your account. Defaults to `packer-{{timestamp}}` (see + configuration templates for more info). + +- `snapshot_regions` ([]string) - The regions of the resulting + snapshot that will appear in your account. + +- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait, as a duration string, for a + droplet to enter a desired state (such as "active") before timing out. The + default state timeout is "6m". + +- `snapshot_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image + gallery before timing out. If your Packer build is failing on the + Publishing to Shared Image Gallery step with the error `Original Error: + context deadline exceeded`, but the image is present when you check your + Azure dashboard, then you probably need to increase this timeout from + its default of "60m" (valid time units include `s` for seconds, `m` for + minutes, and `h` for hours.) + +- `droplet_name` (string) - The name assigned to the droplet. DigitalOcean + sets the hostname of the machine to this value. + +- `user_data` (string) - User data to launch with the Droplet. Packer will + not automatically wait for a user script to finish before shutting down the + instance this must be handled in a provisioner. + +- `user_data_file` (string) - Path to a file that will be used for the user + data when launching the Droplet. + +- `tags` ([]string) - Tags to apply to the droplet when it is created diff --git a/website/pages/partials/builder/digitalocean/Config-required.mdx b/website/pages/partials/builder/digitalocean/Config-required.mdx index 88c758b67..79df1f162 100644 --- a/website/pages/partials/builder/digitalocean/Config-required.mdx +++ b/website/pages/partials/builder/digitalocean/Config-required.mdx @@ -1,21 +1,20 @@ -- `api_token` (string) - The client TOKEN to use to access your account. It - can also be specified via environment variable DIGITALOCEAN_API_TOKEN, if - set. - -- `region` (string) - The name (or slug) of the region to launch the droplet - in. Consequently, this is the region where the snapshot will be available. - See - https://developers.digitalocean.com/documentation/v2/#list-all-regions - for the accepted region names/slugs. - -- `size` (string) - The name (or slug) of the droplet size to use. See - https://developers.digitalocean.com/documentation/v2/#list-all-sizes - for the accepted size names/slugs. - -- `image` (string) - The name (or slug) of the base image to use. This is the - image that will be used to launch a new droplet and provision it. See - https://developers.digitalocean.com/documentation/v2/#list-all-images - for details on how to get a list of the accepted image names/slugs. - \ No newline at end of file +- `api_token` (string) - The client TOKEN to use to access your account. It + can also be specified via environment variable DIGITALOCEAN_API_TOKEN, if + set. + +- `region` (string) - The name (or slug) of the region to launch the droplet + in. Consequently, this is the region where the snapshot will be available. + See + https://developers.digitalocean.com/documentation/v2/#list-all-regions + for the accepted region names/slugs. + +- `size` (string) - The name (or slug) of the droplet size to use. See + https://developers.digitalocean.com/documentation/v2/#list-all-sizes + for the accepted size names/slugs. + +- `image` (string) - The name (or slug) of the base image to use. This is the + image that will be used to launch a new droplet and provision it. See + https://developers.digitalocean.com/documentation/v2/#list-all-images + for details on how to get a list of the accepted image names/slugs. diff --git a/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx b/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx index a07f57845..db9a8bfa3 100644 --- a/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx +++ b/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx @@ -1,19 +1,18 @@ -- `aws_access_key` (string) - The AWS access key used to communicate with - AWS. Learn how to set - this. - -- `aws_secret_key` (string) - The AWS secret key used to communicate with - AWS. Learn how to set - this. - -- `aws_token` (string) - The AWS access token to use. This is different from - the access key and secret key. If you're not sure what this is, then you - probably don't need it. This will also be read from the AWS_SESSION_TOKEN - environmental variable. - -- `aws_profile` (string) - The AWS shared credentials profile used to - communicate with AWS. Learn how to set - this. - \ No newline at end of file +- `aws_access_key` (string) - The AWS access key used to communicate with + AWS. Learn how to set + this. + +- `aws_secret_key` (string) - The AWS secret key used to communicate with + AWS. Learn how to set + this. + +- `aws_token` (string) - The AWS access token to use. This is different from + the access key and secret key. If you're not sure what this is, then you + probably don't need it. This will also be read from the AWS_SESSION_TOKEN + environmental variable. + +- `aws_profile` (string) - The AWS shared credentials profile used to + communicate with AWS. Learn how to set + this. diff --git a/website/pages/partials/builder/docker/Config-not-required.mdx b/website/pages/partials/builder/docker/Config-not-required.mdx index a22d89e36..fc152f142 100644 --- a/website/pages/partials/builder/docker/Config-not-required.mdx +++ b/website/pages/partials/builder/docker/Config-not-required.mdx @@ -1,62 +1,61 @@ -- `author` (string) - Set the author (e-mail) of a commit. - -- `changes` ([]string) - Dockerfile instructions to add to the commit. Example of instructions - are CMD, ENTRYPOINT, ENV, and EXPOSE. Example: [ "USER ubuntu", "WORKDIR - /app", "EXPOSE 8080" ] - -- `container_dir` (string) - The directory inside container to mount temp directory from host server - for work [file provisioner](/docs/provisioners/file). This defaults - to c:/packer-files on windows and /packer-files on other systems. - -- `exec_user` (string) - Username (UID) to run remote commands with. You can also set the group - name/ID if you want: (UID or UID:GID). You may need this if you get - permission errors trying to run the shell or other provisioners. - -- `privileged` (bool) - If true, run the docker container with the `--privileged` flag. This - defaults to false if not set. - -- `pull` (bool) - If true, the configured image will be pulled using `docker pull` prior - to use. Otherwise, it is assumed the image already exists and can be - used. This defaults to true if not set. - -- `run_command` ([]string) - An array of arguments to pass to docker run in order to run the - container. By default this is set to `["-d", "-i", "-t", - "--entrypoint=/bin/sh", "--", "{{.Image}}"]` if you are using a linux - container, and `["-d", "-i", "-t", "--entrypoint=powershell", "--", - "{{.Image}}"]` if you are running a windows container. `{{.Image}}` is a - template variable that corresponds to the image template option. Passing - the entrypoint option this way will make it the default entrypoint of - the resulting image, so running docker run -it --rm will start the - docker image from the /bin/sh shell interpreter; you could run a script - or another shell by running docker run -it --rm -c /bin/bash. If your - docker image embeds a binary intended to be run often, you should - consider changing the default entrypoint to point to it. - -- `volumes` (map[string]string) - A mapping of additional volumes to mount into this container. The key of - the object is the host path, the value is the container path. - -- `fix_upload_owner` (bool) - If true, files uploaded to the container will be owned by the user the - container is running as. If false, the owner will depend on the version - of docker installed in the system. Defaults to true. - -- `windows_container` (bool) - If "true", tells Packer that you are building a Windows container - running on a windows host. This is necessary for building Windows - containers, because our normal docker bindings do not work for them. - -- `login` (bool) - This is used to login to dockerhub to pull a private base container. For - pushing to dockerhub, see the docker post-processors - -- `login_password` (string) - The password to use to authenticate to login. - -- `login_server` (string) - The server address to login to. - -- `login_username` (string) - The username to use to authenticate to login. - -- `ecr_login` (bool) - Defaults to false. If true, the builder will login in order to pull the - image from Amazon EC2 Container Registry (ECR). The builder only logs in - for the duration of the pull. If true login_server is required and - login, login_username, and login_password will be ignored. For more - information see the section on ECR. - \ No newline at end of file +- `author` (string) - Set the author (e-mail) of a commit. + +- `changes` ([]string) - Dockerfile instructions to add to the commit. Example of instructions + are CMD, ENTRYPOINT, ENV, and EXPOSE. Example: [ "USER ubuntu", "WORKDIR + /app", "EXPOSE 8080" ] + +- `container_dir` (string) - The directory inside container to mount temp directory from host server + for work [file provisioner](/docs/provisioners/file). This defaults + to c:/packer-files on windows and /packer-files on other systems. + +- `exec_user` (string) - Username (UID) to run remote commands with. You can also set the group + name/ID if you want: (UID or UID:GID). You may need this if you get + permission errors trying to run the shell or other provisioners. + +- `privileged` (bool) - If true, run the docker container with the `--privileged` flag. This + defaults to false if not set. + +- `pull` (bool) - If true, the configured image will be pulled using `docker pull` prior + to use. Otherwise, it is assumed the image already exists and can be + used. This defaults to true if not set. + +- `run_command` ([]string) - An array of arguments to pass to docker run in order to run the + container. By default this is set to `["-d", "-i", "-t", + "--entrypoint=/bin/sh", "--", "{{.Image}}"]` if you are using a linux + container, and `["-d", "-i", "-t", "--entrypoint=powershell", "--", + "{{.Image}}"]` if you are running a windows container. `{{.Image}}` is a + template variable that corresponds to the image template option. Passing + the entrypoint option this way will make it the default entrypoint of + the resulting image, so running docker run -it --rm will start the + docker image from the /bin/sh shell interpreter; you could run a script + or another shell by running docker run -it --rm -c /bin/bash. If your + docker image embeds a binary intended to be run often, you should + consider changing the default entrypoint to point to it. + +- `volumes` (map[string]string) - A mapping of additional volumes to mount into this container. The key of + the object is the host path, the value is the container path. + +- `fix_upload_owner` (bool) - If true, files uploaded to the container will be owned by the user the + container is running as. If false, the owner will depend on the version + of docker installed in the system. Defaults to true. + +- `windows_container` (bool) - If "true", tells Packer that you are building a Windows container + running on a windows host. This is necessary for building Windows + containers, because our normal docker bindings do not work for them. + +- `login` (bool) - This is used to login to dockerhub to pull a private base container. For + pushing to dockerhub, see the docker post-processors + +- `login_password` (string) - The password to use to authenticate to login. + +- `login_server` (string) - The server address to login to. + +- `login_username` (string) - The username to use to authenticate to login. + +- `ecr_login` (bool) - Defaults to false. If true, the builder will login in order to pull the + image from Amazon EC2 Container Registry (ECR). The builder only logs in + for the duration of the pull. If true login_server is required and + login, login_username, and login_password will be ignored. For more + information see the section on ECR. diff --git a/website/pages/partials/builder/docker/Config-required.mdx b/website/pages/partials/builder/docker/Config-required.mdx index 0bc032777..0ce9b639a 100644 --- a/website/pages/partials/builder/docker/Config-required.mdx +++ b/website/pages/partials/builder/docker/Config-required.mdx @@ -1,15 +1,14 @@ -- `commit` (bool) - If true, the container will be committed to an image rather than exported. - -- `discard` (bool) - Throw away the container when the build is complete. This is useful for - the [artifice - post-processor](/docs/post-processors/artifice). - -- `export_path` (string) - The path where the final container will be exported as a tar file. - -- `image` (string) - The base image for the Docker container that will be started. This image - will be pulled from the Docker registry if it doesn't already exist. - -- `message` (string) - Set a message for the commit. - \ No newline at end of file +- `commit` (bool) - If true, the container will be committed to an image rather than exported. + +- `discard` (bool) - Throw away the container when the build is complete. This is useful for + the [artifice + post-processor](/docs/post-processors/artifice). + +- `export_path` (string) - The path where the final container will be exported as a tar file. + +- `image` (string) - The base image for the Docker container that will be started. This image + will be pulled from the Docker registry if it doesn't already exist. + +- `message` (string) - Set a message for the commit. diff --git a/website/pages/partials/builder/googlecompute/Config-not-required.mdx b/website/pages/partials/builder/googlecompute/Config-not-required.mdx index a2d267c91..93bf7500a 100644 --- a/website/pages/partials/builder/googlecompute/Config-not-required.mdx +++ b/website/pages/partials/builder/googlecompute/Config-not-required.mdx @@ -1,234 +1,233 @@ -- `account_file` (string) - The JSON file containing your account credentials. Not required if you - run Packer on a GCE instance with a service account. Instructions for - creating the file or using service accounts are above. - -- `accelerator_type` (string) - Full or partial URL of the guest accelerator type. GPU accelerators can - only be used with `"on_host_maintenance": "TERMINATE"` option set. - Example: - `"projects/project_id/zones/europe-west1-b/acceleratorTypes/nvidia-tesla-k80"` - -- `accelerator_count` (int64) - Number of guest accelerator cards to add to the launched instance. - -- `address` (string) - The name of a pre-allocated static external IP address. Note, must be - the name and not the actual IP address. - -- `disable_default_service_account` (bool) - If true, the default service account will not be used if - service_account_email is not specified. Set this value to true and omit - service_account_email to provision a VM with no service account. - -- `disk_name` (string) - The name of the disk, if unset the instance name will be used. - -- `disk_size` (int64) - The size of the disk in GB. This defaults to 10, which is 10GB. - -- `disk_type` (string) - Type of disk used to back your instance, like pd-ssd or pd-standard. - Defaults to pd-standard. - -- `enable_secure_boot` (bool) - Create a Shielded VM image with Secure Boot enabled. It helps ensure that - the system only runs authentic software by verifying the digital signature - of all boot components, and halting the boot process if signature verification - fails. [Details](https://cloud.google.com/security/shielded-cloud/shielded-vm) - -- `enable_vtpm` (bool) - Create a Shielded VM image with virtual trusted platform module - Measured Boot enabled. A vTPM is a virtualized trusted platform module, - which is a specialized computer chip you can use to protect objects, - like keys and certificates, that you use to authenticate access to your - system. [Details](https://cloud.google.com/security/shielded-cloud/shielded-vm) - -- `enable_integrity_monitoring` (bool) - Integrity monitoring helps you understand and make decisions about the - state of your VM instances. Note: integrity monitoring relies on having - vTPM enabled. [Details](https://cloud.google.com/security/shielded-cloud/shielded-vm) - -- `image_name` (string) - The unique name of the resulting image. Defaults to - `packer-{{timestamp}}`. - -- `image_description` (string) - The description of the resulting image. - -- `image_encryption_key` (\*CustomerEncryptionKey) - Image encryption key to apply to the created image. Possible values: - * kmsKeyName - The name of the encryption key that is stored in Google Cloud KMS. - * RawKey: - A 256-bit customer-supplied encryption key, encodes in RFC 4648 base64. - - example: - - ```json - { - "kmsKeyName": "projects/${project}/locations/${region}/keyRings/computeEngine/cryptoKeys/computeEngine/cryptoKeyVersions/4" - } - ``` - -- `image_family` (string) - The name of the image family to which the resulting image belongs. You - can create disks by specifying an image family instead of a specific - image name. The image family always returns its latest image that is not - deprecated. - -- `image_labels` (map[string]string) - Key/value pair labels to apply to the created image. - -- `image_licenses` ([]string) - Licenses to apply to the created image. - -- `image_storage_locations` ([]string) - Storage location, either regional or multi-regional, where snapshot - content is to be stored and only accepts 1 value. Always defaults to a nearby regional or multi-regional - location. - - multi-regional example: - - ```json - { - "image_storage_locations": ["us"] - } - ``` - regional example: - - ```json - { - "image_storage_locations": ["us-east1"] - } - ``` - -- `instance_name` (string) - A name to give the launched instance. Beware that this must be unique. - Defaults to `packer-{{uuid}}`. - -- `labels` (map[string]string) - Key/value pair labels to apply to the launched instance. - -- `machine_type` (string) - The machine type. Defaults to "n1-standard-1". - -- `metadata` (map[string]string) - Metadata applied to the launched instance. - All metadata configuration values are expected to be of type string. - Google metadata options that take a value of `TRUE` or `FALSE` should be - set as a string (i.e `"TRUE"` `"FALSE"` or `"true"` `"false"`). - -- `metadata_files` (map[string]string) - Metadata applied to the launched instance. Values are files. - -- `min_cpu_platform` (string) - A Minimum CPU Platform for VM Instance. Availability and default CPU - platforms vary across zones, based on the hardware available in each GCP - zone. - [Details](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) - -- `network` (string) - The Google Compute network id or URL to use for the launched instance. - Defaults to "default". If the value is not a URL, it will be - interpolated to - `projects/((network_project_id))/global/networks/((network))`. This value - is not required if a subnet is specified. - -- `network_project_id` (string) - The project ID for the network and subnetwork to use for launched - instance. Defaults to project_id. - -- `omit_external_ip` (bool) - If true, the instance will not have an external IP. use_internal_ip must - be true if this property is true. - -- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid choices are `MIGRATE` and - `TERMINATE`. Please see [GCE Instance Scheduling - Options](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options), - as not all machine\_types support `MIGRATE` (i.e. machines with GPUs). - If preemptible is true this can only be `TERMINATE`. If preemptible is - false, it defaults to `MIGRATE` - -- `preemptible` (bool) - If true, launch a preemptible instance. - -- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. Defaults to "5m". - -- `region` (string) - The region in which to launch the instance. Defaults to the region - hosting the specified zone. - -- `scopes` ([]string) - The service account scopes for launched - instance. Defaults to: - - ```json - [ - "https://www.googleapis.com/auth/userinfo.email", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/devstorage.full_control" - ] - ``` - -- `service_account_email` (string) - The service account to be used for launched instance. Defaults to the - project's default service account unless disable_default_service_account - is true. - -- `source_image_project_id` ([]string) - A list of project IDs to search for the source image. Packer will search the first - project ID in the list first, and fall back to the next in the list, until it finds the source image. - -- `startup_script_file` (string) - The path to a startup script to run on the launched instance from which the image will - be made. When set, the contents of the startup script file will be added to the instance metadata - under the `"startup_script"` metadata property. See [Providing startup script contents directly](https://cloud.google.com/compute/docs/startupscript#providing_startup_script_contents_directly) for more details. - - When using `startup_script_file` the following rules apply: - - The contents of the script file will overwrite the value of the `"startup_script"` metadata property at runtime. - - The contents of the script file will be wrapped in Packer's startup script wrapper, unless `wrap_startup_script` is disabled. See `wrap_startup_script` for more details. - - Not supported by Windows instances. See [Startup Scripts for Windows](https://cloud.google.com/compute/docs/startupscript#providing_a_startup_script_for_windows_instances) for more details. - -- `wrap_startup_script` (boolean) - For backwards compatibility this option defaults to `"true"` in the future it will default to `"false"`. - If "true", the contents of `startup_script_file` or `"startup_script"` in the instance metadata - is wrapped in a Packer specific script that tracks the execution and completion of the provided - startup script. The wrapper ensures that the builder will not continue until the startup script has been executed. - - The use of the wrapped script file requires that the user or service account - running the build has the compute.instance.Metadata role. - -- `subnetwork` (string) - The Google Compute subnetwork id or URL to use for the launched - instance. Only required if the network has been created with custom - subnetting. Note, the region of the subnetwork must match the region or - zone in which the VM is launched. If the value is not a URL, it will be - interpolated to - `projects/((network_project_id))/regions/((region))/subnetworks/((subnetwork))` - -- `tags` ([]string) - Assign network tags to apply firewall rules to VM instance. - -- `use_internal_ip` (bool) - If true, use the instance's internal IP instead of its external IP - during building. - -- `use_os_login` (bool) - If true, OSLogin will be used to manage SSH access to the compute instance by - dynamically importing a temporary SSH key to the Google account's login profile, - and setting the `enable-oslogin` to `TRUE` in the instance metadata. - Optionally, `use_os_login` can be used with an existing `ssh_username` and `ssh_private_key_file` - if a SSH key has already been added to the Google account's login profile - See [Adding SSH Keys](https://cloud.google.com/compute/docs/instances/managing-instance-access#add_oslogin_keys). - - SSH keys can be added to an individual user account - - ```shell-session - $ gcloud compute os-login ssh-keys add --key-file=/home/user/.ssh/my-key.pub - - $ gcloud compute os-login describe-profile - PosixAccounts: - - accountId: - gid: '34567890754' - homeDirectory: /home/user_example_com - ... - primary: true - uid: '2504818925' - username: /home/user_example_com - sshPublicKeys: - 000000000000000000000000000000000000000000000000000000000000000a: - fingerprint: 000000000000000000000000000000000000000000000000000000000000000a - ``` - - Or SSH keys can be added to an associated service account - ```shell-session - $ gcloud auth activate-service-account --key-file= - $ gcloud compute os-login ssh-keys add --key-file=/home/user/.ssh/my-key.pub - - $ gcloud compute os-login describe-profile - PosixAccounts: - - accountId: - gid: '34567890754' - homeDirectory: /home/sa_000000000000000000000 - ... - primary: true - uid: '2504818925' - username: sa_000000000000000000000 - sshPublicKeys: - 000000000000000000000000000000000000000000000000000000000000000a: - fingerprint: 000000000000000000000000000000000000000000000000000000000000000a - ``` - -- `vault_gcp_oauth_engine` (string) - Can be set instead of account_file. If set, this builder will use - HashiCorp Vault to generate an Oauth token for authenticating against - Google's cloud. The value should be the path of the token generator - within vault. - For information on how to configure your Vault + GCP engine to produce - Oauth tokens, see https://www.vaultproject.io/docs/auth/gcp - You must have the environment variables VAULT_ADDR and VAULT_TOKEN set, - along with any other relevant variables for accessing your vault - instance. For more information, see the Vault docs: - https://www.vaultproject.io/docs/commands/#environment-variables - Example:`"vault_gcp_oauth_engine": "gcp/token/my-project-editor",` - \ No newline at end of file +- `account_file` (string) - The JSON file containing your account credentials. Not required if you + run Packer on a GCE instance with a service account. Instructions for + creating the file or using service accounts are above. + +- `accelerator_type` (string) - Full or partial URL of the guest accelerator type. GPU accelerators can + only be used with `"on_host_maintenance": "TERMINATE"` option set. + Example: + `"projects/project_id/zones/europe-west1-b/acceleratorTypes/nvidia-tesla-k80"` + +- `accelerator_count` (int64) - Number of guest accelerator cards to add to the launched instance. + +- `address` (string) - The name of a pre-allocated static external IP address. Note, must be + the name and not the actual IP address. + +- `disable_default_service_account` (bool) - If true, the default service account will not be used if + service_account_email is not specified. Set this value to true and omit + service_account_email to provision a VM with no service account. + +- `disk_name` (string) - The name of the disk, if unset the instance name will be used. + +- `disk_size` (int64) - The size of the disk in GB. This defaults to 10, which is 10GB. + +- `disk_type` (string) - Type of disk used to back your instance, like pd-ssd or pd-standard. + Defaults to pd-standard. + +- `enable_secure_boot` (bool) - Create a Shielded VM image with Secure Boot enabled. It helps ensure that + the system only runs authentic software by verifying the digital signature + of all boot components, and halting the boot process if signature verification + fails. [Details](https://cloud.google.com/security/shielded-cloud/shielded-vm) + +- `enable_vtpm` (bool) - Create a Shielded VM image with virtual trusted platform module + Measured Boot enabled. A vTPM is a virtualized trusted platform module, + which is a specialized computer chip you can use to protect objects, + like keys and certificates, that you use to authenticate access to your + system. [Details](https://cloud.google.com/security/shielded-cloud/shielded-vm) + +- `enable_integrity_monitoring` (bool) - Integrity monitoring helps you understand and make decisions about the + state of your VM instances. Note: integrity monitoring relies on having + vTPM enabled. [Details](https://cloud.google.com/security/shielded-cloud/shielded-vm) + +- `image_name` (string) - The unique name of the resulting image. Defaults to + `packer-{{timestamp}}`. + +- `image_description` (string) - The description of the resulting image. + +- `image_encryption_key` (\*CustomerEncryptionKey) - Image encryption key to apply to the created image. Possible values: + * kmsKeyName - The name of the encryption key that is stored in Google Cloud KMS. + * RawKey: - A 256-bit customer-supplied encryption key, encodes in RFC 4648 base64. + + example: + + ```json + { + "kmsKeyName": "projects/${project}/locations/${region}/keyRings/computeEngine/cryptoKeys/computeEngine/cryptoKeyVersions/4" + } + ``` + +- `image_family` (string) - The name of the image family to which the resulting image belongs. You + can create disks by specifying an image family instead of a specific + image name. The image family always returns its latest image that is not + deprecated. + +- `image_labels` (map[string]string) - Key/value pair labels to apply to the created image. + +- `image_licenses` ([]string) - Licenses to apply to the created image. + +- `image_storage_locations` ([]string) - Storage location, either regional or multi-regional, where snapshot + content is to be stored and only accepts 1 value. Always defaults to a nearby regional or multi-regional + location. + + multi-regional example: + + ```json + { + "image_storage_locations": ["us"] + } + ``` + regional example: + + ```json + { + "image_storage_locations": ["us-east1"] + } + ``` + +- `instance_name` (string) - A name to give the launched instance. Beware that this must be unique. + Defaults to `packer-{{uuid}}`. + +- `labels` (map[string]string) - Key/value pair labels to apply to the launched instance. + +- `machine_type` (string) - The machine type. Defaults to "n1-standard-1". + +- `metadata` (map[string]string) - Metadata applied to the launched instance. + All metadata configuration values are expected to be of type string. + Google metadata options that take a value of `TRUE` or `FALSE` should be + set as a string (i.e `"TRUE"` `"FALSE"` or `"true"` `"false"`). + +- `metadata_files` (map[string]string) - Metadata applied to the launched instance. Values are files. + +- `min_cpu_platform` (string) - A Minimum CPU Platform for VM Instance. Availability and default CPU + platforms vary across zones, based on the hardware available in each GCP + zone. + [Details](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + +- `network` (string) - The Google Compute network id or URL to use for the launched instance. + Defaults to "default". If the value is not a URL, it will be + interpolated to + `projects/((network_project_id))/global/networks/((network))`. This value + is not required if a subnet is specified. + +- `network_project_id` (string) - The project ID for the network and subnetwork to use for launched + instance. Defaults to project_id. + +- `omit_external_ip` (bool) - If true, the instance will not have an external IP. use_internal_ip must + be true if this property is true. + +- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid choices are `MIGRATE` and + `TERMINATE`. Please see [GCE Instance Scheduling + Options](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options), + as not all machine\_types support `MIGRATE` (i.e. machines with GPUs). + If preemptible is true this can only be `TERMINATE`. If preemptible is + false, it defaults to `MIGRATE` + +- `preemptible` (bool) - If true, launch a preemptible instance. + +- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. Defaults to "5m". + +- `region` (string) - The region in which to launch the instance. Defaults to the region + hosting the specified zone. + +- `scopes` ([]string) - The service account scopes for launched + instance. Defaults to: + + ```json + [ + "https://www.googleapis.com/auth/userinfo.email", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/devstorage.full_control" + ] + ``` + +- `service_account_email` (string) - The service account to be used for launched instance. Defaults to the + project's default service account unless disable_default_service_account + is true. + +- `source_image_project_id` ([]string) - A list of project IDs to search for the source image. Packer will search the first + project ID in the list first, and fall back to the next in the list, until it finds the source image. + +- `startup_script_file` (string) - The path to a startup script to run on the launched instance from which the image will + be made. When set, the contents of the startup script file will be added to the instance metadata + under the `"startup_script"` metadata property. See [Providing startup script contents directly](https://cloud.google.com/compute/docs/startupscript#providing_startup_script_contents_directly) for more details. + + When using `startup_script_file` the following rules apply: + - The contents of the script file will overwrite the value of the `"startup_script"` metadata property at runtime. + - The contents of the script file will be wrapped in Packer's startup script wrapper, unless `wrap_startup_script` is disabled. See `wrap_startup_script` for more details. + - Not supported by Windows instances. See [Startup Scripts for Windows](https://cloud.google.com/compute/docs/startupscript#providing_a_startup_script_for_windows_instances) for more details. + +- `wrap_startup_script` (boolean) - For backwards compatibility this option defaults to `"true"` in the future it will default to `"false"`. + If "true", the contents of `startup_script_file` or `"startup_script"` in the instance metadata + is wrapped in a Packer specific script that tracks the execution and completion of the provided + startup script. The wrapper ensures that the builder will not continue until the startup script has been executed. + - The use of the wrapped script file requires that the user or service account + running the build has the compute.instance.Metadata role. + +- `subnetwork` (string) - The Google Compute subnetwork id or URL to use for the launched + instance. Only required if the network has been created with custom + subnetting. Note, the region of the subnetwork must match the region or + zone in which the VM is launched. If the value is not a URL, it will be + interpolated to + `projects/((network_project_id))/regions/((region))/subnetworks/((subnetwork))` + +- `tags` ([]string) - Assign network tags to apply firewall rules to VM instance. + +- `use_internal_ip` (bool) - If true, use the instance's internal IP instead of its external IP + during building. + +- `use_os_login` (bool) - If true, OSLogin will be used to manage SSH access to the compute instance by + dynamically importing a temporary SSH key to the Google account's login profile, + and setting the `enable-oslogin` to `TRUE` in the instance metadata. + Optionally, `use_os_login` can be used with an existing `ssh_username` and `ssh_private_key_file` + if a SSH key has already been added to the Google account's login profile - See [Adding SSH Keys](https://cloud.google.com/compute/docs/instances/managing-instance-access#add_oslogin_keys). + + SSH keys can be added to an individual user account + + ```shell-session + $ gcloud compute os-login ssh-keys add --key-file=/home/user/.ssh/my-key.pub + + $ gcloud compute os-login describe-profile + PosixAccounts: + - accountId: + gid: '34567890754' + homeDirectory: /home/user_example_com + ... + primary: true + uid: '2504818925' + username: /home/user_example_com + sshPublicKeys: + 000000000000000000000000000000000000000000000000000000000000000a: + fingerprint: 000000000000000000000000000000000000000000000000000000000000000a + ``` + + Or SSH keys can be added to an associated service account + ```shell-session + $ gcloud auth activate-service-account --key-file= + $ gcloud compute os-login ssh-keys add --key-file=/home/user/.ssh/my-key.pub + + $ gcloud compute os-login describe-profile + PosixAccounts: + - accountId: + gid: '34567890754' + homeDirectory: /home/sa_000000000000000000000 + ... + primary: true + uid: '2504818925' + username: sa_000000000000000000000 + sshPublicKeys: + 000000000000000000000000000000000000000000000000000000000000000a: + fingerprint: 000000000000000000000000000000000000000000000000000000000000000a + ``` + +- `vault_gcp_oauth_engine` (string) - Can be set instead of account_file. If set, this builder will use + HashiCorp Vault to generate an Oauth token for authenticating against + Google's cloud. The value should be the path of the token generator + within vault. + For information on how to configure your Vault + GCP engine to produce + Oauth tokens, see https://www.vaultproject.io/docs/auth/gcp + You must have the environment variables VAULT_ADDR and VAULT_TOKEN set, + along with any other relevant variables for accessing your vault + instance. For more information, see the Vault docs: + https://www.vaultproject.io/docs/commands/#environment-variables + Example:`"vault_gcp_oauth_engine": "gcp/token/my-project-editor",` diff --git a/website/pages/partials/builder/googlecompute/Config-required.mdx b/website/pages/partials/builder/googlecompute/Config-required.mdx index 3f364dd3b..ba9e0c308 100644 --- a/website/pages/partials/builder/googlecompute/Config-required.mdx +++ b/website/pages/partials/builder/googlecompute/Config-required.mdx @@ -1,16 +1,15 @@ -- `project_id` (string) - The project ID that will be used to launch instances and store images. - -- `source_image` (string) - The source image to use to create the new image from. You can also - specify source_image_family instead. If both source_image and - source_image_family are specified, source_image takes precedence. - Example: "debian-8-jessie-v20161027" - -- `source_image_family` (string) - The source image family to use to create the new image from. The image - family always returns its latest image that is not deprecated. Example: - "debian-8". - -- `zone` (string) - The zone in which to launch the instance used to create the image. - Example: "us-central1-a" - \ No newline at end of file +- `project_id` (string) - The project ID that will be used to launch instances and store images. + +- `source_image` (string) - The source image to use to create the new image from. You can also + specify source_image_family instead. If both source_image and + source_image_family are specified, source_image takes precedence. + Example: "debian-8-jessie-v20161027" + +- `source_image_family` (string) - The source image family to use to create the new image from. The image + family always returns its latest image that is not deprecated. Example: + "debian-8". + +- `zone` (string) - The zone in which to launch the instance used to create the image. + Example: "us-central1-a" diff --git a/website/pages/partials/builder/googlecompute/Config.mdx b/website/pages/partials/builder/googlecompute/Config.mdx index 63b5232d7..f78d2a727 100644 --- a/website/pages/partials/builder/googlecompute/Config.mdx +++ b/website/pages/partials/builder/googlecompute/Config.mdx @@ -1,4 +1,5 @@ + Config is the configuration structure for the GCE builder. It stores both the publicly settable state as well as the privately generated state of the config object. diff --git a/website/pages/partials/builder/googlecompute/IAPConfig-not-required.mdx b/website/pages/partials/builder/googlecompute/IAPConfig-not-required.mdx index 28bdeb1d7..6158bb52e 100644 --- a/website/pages/partials/builder/googlecompute/IAPConfig-not-required.mdx +++ b/website/pages/partials/builder/googlecompute/IAPConfig-not-required.mdx @@ -1,25 +1,24 @@ -- `use_iap` (bool) - Whether to use an IAP proxy. - Prerequisites and limitations for using IAP: - - You must manually enable the IAP API in the Google Cloud console. - - You must have the gcloud sdk installed on the computer running Packer. - - You must be using a Service Account with a credentials file (using the - account_file option in the Packer template) - - This is currently only implemented for the SSH communicator, not the - WinRM Communicator. - - You must add the given service account to project level IAP permissions - in https://console.cloud.google.com/security/iap. To do so, click - "project" > "SSH and TCP resoures" > "All Tunnel Resources" > - "Add Member". Then add your service account and choose the role - "IAP-secured Tunnel User" and add any conditions you may care about. - -- `iap_localhost_port` (int) - Which port to connect the local end of the IAM localhost proxy to. If - left blank, Packer will choose a port for you from available ports. - -- `iap_hashbang` (string) - What "hashbang" to use to invoke script that sets up gcloud. - Default: "/bin/sh" - -- `iap_ext` (string) - What file extension to use for script that sets up gcloud. - Default: ".sh" - \ No newline at end of file +- `use_iap` (bool) - Whether to use an IAP proxy. + Prerequisites and limitations for using IAP: + - You must manually enable the IAP API in the Google Cloud console. + - You must have the gcloud sdk installed on the computer running Packer. + - You must be using a Service Account with a credentials file (using the + account_file option in the Packer template) + - This is currently only implemented for the SSH communicator, not the + WinRM Communicator. + - You must add the given service account to project level IAP permissions + in https://console.cloud.google.com/security/iap. To do so, click + "project" > "SSH and TCP resoures" > "All Tunnel Resources" > + "Add Member". Then add your service account and choose the role + "IAP-secured Tunnel User" and add any conditions you may care about. + +- `iap_localhost_port` (int) - Which port to connect the local end of the IAM localhost proxy to. If + left blank, Packer will choose a port for you from available ports. + +- `iap_hashbang` (string) - What "hashbang" to use to invoke script that sets up gcloud. + Default: "/bin/sh" + +- `iap_ext` (string) - What file extension to use for script that sets up gcloud. + Default: ".sh" diff --git a/website/pages/partials/builder/googlecompute/IAPConfig.mdx b/website/pages/partials/builder/googlecompute/IAPConfig.mdx index b43f7ce04..d32db76be 100644 --- a/website/pages/partials/builder/googlecompute/IAPConfig.mdx +++ b/website/pages/partials/builder/googlecompute/IAPConfig.mdx @@ -1,2 +1,3 @@ + StepStartTunnel represents a Packer build step that launches an IAP tunnel diff --git a/website/pages/partials/builder/hyperone/Config-not-required.mdx b/website/pages/partials/builder/hyperone/Config-not-required.mdx index 54cb7277b..862552a19 100644 --- a/website/pages/partials/builder/hyperone/Config-not-required.mdx +++ b/website/pages/partials/builder/hyperone/Config-not-required.mdx @@ -1,82 +1,90 @@ -- `api_url` (string) - Custom API endpoint URL, compatible with HyperOne. - It can also be specified via environment variable HYPERONE_API_URL. - -- `token_login` (string) - Login (an e-mail) on HyperOne platform. Set this - if you want to fetch the token by SSH authentication. - -- `state_timeout` (duration string | ex: "1h5m2s") - Timeout for waiting on the API to complete - a request. Defaults to 5m. - -- `image_name` (string) - The name of the resulting image. Defaults to - `packer-{{timestamp}}` - (see configuration templates for more info). - -- `image_description` (string) - The description of the resulting image. - -- `image_tags` (map[string]string) - Key/value pair tags to add to the created image. - -- `image_tag` ([]{key string, value string}) - Same as [`image_tags`](#image_tags) but defined as a singular repeatable - block containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `image_service` (string) - The service of the resulting image. - -- `vm_name` (string) - The name of the created server. - -- `vm_tags` (map[string]string) - Key/value pair tags to add to the created server. - -- `vm_tag` ([]{name string, value string}) - Same as [`vm_tags`](#vm_tags) but defined as a singular repeatable block - containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `disk_name` (string) - The name of the created disk. - -- `disk_type` (string) - The type of the created disk. Defaults to ssd. - -- `network` (string) - The ID of the network to attach to the created server. - -- `private_ip` (string) - The ID of the private IP within chosen network - that should be assigned to the created server. - -- `public_ip` (string) - The ID of the public IP that should be assigned to - the created server. If network is chosen, the public IP will be associated - with server's private IP. - -- `public_netadp_service` (string) - Custom service of public network adapter. - Can be useful when using custom api_url. Defaults to public. - -- `chroot_device` (string) - Chroot Device -- `chroot_disk` (bool) - Chroot Disk -- `chroot_disk_size` (float32) - Chroot Disk Size -- `chroot_disk_type` (string) - Chroot Disk Type -- `chroot_mount_path` (string) - Chroot Mount Path -- `chroot_mounts` ([][]string) - Chroot Mounts -- `chroot_copy_files` ([]string) - Chroot Copy Files -- `chroot_command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be - useful to set if you want to set environmental variables or perhaps run - it with sudo or so on. This is a configuration template where the - .Command variable is replaced with the command to be run. Defaults to - `{{.Command}}`. - -- `mount_options` ([]string) - Mount Options -- `mount_partition` (string) - Mount Partition -- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and - before mounting the chroot. This is not required unless using - from_scratch. If so, this should include any partitioning and filesystem - creation commands. The path to the device is provided by `{{.Device}}`. - -- `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the - root device and before the extra mount and copy steps. The device and - mount path are provided by `{{.Device}}` and `{{.MountPath}}`. - -- `ssh_keys` ([]string) - List of SSH keys by name or id to be added - to the server on launch. - -- `user_data` (string) - User data to launch with the server. Packer will not - automatically wait for a user script to finish before shutting down the - instance, this must be handled in a provisioner. - \ No newline at end of file +- `api_url` (string) - Custom API endpoint URL, compatible with HyperOne. + It can also be specified via environment variable HYPERONE_API_URL. + +- `token_login` (string) - Login (an e-mail) on HyperOne platform. Set this + if you want to fetch the token by SSH authentication. + +- `state_timeout` (duration string | ex: "1h5m2s") - Timeout for waiting on the API to complete + a request. Defaults to 5m. + +- `image_name` (string) - The name of the resulting image. Defaults to + `packer-{{timestamp}}` + (see configuration templates for more info). + +- `image_description` (string) - The description of the resulting image. + +- `image_tags` (map[string]string) - Key/value pair tags to add to the created image. + +- `image_tag` ([]{key string, value string}) - Same as [`image_tags`](#image_tags) but defined as a singular repeatable + block containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `image_service` (string) - The service of the resulting image. + +- `vm_name` (string) - The name of the created server. + +- `vm_tags` (map[string]string) - Key/value pair tags to add to the created server. + +- `vm_tag` ([]{name string, value string}) - Same as [`vm_tags`](#vm_tags) but defined as a singular repeatable block + containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `disk_name` (string) - The name of the created disk. + +- `disk_type` (string) - The type of the created disk. Defaults to ssd. + +- `network` (string) - The ID of the network to attach to the created server. + +- `private_ip` (string) - The ID of the private IP within chosen network + that should be assigned to the created server. + +- `public_ip` (string) - The ID of the public IP that should be assigned to + the created server. If network is chosen, the public IP will be associated + with server's private IP. + +- `public_netadp_service` (string) - Custom service of public network adapter. + Can be useful when using custom api_url. Defaults to public. + +- `chroot_device` (string) - Chroot Device + +- `chroot_disk` (bool) - Chroot Disk + +- `chroot_disk_size` (float32) - Chroot Disk Size + +- `chroot_disk_type` (string) - Chroot Disk Type + +- `chroot_mount_path` (string) - Chroot Mount Path + +- `chroot_mounts` ([][]string) - Chroot Mounts + +- `chroot_copy_files` ([]string) - Chroot Copy Files + +- `chroot_command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be + useful to set if you want to set environmental variables or perhaps run + it with sudo or so on. This is a configuration template where the + .Command variable is replaced with the command to be run. Defaults to + `{{.Command}}`. + +- `mount_options` ([]string) - Mount Options + +- `mount_partition` (string) - Mount Partition + +- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and + before mounting the chroot. This is not required unless using + from_scratch. If so, this should include any partitioning and filesystem + creation commands. The path to the device is provided by `{{.Device}}`. + +- `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the + root device and before the extra mount and copy steps. The device and + mount path are provided by `{{.Device}}` and `{{.MountPath}}`. + +- `ssh_keys` ([]string) - List of SSH keys by name or id to be added + to the server on launch. + +- `user_data` (string) - User data to launch with the server. Packer will not + automatically wait for a user script to finish before shutting down the + instance, this must be handled in a provisioner. diff --git a/website/pages/partials/builder/hyperone/Config-required.mdx b/website/pages/partials/builder/hyperone/Config-required.mdx index f5c6f4c2d..8d9846d25 100644 --- a/website/pages/partials/builder/hyperone/Config-required.mdx +++ b/website/pages/partials/builder/hyperone/Config-required.mdx @@ -1,16 +1,15 @@ -- `token` (string) - The authentication token used to access your account. - This can be either a session token or a service account token. - If not defined, the builder will attempt to find it in the following order: - -- `project` (string) - The id or name of the project. This field is required - only if using session tokens. It should be skipped when using service - account authentication. - -- `source_image` (string) - ID or name of the image to launch server from. - -- `vm_type` (string) - ID or name of the type this server should be created with. - -- `disk_size` (float32) - Size of the created disk, in GiB. - \ No newline at end of file +- `token` (string) - The authentication token used to access your account. + This can be either a session token or a service account token. + If not defined, the builder will attempt to find it in the following order: + +- `project` (string) - The id or name of the project. This field is required + only if using session tokens. It should be skipped when using service + account authentication. + +- `source_image` (string) - ID or name of the image to launch server from. + +- `vm_type` (string) - ID or name of the type this server should be created with. + +- `disk_size` (float32) - Size of the created disk, in GiB. diff --git a/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx b/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx index 80b50eb48..e3b3ed4bf 100644 --- a/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx +++ b/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx @@ -1,141 +1,141 @@ -- `disk_block_size` (uint) - The block size of the VHD to be created. - Recommended disk block size for Linux hyper-v guests is 1 MiB. This - defaults to "32" MiB. - -- `memory` (uint) - The amount, in megabytes, of RAM to assign to the - VM. By default, this is 1 GB. - -- `secondary_iso_images` ([]string) - A list of ISO paths to - attach to a VM when it is booted. This is most useful for unattended - Windows installs, which look for an Autounattend.xml file on removable - media. By default, no secondary ISO will be attached. - -- `disk_additional_size` ([]uint) - The size or sizes of any - additional hard disks for the VM in megabytes. If this is not specified - then the VM will only contain a primary hard disk. Additional drives - will be attached to the SCSI interface only. The builder uses - expandable rather than fixed-size virtual hard disks, so the actual - file representing the disk will not use the full size unless it is - full. - -- `guest_additions_mode` (string) - If set to attach then attach and - mount the ISO image specified in guest_additions_path. If set to - none then guest additions are not attached and mounted; This is the - default. - -- `guest_additions_path` (string) - The path to the ISO image for guest - additions. - -- `vm_name` (string) - This is the name of the new virtual machine, - without the file extension. By default this is "packer-BUILDNAME", - where "BUILDNAME" is the name of the build. - -- `switch_name` (string) - The name of the switch to connect the virtual - machine to. By default, leaving this value unset will cause Packer to - try and determine the switch to use by looking for an external switch - that is up and running. - -- `switch_vlan_id` (string) - This is the VLAN of the virtual switch's - network card. By default none is set. If none is set then a VLAN is not - set on the switch's network card. If this value is set it should match - the VLAN specified in by vlan_id. - -- `mac_address` (string) - This allows a specific MAC address to be used on - the default virtual network card. The MAC address must be a string with - no delimiters, for example "0000deadbeef". - -- `vlan_id` (string) - This is the VLAN of the virtual machine's network - card for the new virtual machine. By default none is set. If none is set - then VLANs are not set on the virtual machine's network card. - -- `cpus` (uint) - The number of CPUs the virtual machine should use. If - this isn't specified, the default is 1 CPU. - -- `generation` (uint) - The Hyper-V generation for the virtual machine. By - default, this is 1. Generation 2 Hyper-V virtual machines do not support - floppy drives. In this scenario use secondary_iso_images instead. Hard - drives and DVD drives will also be SCSI and not IDE. - -- `enable_mac_spoofing` (bool) - If true enable MAC address spoofing - for the virtual machine. This defaults to false. - -- `enable_dynamic_memory` (bool) - If true enable dynamic memory for - the virtual machine. This defaults to false. - -- `enable_secure_boot` (bool) - If true enable secure boot for the - virtual machine. This defaults to false. See secure_boot_template - below for additional settings. - -- `secure_boot_template` (string) - The secure boot template to be - configured. Valid values are "MicrosoftWindows" (Windows) or - "MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if - enable_secure_boot is set to "true". This defaults to "MicrosoftWindows". - -- `enable_virtualization_extensions` (bool) - If true enable - virtualization extensions for the virtual machine. This defaults to - false. For nested virtualization you need to enable MAC spoofing, - disable dynamic memory and have at least 4GB of RAM assigned to the - virtual machine. - -- `temp_path` (string) - The location under which Packer will create a directory to house all the - VM files and folders during the build. By default `%TEMP%` is used - which, for most systems, will evaluate to - `%USERPROFILE%/AppData/Local/Temp`. - - The build directory housed under `temp_path` will have a name similar to - `packerhv1234567`. The seven digit number at the end of the name is - automatically generated by Packer to ensure the directory name is - unique. - -- `configuration_version` (string) - This allows you to set the vm version when calling New-VM to generate - the vm. - -- `keep_registered` (bool) - If "true", Packer will not delete the VM from - The Hyper-V manager. - -- `communicator` (string) - Communicator -- `skip_compaction` (bool) - If true skip compacting the hard disk for - the virtual machine when exporting. This defaults to false. - -- `skip_export` (bool) - If true Packer will skip the export of the VM. - If you are interested only in the VHD/VHDX files, you can enable this - option. The resulting VHD/VHDX file will be output to - /Virtual Hard Disks. By default this option is false - and Packer will export the VM to output_directory. - -- `headless` (bool) - Packer defaults to building Hyper-V virtual - machines by launching a GUI that shows the console of the machine being - built. When this value is set to true, the machine will start without a - console. - -- `first_boot_device` (string) - When configured, determines the device or device type that is given preferential - treatment when choosing a boot device. - - For Generation 1: - - `IDE` - - `CD` *or* `DVD` - - `Floppy` - - `NET` - - For Generation 2: - - `IDE:x:y` - - `SCSI:x:y` - - `CD` *or* `DVD` - - `NET` - -- `boot_order` ([]string) - When configured, the boot order determines the order of the devices - from which to boot. - - The device name must be in the form of `SCSI:x:y`, for example, - to boot from the first scsi device use `SCSI:0:0`. - - **NB** You should also set `first_boot_device` (e.g. `DVD`). - - **NB** Although the VM will have this initial boot order, the OS can - change it, for example, Ubuntu 18.04 will modify the boot order to - include itself as the first boot option. - - **NB** This only works for Generation 2 machines. - \ No newline at end of file +- `disk_block_size` (uint) - The block size of the VHD to be created. + Recommended disk block size for Linux hyper-v guests is 1 MiB. This + defaults to "32" MiB. + +- `memory` (uint) - The amount, in megabytes, of RAM to assign to the + VM. By default, this is 1 GB. + +- `secondary_iso_images` ([]string) - A list of ISO paths to + attach to a VM when it is booted. This is most useful for unattended + Windows installs, which look for an Autounattend.xml file on removable + media. By default, no secondary ISO will be attached. + +- `disk_additional_size` ([]uint) - The size or sizes of any + additional hard disks for the VM in megabytes. If this is not specified + then the VM will only contain a primary hard disk. Additional drives + will be attached to the SCSI interface only. The builder uses + expandable rather than fixed-size virtual hard disks, so the actual + file representing the disk will not use the full size unless it is + full. + +- `guest_additions_mode` (string) - If set to attach then attach and + mount the ISO image specified in guest_additions_path. If set to + none then guest additions are not attached and mounted; This is the + default. + +- `guest_additions_path` (string) - The path to the ISO image for guest + additions. + +- `vm_name` (string) - This is the name of the new virtual machine, + without the file extension. By default this is "packer-BUILDNAME", + where "BUILDNAME" is the name of the build. + +- `switch_name` (string) - The name of the switch to connect the virtual + machine to. By default, leaving this value unset will cause Packer to + try and determine the switch to use by looking for an external switch + that is up and running. + +- `switch_vlan_id` (string) - This is the VLAN of the virtual switch's + network card. By default none is set. If none is set then a VLAN is not + set on the switch's network card. If this value is set it should match + the VLAN specified in by vlan_id. + +- `mac_address` (string) - This allows a specific MAC address to be used on + the default virtual network card. The MAC address must be a string with + no delimiters, for example "0000deadbeef". + +- `vlan_id` (string) - This is the VLAN of the virtual machine's network + card for the new virtual machine. By default none is set. If none is set + then VLANs are not set on the virtual machine's network card. + +- `cpus` (uint) - The number of CPUs the virtual machine should use. If + this isn't specified, the default is 1 CPU. + +- `generation` (uint) - The Hyper-V generation for the virtual machine. By + default, this is 1. Generation 2 Hyper-V virtual machines do not support + floppy drives. In this scenario use secondary_iso_images instead. Hard + drives and DVD drives will also be SCSI and not IDE. + +- `enable_mac_spoofing` (bool) - If true enable MAC address spoofing + for the virtual machine. This defaults to false. + +- `enable_dynamic_memory` (bool) - If true enable dynamic memory for + the virtual machine. This defaults to false. + +- `enable_secure_boot` (bool) - If true enable secure boot for the + virtual machine. This defaults to false. See secure_boot_template + below for additional settings. + +- `secure_boot_template` (string) - The secure boot template to be + configured. Valid values are "MicrosoftWindows" (Windows) or + "MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if + enable_secure_boot is set to "true". This defaults to "MicrosoftWindows". + +- `enable_virtualization_extensions` (bool) - If true enable + virtualization extensions for the virtual machine. This defaults to + false. For nested virtualization you need to enable MAC spoofing, + disable dynamic memory and have at least 4GB of RAM assigned to the + virtual machine. + +- `temp_path` (string) - The location under which Packer will create a directory to house all the + VM files and folders during the build. By default `%TEMP%` is used + which, for most systems, will evaluate to + `%USERPROFILE%/AppData/Local/Temp`. + + The build directory housed under `temp_path` will have a name similar to + `packerhv1234567`. The seven digit number at the end of the name is + automatically generated by Packer to ensure the directory name is + unique. + +- `configuration_version` (string) - This allows you to set the vm version when calling New-VM to generate + the vm. + +- `keep_registered` (bool) - If "true", Packer will not delete the VM from + The Hyper-V manager. + +- `communicator` (string) - Communicator + +- `skip_compaction` (bool) - If true skip compacting the hard disk for + the virtual machine when exporting. This defaults to false. + +- `skip_export` (bool) - If true Packer will skip the export of the VM. + If you are interested only in the VHD/VHDX files, you can enable this + option. The resulting VHD/VHDX file will be output to + /Virtual Hard Disks. By default this option is false + and Packer will export the VM to output_directory. + +- `headless` (bool) - Packer defaults to building Hyper-V virtual + machines by launching a GUI that shows the console of the machine being + built. When this value is set to true, the machine will start without a + console. + +- `first_boot_device` (string) - When configured, determines the device or device type that is given preferential + treatment when choosing a boot device. + + For Generation 1: + - `IDE` + - `CD` *or* `DVD` + - `Floppy` + - `NET` + + For Generation 2: + - `IDE:x:y` + - `SCSI:x:y` + - `CD` *or* `DVD` + - `NET` + +- `boot_order` ([]string) - When configured, the boot order determines the order of the devices + from which to boot. + + The device name must be in the form of `SCSI:x:y`, for example, + to boot from the first scsi device use `SCSI:0:0`. + + **NB** You should also set `first_boot_device` (e.g. `DVD`). + + **NB** Although the VM will have this initial boot order, the OS can + change it, for example, Ubuntu 18.04 will modify the boot order to + include itself as the first boot option. + + **NB** This only works for Generation 2 machines. diff --git a/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx index 89654a159..77f3be65d 100644 --- a/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx @@ -1,10 +1,9 @@ -- `output_directory` (string) - This setting specifies the directory that - artifacts from the build, such as the virtual machine files and disks, - will be output to. The path to the directory may be relative or - absolute. If relative, the path is relative to the working directory - packer is executed from. This directory must not exist or, if - created, must be empty prior to running the builder. By default this is - "output-BUILDNAME" where "BUILDNAME" is the name of the build. - \ No newline at end of file +- `output_directory` (string) - This setting specifies the directory that + artifacts from the build, such as the virtual machine files and disks, + will be output to. The path to the directory may be relative or + absolute. If relative, the path is relative to the working directory + packer is executed from. This directory must not exist or, if + created, must be empty prior to running the builder. By default this is + "output-BUILDNAME" where "BUILDNAME" is the name of the build. diff --git a/website/pages/partials/builder/hyperv/iso/Builder.mdx b/website/pages/partials/builder/hyperv/iso/Builder.mdx index ffb9a0873..882c75759 100644 --- a/website/pages/partials/builder/hyperv/iso/Builder.mdx +++ b/website/pages/partials/builder/hyperv/iso/Builder.mdx @@ -1,3 +1,4 @@ + Builder implements packer.Builder and builds the actual Hyperv images. diff --git a/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx b/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx index f9c805c4f..163b2b7f5 100644 --- a/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx @@ -1,23 +1,22 @@ -- `disk_size` (uint) - The size, in megabytes, of the hard disk to create - for the VM. By default, this is 40 GB. - -- `use_legacy_network_adapter` (bool) - If true use a legacy network adapter as the NIC. - This defaults to false. A legacy network adapter is fully emulated NIC, and is thus - supported by various exotic operating systems, but this emulation requires - additional overhead and should only be used if absolutely necessary. - -- `differencing_disk` (bool) - If true enables differencing disks. Only - the changes will be written to the new disk. This is especially useful if - your source is a VHD/VHDX. This defaults to false. - -- `use_fixed_vhd_format` (bool) - If true, creates the boot disk on the - virtual machine as a fixed VHD format disk. The default is false, which - creates a dynamic VHDX format disk. This option requires setting - generation to 1, skip_compaction to true, and - differencing_disk to false. Additionally, any value entered for - disk_block_size will be ignored. The most likely use case for this - option is outputing a disk that is in the format required for upload to - Azure. - \ No newline at end of file +- `disk_size` (uint) - The size, in megabytes, of the hard disk to create + for the VM. By default, this is 40 GB. + +- `use_legacy_network_adapter` (bool) - If true use a legacy network adapter as the NIC. + This defaults to false. A legacy network adapter is fully emulated NIC, and is thus + supported by various exotic operating systems, but this emulation requires + additional overhead and should only be used if absolutely necessary. + +- `differencing_disk` (bool) - If true enables differencing disks. Only + the changes will be written to the new disk. This is especially useful if + your source is a VHD/VHDX. This defaults to false. + +- `use_fixed_vhd_format` (bool) - If true, creates the boot disk on the + virtual machine as a fixed VHD format disk. The default is false, which + creates a dynamic VHDX format disk. This option requires setting + generation to 1, skip_compaction to true, and + differencing_disk to false. Additionally, any value entered for + disk_block_size will be ignored. The most likely use case for this + option is outputing a disk that is in the format required for upload to + Azure. diff --git a/website/pages/partials/builder/hyperv/vmcx/Builder.mdx b/website/pages/partials/builder/hyperv/vmcx/Builder.mdx index 5e0c3c265..339182ec8 100644 --- a/website/pages/partials/builder/hyperv/vmcx/Builder.mdx +++ b/website/pages/partials/builder/hyperv/vmcx/Builder.mdx @@ -1,3 +1,4 @@ + Builder implements packer.Builder and builds the actual Hyperv images. diff --git a/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx b/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx index 688686134..4da6bda6e 100644 --- a/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx +++ b/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx @@ -1,24 +1,23 @@ -- `clone_from_vmcx_path` (string) - This is the path to a directory containing an exported virtual machine. - -- `clone_from_vm_name` (string) - This is the name of the virtual machine to clone from. - -- `clone_from_snapshot_name` (string) - The name of a snapshot in the - source machine to use as a starting point for the clone. If the value - given is an empty string, the last snapshot present in the source will - be chosen as the starting point for the new VM. - -- `clone_all_snapshots` (bool) - If set to true all snapshots - present in the source machine will be copied when the machine is - cloned. The final result of the build will be an exported virtual - machine that contains all the snapshots of the parent. - -- `differencing_disk` (bool) - If true enables differencing disks. Only - the changes will be written to the new disk. This is especially useful if - your source is a VHD/VHDX. This defaults to false. - -- `copy_in_compare` (bool) - When cloning a vm to build from, we run a powershell - Compare-VM command, which, depending on your version of Windows, may need - the "Copy" flag to be set to true or false. Defaults to "false". Command: - \ No newline at end of file +- `clone_from_vmcx_path` (string) - This is the path to a directory containing an exported virtual machine. + +- `clone_from_vm_name` (string) - This is the name of the virtual machine to clone from. + +- `clone_from_snapshot_name` (string) - The name of a snapshot in the + source machine to use as a starting point for the clone. If the value + given is an empty string, the last snapshot present in the source will + be chosen as the starting point for the new VM. + +- `clone_all_snapshots` (bool) - If set to true all snapshots + present in the source machine will be copied when the machine is + cloned. The final result of the build will be an exported virtual + machine that contains all the snapshots of the parent. + +- `differencing_disk` (bool) - If true enables differencing disks. Only + the changes will be written to the new disk. This is especially useful if + your source is a VHD/VHDX. This defaults to false. + +- `copy_in_compare` (bool) - When cloning a vm to build from, we run a powershell + Compare-VM command, which, depending on your version of Windows, may need + the "Copy" flag to be set to true or false. Defaults to "false". Command: diff --git a/website/pages/partials/builder/lxc/Config-not-required.mdx b/website/pages/partials/builder/lxc/Config-not-required.mdx index a3a05a0a4..753a24554 100644 --- a/website/pages/partials/builder/lxc/Config-not-required.mdx +++ b/website/pages/partials/builder/lxc/Config-not-required.mdx @@ -1,41 +1,40 @@ -- `output_directory` (string) - The directory in which to save the exported - tar.gz. Defaults to `output-` in the current directory. - -- `container_name` (string) - The name of the LXC container. Usually stored - in `/var/lib/lxc/containers/`. Defaults to - `packer-`. - -- `command_wrapper` (string) - Allows you to specify a wrapper command, such - as ssh so you can execute packer builds on a remote host. Defaults to - `{{.Command}}`; i.e. no wrapper. - -- `init_timeout` (duration string | ex: "1h5m2s") - The timeout in seconds to wait for the the - container to start. Defaults to 20 seconds. - -- `create_options` ([]string) - Options to pass to lxc-create. For - instance, you can specify a custom LXC container configuration file with - ["-f", "/path/to/lxc.conf"]. Defaults to []. See man 1 lxc-create for - available options. - -- `start_options` ([]string) - Options to pass to lxc-start. For - instance, you can override parameters from the LXC container configuration - file via ["--define", "KEY=VALUE"]. Defaults to []. See - man 1 lxc-start for available options. - -- `attach_options` ([]string) - Options to pass to lxc-attach. For - instance, you can prevent the container from inheriting the host machine's - environment by specifying ["--clear-env"]. Defaults to []. See - man 1 lxc-attach for available options. - -- `template_parameters` ([]string) - Options to pass to the given - lxc-template command, usually located in - `/usr/share/lxc/templates/lxc-`. Note: This gets passed as - ARGV to the template command. Ensure you have an array of strings, as a - single string with spaces probably won't work. Defaults to []. - -- `target_runlevel` (int) - The minimum run level to wait for the - container to reach. Note some distributions (Ubuntu) simulate run levels - and may report 5 rather than 3. - \ No newline at end of file +- `output_directory` (string) - The directory in which to save the exported + tar.gz. Defaults to `output-` in the current directory. + +- `container_name` (string) - The name of the LXC container. Usually stored + in `/var/lib/lxc/containers/`. Defaults to + `packer-`. + +- `command_wrapper` (string) - Allows you to specify a wrapper command, such + as ssh so you can execute packer builds on a remote host. Defaults to + `{{.Command}}`; i.e. no wrapper. + +- `init_timeout` (duration string | ex: "1h5m2s") - The timeout in seconds to wait for the the + container to start. Defaults to 20 seconds. + +- `create_options` ([]string) - Options to pass to lxc-create. For + instance, you can specify a custom LXC container configuration file with + ["-f", "/path/to/lxc.conf"]. Defaults to []. See man 1 lxc-create for + available options. + +- `start_options` ([]string) - Options to pass to lxc-start. For + instance, you can override parameters from the LXC container configuration + file via ["--define", "KEY=VALUE"]. Defaults to []. See + man 1 lxc-start for available options. + +- `attach_options` ([]string) - Options to pass to lxc-attach. For + instance, you can prevent the container from inheriting the host machine's + environment by specifying ["--clear-env"]. Defaults to []. See + man 1 lxc-attach for available options. + +- `template_parameters` ([]string) - Options to pass to the given + lxc-template command, usually located in + `/usr/share/lxc/templates/lxc-`. Note: This gets passed as + ARGV to the template command. Ensure you have an array of strings, as a + single string with spaces probably won't work. Defaults to []. + +- `target_runlevel` (int) - The minimum run level to wait for the + container to reach. Note some distributions (Ubuntu) simulate run levels + and may report 5 rather than 3. diff --git a/website/pages/partials/builder/lxc/Config-required.mdx b/website/pages/partials/builder/lxc/Config-required.mdx index 46ef7e120..2a7e07dce 100644 --- a/website/pages/partials/builder/lxc/Config-required.mdx +++ b/website/pages/partials/builder/lxc/Config-required.mdx @@ -1,9 +1,8 @@ -- `config_file` (string) - The path to the lxc configuration file. - -- `template_name` (string) - The LXC template name to use. - -- `template_environment_vars` ([]string) - Environmental variables to - use to build the template with. - \ No newline at end of file +- `config_file` (string) - The path to the lxc configuration file. + +- `template_name` (string) - The LXC template name to use. + +- `template_environment_vars` ([]string) - Environmental variables to + use to build the template with. diff --git a/website/pages/partials/builder/lxd/Config-not-required.mdx b/website/pages/partials/builder/lxd/Config-not-required.mdx index c804822b9..8f95f14ac 100644 --- a/website/pages/partials/builder/lxd/Config-not-required.mdx +++ b/website/pages/partials/builder/lxd/Config-not-required.mdx @@ -1,23 +1,24 @@ -- `output_image` (string) - The name of the output artifact. Defaults to - name. - -- `container_name` (string) - Container Name -- `command_wrapper` (string) - Lets you prefix all builder commands, such as - with ssh for a remote build host. Defaults to `{{.Command}}`; i.e. no - wrapper. - -- `profile` (string) - Profile -- `init_sleep` (string) - The number of seconds to sleep between launching - the LXD instance and provisioning it; defaults to 3 seconds. - -- `publish_properties` (map[string]string) - Pass key values to the publish - step to be set as properties on the output image. This is most helpful to - set the description, but can be used to set anything needed. See - https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/ - for more properties. - -- `launch_config` (map[string]string) - List of key/value pairs you wish to - pass to lxc launch via --config. Defaults to empty. - \ No newline at end of file +- `output_image` (string) - The name of the output artifact. Defaults to + name. + +- `container_name` (string) - Container Name + +- `command_wrapper` (string) - Lets you prefix all builder commands, such as + with ssh for a remote build host. Defaults to `{{.Command}}`; i.e. no + wrapper. + +- `profile` (string) - Profile + +- `init_sleep` (string) - The number of seconds to sleep between launching + the LXD instance and provisioning it; defaults to 3 seconds. + +- `publish_properties` (map[string]string) - Pass key values to the publish + step to be set as properties on the output image. This is most helpful to + set the description, but can be used to set anything needed. See + https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/ + for more properties. + +- `launch_config` (map[string]string) - List of key/value pairs you wish to + pass to lxc launch via --config. Defaults to empty. diff --git a/website/pages/partials/builder/lxd/Config-required.mdx b/website/pages/partials/builder/lxd/Config-required.mdx index c99958ad1..781918447 100644 --- a/website/pages/partials/builder/lxd/Config-required.mdx +++ b/website/pages/partials/builder/lxd/Config-required.mdx @@ -1,6 +1,5 @@ -- `image` (string) - The source image to use when creating the build - container. This can be a (local or remote) image (name or fingerprint). - E.G. my-base-image, ubuntu-daily:x, 08fababf6f27, ... - \ No newline at end of file +- `image` (string) - The source image to use when creating the build + container. This can be a (local or remote) image (name or fingerprint). + E.G. my-base-image, ubuntu-daily:x, 08fababf6f27, ... diff --git a/website/pages/partials/builder/ncloud/Config-not-required.mdx b/website/pages/partials/builder/ncloud/Config-not-required.mdx index b0e934442..d25039e3e 100644 --- a/website/pages/partials/builder/ncloud/Config-not-required.mdx +++ b/website/pages/partials/builder/ncloud/Config-not-required.mdx @@ -1,32 +1,33 @@ -- `access_key` (string) - Access Key -- `secret_key` (string) - Secret Key -- `member_server_image_no` (string) - Previous image code. If there is an - image previously created, it can be used to create a new image. - (server_image_product_code is required if not specified) - -- `server_image_name` (string) - Name of an image to create. - -- `server_image_description` (string) - Description of an image to create. - -- `user_data` (string) - User data to apply when launching the instance. Note - that you need to be careful about escaping characters due to the templates - being JSON. It is often more convenient to use user_data_file, instead. - Packer will not automatically wait for a user script to finish before - shutting down the instance this must be handled in a provisioner. - -- `user_data_file` (string) - Path to a file that will be used for the user - data when launching the instance. - -- `block_storage_size` (int) - You can add block storage ranging from 10 - GB to 2000 GB, in increments of 10 GB. - -- `region` (string) - Name of the region where you want to create an image. - (default: Korea) - -- `access_control_group_configuration_no` (string) - This is used to allow - winrm access when you create a Windows server. An ACG that specifies an - access source (0.0.0.0/0) and allowed port (5985) must be created in - advance. - \ No newline at end of file +- `access_key` (string) - Access Key + +- `secret_key` (string) - Secret Key + +- `member_server_image_no` (string) - Previous image code. If there is an + image previously created, it can be used to create a new image. + (server_image_product_code is required if not specified) + +- `server_image_name` (string) - Name of an image to create. + +- `server_image_description` (string) - Description of an image to create. + +- `user_data` (string) - User data to apply when launching the instance. Note + that you need to be careful about escaping characters due to the templates + being JSON. It is often more convenient to use user_data_file, instead. + Packer will not automatically wait for a user script to finish before + shutting down the instance this must be handled in a provisioner. + +- `user_data_file` (string) - Path to a file that will be used for the user + data when launching the instance. + +- `block_storage_size` (int) - You can add block storage ranging from 10 + GB to 2000 GB, in increments of 10 GB. + +- `region` (string) - Name of the region where you want to create an image. + (default: Korea) + +- `access_control_group_configuration_no` (string) - This is used to allow + winrm access when you create a Windows server. An ACG that specifies an + access source (0.0.0.0/0) and allowed port (5985) must be created in + advance. diff --git a/website/pages/partials/builder/ncloud/Config-required.mdx b/website/pages/partials/builder/ncloud/Config-required.mdx index a30e0cf7d..a8a731a31 100644 --- a/website/pages/partials/builder/ncloud/Config-required.mdx +++ b/website/pages/partials/builder/ncloud/Config-required.mdx @@ -1,7 +1,6 @@ -- `server_image_product_code` (string) - Product code of an image to create. - (member_server_image_no is required if not specified) - -- `server_product_code` (string) - Product (spec) code to create. - \ No newline at end of file +- `server_image_product_code` (string) - Product code of an image to create. + (member_server_image_no is required if not specified) + +- `server_product_code` (string) - Product (spec) code to create. diff --git a/website/pages/partials/builder/ncloud/Config.mdx b/website/pages/partials/builder/ncloud/Config.mdx index 7a02a6c27..c44a8beb1 100644 --- a/website/pages/partials/builder/ncloud/Config.mdx +++ b/website/pages/partials/builder/ncloud/Config.mdx @@ -1,2 +1,3 @@ + Config is structure to use packer builder plugin for Naver Cloud Platform diff --git a/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx b/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx index 1c713fca0..ae008068c 100644 --- a/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx +++ b/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx @@ -1,55 +1,56 @@ -- `user_id` (string) - Sets username - -- `tenant_id` (string) - The tenant ID or name to boot the instance into. Some OpenStack - installations require this. If not specified, Packer will use the - environment variable OS_TENANT_NAME or OS_TENANT_ID, if set. Tenant is - also called Project in later versions of OpenStack. - -- `tenant_name` (string) - Tenant Name -- `domain_id` (string) - Domain ID -- `domain_name` (string) - The Domain name or ID you are authenticating with. OpenStack - installations require this if identity v3 is used. Packer will use the - environment variable OS_DOMAIN_NAME or OS_DOMAIN_ID, if set. - -- `insecure` (bool) - Whether or not the connection to OpenStack can be done over an insecure - connection. By default this is false. - -- `region` (string) - The name of the region, such as "DFW", in which to launch the server to - create the image. If not specified, Packer will use the environment - variable OS_REGION_NAME, if set. - -- `endpoint_type` (string) - The endpoint type to use. Can be any of "internal", "internalURL", - "admin", "adminURL", "public", and "publicURL". By default this is - "public". - -- `cacert` (string) - Custom CA certificate file path. If omitted the OS_CACERT environment - variable can be used. - -- `cert` (string) - Client certificate file path for SSL client authentication. If omitted - the OS_CERT environment variable can be used. - -- `key` (string) - Client private key file path for SSL client authentication. If omitted - the OS_KEY environment variable can be used. - -- `token` (string) - the token (id) to use with token based authorization. Packer will use - the environment variable OS_TOKEN, if set. - -- `application_credential_name` (string) - The application credential name to use with application credential based - authorization. Packer will use the environment variable - OS_APPLICATION_CREDENTIAL_NAME, if set. - -- `application_credential_id` (string) - The application credential id to use with application credential based - authorization. Packer will use the environment variable - OS_APPLICATION_CREDENTIAL_ID, if set. - -- `application_credential_secret` (string) - The application credential secret to use with application credential - based authorization. Packer will use the environment variable - OS_APPLICATION_CREDENTIAL_SECRET, if set. - -- `cloud` (string) - An entry in a `clouds.yaml` file. See the OpenStack os-client-config - [documentation](https://docs.openstack.org/os-client-config/latest/user/configuration.html) - for more information about `clouds.yaml` files. If omitted, the - `OS_CLOUD` environment variable is used. - \ No newline at end of file +- `user_id` (string) - Sets username + +- `tenant_id` (string) - The tenant ID or name to boot the instance into. Some OpenStack + installations require this. If not specified, Packer will use the + environment variable OS_TENANT_NAME or OS_TENANT_ID, if set. Tenant is + also called Project in later versions of OpenStack. + +- `tenant_name` (string) - Tenant Name + +- `domain_id` (string) - Domain ID + +- `domain_name` (string) - The Domain name or ID you are authenticating with. OpenStack + installations require this if identity v3 is used. Packer will use the + environment variable OS_DOMAIN_NAME or OS_DOMAIN_ID, if set. + +- `insecure` (bool) - Whether or not the connection to OpenStack can be done over an insecure + connection. By default this is false. + +- `region` (string) - The name of the region, such as "DFW", in which to launch the server to + create the image. If not specified, Packer will use the environment + variable OS_REGION_NAME, if set. + +- `endpoint_type` (string) - The endpoint type to use. Can be any of "internal", "internalURL", + "admin", "adminURL", "public", and "publicURL". By default this is + "public". + +- `cacert` (string) - Custom CA certificate file path. If omitted the OS_CACERT environment + variable can be used. + +- `cert` (string) - Client certificate file path for SSL client authentication. If omitted + the OS_CERT environment variable can be used. + +- `key` (string) - Client private key file path for SSL client authentication. If omitted + the OS_KEY environment variable can be used. + +- `token` (string) - the token (id) to use with token based authorization. Packer will use + the environment variable OS_TOKEN, if set. + +- `application_credential_name` (string) - The application credential name to use with application credential based + authorization. Packer will use the environment variable + OS_APPLICATION_CREDENTIAL_NAME, if set. + +- `application_credential_id` (string) - The application credential id to use with application credential based + authorization. Packer will use the environment variable + OS_APPLICATION_CREDENTIAL_ID, if set. + +- `application_credential_secret` (string) - The application credential secret to use with application credential + based authorization. Packer will use the environment variable + OS_APPLICATION_CREDENTIAL_SECRET, if set. + +- `cloud` (string) - An entry in a `clouds.yaml` file. See the OpenStack os-client-config + [documentation](https://docs.openstack.org/os-client-config/latest/user/configuration.html) + for more information about `clouds.yaml` files. If omitted, the + `OS_CLOUD` environment variable is used. diff --git a/website/pages/partials/builder/openstack/AccessConfig-required.mdx b/website/pages/partials/builder/openstack/AccessConfig-required.mdx index 1cd22c5dd..a1cbb90c3 100644 --- a/website/pages/partials/builder/openstack/AccessConfig-required.mdx +++ b/website/pages/partials/builder/openstack/AccessConfig-required.mdx @@ -1,16 +1,15 @@ -- `username` (string) - The username or id used to connect to the OpenStack service. If not - specified, Packer will use the environment variable OS_USERNAME or - OS_USERID, if set. This is not required if using access token or - application credential instead of password, or if using cloud.yaml. - -- `password` (string) - The password used to connect to the OpenStack service. If not specified, - Packer will use the environment variables OS_PASSWORD, if set. This is - not required if using access token or application credential instead of - password, or if using cloud.yaml. - -- `identity_endpoint` (string) - The URL to the OpenStack Identity service. If not specified, Packer will - use the environment variables OS_AUTH_URL, if set. This is not required - if using cloud.yaml. - \ No newline at end of file +- `username` (string) - The username or id used to connect to the OpenStack service. If not + specified, Packer will use the environment variable OS_USERNAME or + OS_USERID, if set. This is not required if using access token or + application credential instead of password, or if using cloud.yaml. + +- `password` (string) - The password used to connect to the OpenStack service. If not specified, + Packer will use the environment variables OS_PASSWORD, if set. This is + not required if using access token or application credential instead of + password, or if using cloud.yaml. + +- `identity_endpoint` (string) - The URL to the OpenStack Identity service. If not specified, Packer will + use the environment variables OS_AUTH_URL, if set. This is not required + if using cloud.yaml. diff --git a/website/pages/partials/builder/openstack/AccessConfig.mdx b/website/pages/partials/builder/openstack/AccessConfig.mdx index f92fbd550..0508fd3b0 100644 --- a/website/pages/partials/builder/openstack/AccessConfig.mdx +++ b/website/pages/partials/builder/openstack/AccessConfig.mdx @@ -1,2 +1,3 @@ + AccessConfig is for common configuration related to openstack access diff --git a/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx b/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx index 90fe512ec..3e9c4f118 100644 --- a/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx +++ b/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx @@ -1,21 +1,20 @@ -- `metadata` (map[string]string) - Glance metadata that will be applied to the image. - -- `image_visibility` (imageservice.ImageVisibility) - One of "public", "private", "shared", or "community". - -- `image_members` ([]string) - List of members to add to the image after creation. An image member is - usually a project (also called the "tenant") with whom the image is - shared. - -- `image_auto_accept_members` (bool) - When true, perform the image accept so the members can see the image in their - project. This requires a user with priveleges both in the build project and - in the members provided. Defaults to false. - -- `image_disk_format` (string) - Disk format of the resulting image. This option works if - use_blockstorage_volume is true. - -- `image_tags` ([]string) - List of tags to add to the image after creation. - -- `image_min_disk` (int) - Minimum disk size needed to boot image, in gigabytes. - \ No newline at end of file +- `metadata` (map[string]string) - Glance metadata that will be applied to the image. + +- `image_visibility` (imageservice.ImageVisibility) - One of "public", "private", "shared", or "community". + +- `image_members` ([]string) - List of members to add to the image after creation. An image member is + usually a project (also called the "tenant") with whom the image is + shared. + +- `image_auto_accept_members` (bool) - When true, perform the image accept so the members can see the image in their + project. This requires a user with priveleges both in the build project and + in the members provided. Defaults to false. + +- `image_disk_format` (string) - Disk format of the resulting image. This option works if + use_blockstorage_volume is true. + +- `image_tags` ([]string) - List of tags to add to the image after creation. + +- `image_min_disk` (int) - Minimum disk size needed to boot image, in gigabytes. diff --git a/website/pages/partials/builder/openstack/ImageConfig-required.mdx b/website/pages/partials/builder/openstack/ImageConfig-required.mdx index 880a58d48..ea4cb6e7d 100644 --- a/website/pages/partials/builder/openstack/ImageConfig-required.mdx +++ b/website/pages/partials/builder/openstack/ImageConfig-required.mdx @@ -1,4 +1,3 @@ -- `image_name` (string) - The name of the resulting image. - \ No newline at end of file +- `image_name` (string) - The name of the resulting image. diff --git a/website/pages/partials/builder/openstack/ImageConfig.mdx b/website/pages/partials/builder/openstack/ImageConfig.mdx index 45f731377..ba7828a09 100644 --- a/website/pages/partials/builder/openstack/ImageConfig.mdx +++ b/website/pages/partials/builder/openstack/ImageConfig.mdx @@ -1,2 +1,3 @@ + ImageConfig is for common configuration related to creating Images. diff --git a/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx b/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx index 5d1bef3be..5c001b824 100644 --- a/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx +++ b/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx @@ -1,9 +1,8 @@ -- `filters` (ImageFilterOptions) - filters used to select a source_image. NOTE: This will fail unless - exactly one image is returned, or most_recent is set to true. Of the - filters described in ImageService, the following are valid: - -- `most_recent` (bool) - Selects the newest created image when true. This is most useful for - selecting a daily distro build. - \ No newline at end of file +- `filters` (ImageFilterOptions) - filters used to select a source_image. NOTE: This will fail unless + exactly one image is returned, or most_recent is set to true. Of the + filters described in ImageService, the following are valid: + +- `most_recent` (bool) - Selects the newest created image when true. This is most useful for + selecting a daily distro build. diff --git a/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx b/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx index 74129b434..2913bb6c6 100644 --- a/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx +++ b/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx @@ -1,7 +1,11 @@ -- `name` (string) - Name -- `owner` (string) - Owner -- `tags` ([]string) - Tags -- `visibility` (string) - Visibility -- `properties` (map[string]string) - Properties \ No newline at end of file +- `name` (string) - Name + +- `owner` (string) - Owner + +- `tags` ([]string) - Tags + +- `visibility` (string) - Visibility + +- `properties` (map[string]string) - Properties diff --git a/website/pages/partials/builder/openstack/RunConfig-not-required.mdx b/website/pages/partials/builder/openstack/RunConfig-not-required.mdx index b8090676f..ad6073e40 100644 --- a/website/pages/partials/builder/openstack/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/openstack/RunConfig-not-required.mdx @@ -1,94 +1,93 @@ -- `ssh_interface` (string) - The type of interface to connect via SSH. Values useful for Rackspace - are "public" or "private", and the default behavior is to connect via - whichever is returned first from the OpenStack API. - -- `ssh_ip_version` (string) - The IP version to use for SSH connections, valid values are `4` and `6`. - Useful on dual stacked instances where the default behavior is to - connect via whichever IP address is returned first from the OpenStack - API. - -- `availability_zone` (string) - The availability zone to launch the server in. If this isn't specified, - the default enforced by your OpenStack cluster will be used. This may be - required for some OpenStack clusters. - -- `rackconnect_wait` (bool) - For rackspace, whether or not to wait for Rackconnect to assign the - machine an IP address before connecting via SSH. Defaults to false. - -- `floating_ip_network` (string) - The ID or name of an external network that can be used for creation of a - new floating IP. - -- `instance_floating_ip_net` (string) - The ID of the network to which the instance is attached and which should - be used to associate with the floating IP. This provides control over - the floating ip association on multi-homed instances. The association - otherwise depends on a first-returned-interface policy which could fail - if the network to which it is connected is unreachable from the floating - IP network. - -- `floating_ip` (string) - A specific floating IP to assign to this instance. - -- `reuse_ips` (bool) - Whether or not to attempt to reuse existing unassigned floating ips in - the project before allocating a new one. Note that it is not possible to - safely do this concurrently, so if you are running multiple openstack - builds concurrently, or if other processes are assigning and using - floating IPs in the same openstack project while packer is running, you - should not set this to true. Defaults to false. - -- `security_groups` ([]string) - A list of security groups by name to add to this instance. - -- `networks` ([]string) - A list of networks by UUID to attach to this instance. - -- `ports` ([]string) - A list of ports by UUID to attach to this instance. - -- `network_discovery_cidrs` ([]string) - A list of network CIDRs to discover the network to attach to this instance. - The first network whose subnet is contained within any of the given CIDRs - is used. Ignored if either of the above two options are provided. - -- `user_data` (string) - User data to apply when launching the instance. Note that you need to be - careful about escaping characters due to the templates being JSON. It is - often more convenient to use user_data_file, instead. Packer will not - automatically wait for a user script to finish before shutting down the - instance this must be handled in a provisioner. - -- `user_data_file` (string) - Path to a file that will be used for the user data when launching the - instance. - -- `instance_name` (string) - Name that is applied to the server instance created by Packer. If this - isn't specified, the default is same as image_name. - -- `instance_metadata` (map[string]string) - Metadata that is applied to the server instance created by Packer. Also - called server properties in some documentation. The strings have a max - size of 255 bytes each. - -- `force_delete` (bool) - Whether to force the OpenStack instance to be forcefully deleted. This - is useful for environments that have reclaim / soft deletion enabled. By - default this is false. - -- `config_drive` (bool) - Whether or not nova should use ConfigDrive for cloud-init metadata. - -- `floating_ip_pool` (string) - Deprecated use floating_ip_network instead. - -- `use_blockstorage_volume` (bool) - Use Block Storage service volume for the instance root volume instead of - Compute service local volume (default). - -- `volume_name` (string) - Name of the Block Storage service volume. If this isn't specified, - random string will be used. - -- `volume_type` (string) - Type of the Block Storage service volume. If this isn't specified, the - default enforced by your OpenStack cluster will be used. - -- `volume_size` (int) - Size of the Block Storage service volume in GB. If this isn't specified, - it is set to source image min disk value (if set) or calculated from the - source image bytes size. Note that in some cases this needs to be - specified, if use_blockstorage_volume is true. - -- `volume_availability_zone` (string) - Availability zone of the Block Storage service volume. If omitted, - Compute instance availability zone will be used. If both of Compute - instance and Block Storage volume availability zones aren't specified, - the default enforced by your OpenStack cluster will be used. - -- `openstack_provider` (string) - Not really used, but here for BC - -- `use_floating_ip` (bool) - *Deprecated* use `floating_ip` or `floating_ip_pool` instead. - \ No newline at end of file +- `ssh_interface` (string) - The type of interface to connect via SSH. Values useful for Rackspace + are "public" or "private", and the default behavior is to connect via + whichever is returned first from the OpenStack API. + +- `ssh_ip_version` (string) - The IP version to use for SSH connections, valid values are `4` and `6`. + Useful on dual stacked instances where the default behavior is to + connect via whichever IP address is returned first from the OpenStack + API. + +- `availability_zone` (string) - The availability zone to launch the server in. If this isn't specified, + the default enforced by your OpenStack cluster will be used. This may be + required for some OpenStack clusters. + +- `rackconnect_wait` (bool) - For rackspace, whether or not to wait for Rackconnect to assign the + machine an IP address before connecting via SSH. Defaults to false. + +- `floating_ip_network` (string) - The ID or name of an external network that can be used for creation of a + new floating IP. + +- `instance_floating_ip_net` (string) - The ID of the network to which the instance is attached and which should + be used to associate with the floating IP. This provides control over + the floating ip association on multi-homed instances. The association + otherwise depends on a first-returned-interface policy which could fail + if the network to which it is connected is unreachable from the floating + IP network. + +- `floating_ip` (string) - A specific floating IP to assign to this instance. + +- `reuse_ips` (bool) - Whether or not to attempt to reuse existing unassigned floating ips in + the project before allocating a new one. Note that it is not possible to + safely do this concurrently, so if you are running multiple openstack + builds concurrently, or if other processes are assigning and using + floating IPs in the same openstack project while packer is running, you + should not set this to true. Defaults to false. + +- `security_groups` ([]string) - A list of security groups by name to add to this instance. + +- `networks` ([]string) - A list of networks by UUID to attach to this instance. + +- `ports` ([]string) - A list of ports by UUID to attach to this instance. + +- `network_discovery_cidrs` ([]string) - A list of network CIDRs to discover the network to attach to this instance. + The first network whose subnet is contained within any of the given CIDRs + is used. Ignored if either of the above two options are provided. + +- `user_data` (string) - User data to apply when launching the instance. Note that you need to be + careful about escaping characters due to the templates being JSON. It is + often more convenient to use user_data_file, instead. Packer will not + automatically wait for a user script to finish before shutting down the + instance this must be handled in a provisioner. + +- `user_data_file` (string) - Path to a file that will be used for the user data when launching the + instance. + +- `instance_name` (string) - Name that is applied to the server instance created by Packer. If this + isn't specified, the default is same as image_name. + +- `instance_metadata` (map[string]string) - Metadata that is applied to the server instance created by Packer. Also + called server properties in some documentation. The strings have a max + size of 255 bytes each. + +- `force_delete` (bool) - Whether to force the OpenStack instance to be forcefully deleted. This + is useful for environments that have reclaim / soft deletion enabled. By + default this is false. + +- `config_drive` (bool) - Whether or not nova should use ConfigDrive for cloud-init metadata. + +- `floating_ip_pool` (string) - Deprecated use floating_ip_network instead. + +- `use_blockstorage_volume` (bool) - Use Block Storage service volume for the instance root volume instead of + Compute service local volume (default). + +- `volume_name` (string) - Name of the Block Storage service volume. If this isn't specified, + random string will be used. + +- `volume_type` (string) - Type of the Block Storage service volume. If this isn't specified, the + default enforced by your OpenStack cluster will be used. + +- `volume_size` (int) - Size of the Block Storage service volume in GB. If this isn't specified, + it is set to source image min disk value (if set) or calculated from the + source image bytes size. Note that in some cases this needs to be + specified, if use_blockstorage_volume is true. + +- `volume_availability_zone` (string) - Availability zone of the Block Storage service volume. If omitted, + Compute instance availability zone will be used. If both of Compute + instance and Block Storage volume availability zones aren't specified, + the default enforced by your OpenStack cluster will be used. + +- `openstack_provider` (string) - Not really used, but here for BC + +- `use_floating_ip` (bool) - *Deprecated* use `floating_ip` or `floating_ip_pool` instead. diff --git a/website/pages/partials/builder/openstack/RunConfig-required.mdx b/website/pages/partials/builder/openstack/RunConfig-required.mdx index 53b22d8d2..3e50ce947 100644 --- a/website/pages/partials/builder/openstack/RunConfig-required.mdx +++ b/website/pages/partials/builder/openstack/RunConfig-required.mdx @@ -1,60 +1,59 @@ -- `source_image` (string) - The ID or full URL to the base image to use. This is the image that will - be used to launch a new server and provision it. Unless you specify - completely custom SSH settings, the source image must have cloud-init - installed so that the keypair gets assigned properly. - -- `source_image_name` (string) - The name of the base image to use. This is an alternative way of - providing source_image and only either of them can be specified. - -- `source_image_filter` (ImageFilter) - Filters used to populate filter options. Example: - - ```json - { - "source_image_filter": { - "filters": { - "name": "ubuntu-16.04", - "visibility": "protected", - "owner": "d1a588cf4b0743344508dc145649372d1", - "tags": ["prod", "ready"], - "properties": { - "os_distro": "ubuntu" - } - }, - "most_recent": true - } - } - ``` - - This selects the most recent production Ubuntu 16.04 shared to you by - the given owner. NOTE: This will fail unless *exactly* one image is - returned, or `most_recent` is set to true. In the example of multiple - returned images, `most_recent` will cause this to succeed by selecting - the newest image of the returned images. - - - `filters` (map of strings) - filters used to select a - `source_image`. - NOTE: This will fail unless *exactly* one image is returned, or - `most_recent` is set to true. Of the filters described in - [ImageService](https://developer.openstack.org/api-ref/image/v2/), the - following are valid: - - - name (string) - - owner (string) - - tags (array of strings) - - visibility (string) - - properties (map of strings to strings) (fields that can be set - with `openstack image set --property key=value`) - - - `most_recent` (boolean) - Selects the newest created image when - true. - This is most useful for selecting a daily distro build. - - You may set use this in place of `source_image` If `source_image_filter` - is provided alongside `source_image`, the `source_image` will override - the filter. The filter will not be used in this case. - -- `flavor` (string) - The ID, name, or full URL for the desired flavor for the server to be - created. - \ No newline at end of file +- `source_image` (string) - The ID or full URL to the base image to use. This is the image that will + be used to launch a new server and provision it. Unless you specify + completely custom SSH settings, the source image must have cloud-init + installed so that the keypair gets assigned properly. + +- `source_image_name` (string) - The name of the base image to use. This is an alternative way of + providing source_image and only either of them can be specified. + +- `source_image_filter` (ImageFilter) - Filters used to populate filter options. Example: + + ```json + { + "source_image_filter": { + "filters": { + "name": "ubuntu-16.04", + "visibility": "protected", + "owner": "d1a588cf4b0743344508dc145649372d1", + "tags": ["prod", "ready"], + "properties": { + "os_distro": "ubuntu" + } + }, + "most_recent": true + } + } + ``` + + This selects the most recent production Ubuntu 16.04 shared to you by + the given owner. NOTE: This will fail unless *exactly* one image is + returned, or `most_recent` is set to true. In the example of multiple + returned images, `most_recent` will cause this to succeed by selecting + the newest image of the returned images. + + - `filters` (map of strings) - filters used to select a + `source_image`. + NOTE: This will fail unless *exactly* one image is returned, or + `most_recent` is set to true. Of the filters described in + [ImageService](https://developer.openstack.org/api-ref/image/v2/), the + following are valid: + + - name (string) + - owner (string) + - tags (array of strings) + - visibility (string) + - properties (map of strings to strings) (fields that can be set + with `openstack image set --property key=value`) + + - `most_recent` (boolean) - Selects the newest created image when + true. + This is most useful for selecting a daily distro build. + + You may set use this in place of `source_image` If `source_image_filter` + is provided alongside `source_image`, the `source_image` will override + the filter. The filter will not be used in this case. + +- `flavor` (string) - The ID, name, or full URL for the desired flavor for the server to be + created. diff --git a/website/pages/partials/builder/openstack/RunConfig.mdx b/website/pages/partials/builder/openstack/RunConfig.mdx index dec3efd54..f8cb860cc 100644 --- a/website/pages/partials/builder/openstack/RunConfig.mdx +++ b/website/pages/partials/builder/openstack/RunConfig.mdx @@ -1,3 +1,4 @@ + RunConfig contains configuration for running an instance from a source image and details on how to access that launched image. diff --git a/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx index 4bf3f44c4..5dc41772e 100644 --- a/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx @@ -1,14 +1,13 @@ -- `cpus` (int) - The number of cpus to use for building the VM. - Defaults to 1. - -- `memory` (int) - The amount of memory to use for building the VM in - megabytes. Defaults to 512 megabytes. - -- `sound` (bool) - Specifies whether to enable the sound device when - building the VM. Defaults to false. - -- `usb` (bool) - Specifies whether to enable the USB bus when building - the VM. Defaults to false. - \ No newline at end of file +- `cpus` (int) - The number of cpus to use for building the VM. + Defaults to 1. + +- `memory` (int) - The amount of memory to use for building the VM in + megabytes. Defaults to 512 megabytes. + +- `sound` (bool) - Specifies whether to enable the sound device when + building the VM. Defaults to false. + +- `usb` (bool) - Specifies whether to enable the USB bus when building + the VM. Defaults to false. diff --git a/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx index 6798f4470..11c918433 100644 --- a/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx @@ -1,9 +1,8 @@ -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - If relative, the path is relative to the working directory when packer - is executed. This directory must not exist or be empty prior to running - the builder. By default this is "output-BUILDNAME" where "BUILDNAME" is the - name of the build. - \ No newline at end of file +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + If relative, the path is relative to the working directory when packer + is executed. This directory must not exist or be empty prior to running + the builder. By default this is "output-BUILDNAME" where "BUILDNAME" is the + name of the build. diff --git a/website/pages/partials/builder/parallels/common/OutputConfig.mdx b/website/pages/partials/builder/parallels/common/OutputConfig.mdx index 8fdd9cb7f..a3f100f31 100644 --- a/website/pages/partials/builder/parallels/common/OutputConfig.mdx +++ b/website/pages/partials/builder/parallels/common/OutputConfig.mdx @@ -1,2 +1,3 @@ + OutputConfig contains the configuration for builder's output. diff --git a/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx index 176c2b101..ccf50199b 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx @@ -1,13 +1,12 @@ -- `prlctl` ([][]string) - Custom prlctl commands to execute - in order to further customize the virtual machine being created. The value - of this is an array of commands to execute. The commands are executed in the - order defined in the template. For each command, the command is defined - itself as an array of strings, where each string represents a single - argument on the command-line to prlctl (but excluding prlctl itself). - Each arg is treated as a configuration - template, where the Name - variable is replaced with the VM name. More details on how to use prlctl - are below. - \ No newline at end of file +- `prlctl` ([][]string) - Custom prlctl commands to execute + in order to further customize the virtual machine being created. The value + of this is an array of commands to execute. The commands are executed in the + order defined in the template. For each command, the command is defined + itself as an array of strings, where each string represents a single + argument on the command-line to prlctl (but excluding prlctl itself). + Each arg is treated as a configuration + template, where the Name + variable is replaced with the VM name. More details on how to use prlctl + are below. diff --git a/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx b/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx index 518286eab..8a41294e9 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx @@ -1,3 +1,4 @@ + PrlctlConfig contains the configuration for running "prlctl" commands before the VM start. diff --git a/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx index 2a7420e3b..1cf5952ae 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx @@ -1,6 +1,5 @@ -- `prlctl_post` ([][]string) - Identical to prlctl, except - that it is run after the virtual machine is shutdown, and before the virtual - machine is exported. - \ No newline at end of file +- `prlctl_post` ([][]string) - Identical to prlctl, except + that it is run after the virtual machine is shutdown, and before the virtual + machine is exported. diff --git a/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx b/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx index 35cc46e66..7e3be43d3 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx @@ -1,3 +1,4 @@ + PrlctlPostConfig contains the configuration for running "prlctl" commands in the end of artifact build. diff --git a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx index 9425ede14..55f3b9823 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx @@ -1,8 +1,7 @@ -- `prlctl_version_file` (string) - The path within the virtual machine to - upload a file that contains the prlctl version that was used to create - the machine. This information can be useful for provisioning. By default - this is ".prlctl_version", which will generally upload it into the - home directory. - \ No newline at end of file +- `prlctl_version_file` (string) - The path within the virtual machine to + upload a file that contains the prlctl version that was used to create + the machine. This information can be useful for provisioning. By default + this is ".prlctl_version", which will generally upload it into the + home directory. diff --git a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx index 3dfa090c1..f21eccfdf 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx @@ -1,2 +1,3 @@ + PrlctlVersionConfig contains the configuration for `prlctl` version. diff --git a/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx index 0342bee6a..59b68cadb 100644 --- a/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx @@ -1,17 +1,16 @@ -- `parallels_tools_guest_path` (string) - The path in the virtual machine to - upload Parallels Tools. This only takes effect if parallels_tools_mode - is "upload". This is a configuration - template that has a single - valid variable: Flavor, which will be the value of - parallels_tools_flavor. By default this is `prl-tools-{{.Flavor}}.iso` - which should upload into the login directory of the user. - -- `parallels_tools_mode` (string) - The method by which Parallels Tools are - made available to the guest for installation. Valid options are "upload", - "attach", or "disable". If the mode is "attach" the Parallels Tools ISO will - be attached as a CD device to the virtual machine. If the mode is "upload" - the Parallels Tools ISO will be uploaded to the path specified by - parallels_tools_guest_path. The default value is "upload". - \ No newline at end of file +- `parallels_tools_guest_path` (string) - The path in the virtual machine to + upload Parallels Tools. This only takes effect if parallels_tools_mode + is "upload". This is a configuration + template that has a single + valid variable: Flavor, which will be the value of + parallels_tools_flavor. By default this is `prl-tools-{{.Flavor}}.iso` + which should upload into the login directory of the user. + +- `parallels_tools_mode` (string) - The method by which Parallels Tools are + made available to the guest for installation. Valid options are "upload", + "attach", or "disable". If the mode is "attach" the Parallels Tools ISO will + be attached as a CD device to the virtual machine. If the mode is "upload" + the Parallels Tools ISO will be uploaded to the path specified by + parallels_tools_guest_path. The default value is "upload". diff --git a/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx b/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx index 1e65061c2..6edd2e34c 100644 --- a/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx +++ b/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx @@ -1,7 +1,6 @@ -- `parallels_tools_flavor` (string) - The flavor of the Parallels Tools ISO to - install into the VM. Valid values are "win", "lin", "mac", "os2" - and "other". This can be omitted only if parallels_tools_mode - is "disable". - \ No newline at end of file +- `parallels_tools_flavor` (string) - The flavor of the Parallels Tools ISO to + install into the VM. Valid values are "win", "lin", "mac", "os2" + and "other". This can be omitted only if parallels_tools_mode + is "disable". diff --git a/website/pages/partials/builder/parallels/common/ToolsConfig.mdx b/website/pages/partials/builder/parallels/common/ToolsConfig.mdx index 76c3773ba..2f77d9fde 100644 --- a/website/pages/partials/builder/parallels/common/ToolsConfig.mdx +++ b/website/pages/partials/builder/parallels/common/ToolsConfig.mdx @@ -1,2 +1,3 @@ + ToolsConfig contains the builder configuration related to Parallels Tools. diff --git a/website/pages/partials/builder/parallels/iso/Config-not-required.mdx b/website/pages/partials/builder/parallels/iso/Config-not-required.mdx index 5f7045cb2..9de151840 100644 --- a/website/pages/partials/builder/parallels/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/parallels/iso/Config-not-required.mdx @@ -1,40 +1,39 @@ -- `disk_size` (uint) - The size, in megabytes, of the hard disk to create - for the VM. By default, this is 40000 (about 40 GB). - -- `disk_type` (string) - The type for image file based virtual disk drives, - defaults to expand. Valid options are expand (expanding disk) that the - image file is small initially and grows in size as you add data to it, and - plain (plain disk) that the image file has a fixed size from the moment it - is created (i.e the space is allocated for the full drive). Plain disks - perform faster than expanding disks. skip_compaction will be set to true - automatically for plain disks. - -- `guest_os_type` (string) - The guest OS type being installed. By default - this is "other", but you can get dramatic performance improvements by - setting this to the proper value. To view all available values for this run - prlctl create x --distribution list. Setting the correct value hints to - Parallels Desktop how to optimize the virtual hardware to work best with - that operating system. - -- `hard_drive_interface` (string) - The type of controller that the hard - drives are attached to, defaults to "sata". Valid options are "sata", "ide", - and "scsi". - -- `host_interfaces` ([]string) - A list of which interfaces on the - host should be searched for a IP address. The first IP address found on one - of these will be used as `{{ .HTTPIP }}` in the boot_command. Defaults to - ["en0", "en1", "en2", "en3", "en4", "en5", "en6", "en7", "en8", "en9", - "ppp0", "ppp1", "ppp2"]. - -- `skip_compaction` (bool) - Virtual disk image is compacted at the end of - the build process using prl_disk_tool utility (except for the case that - disk_type is set to plain). In certain rare cases, this might corrupt - the resulting disk image. If you find this to be the case, you can disable - compaction using this configuration value. - -- `vm_name` (string) - This is the name of the PVM directory for the new - virtual machine, without the file extension. By default this is - "packer-BUILDNAME", where "BUILDNAME" is the name of the build. - \ No newline at end of file +- `disk_size` (uint) - The size, in megabytes, of the hard disk to create + for the VM. By default, this is 40000 (about 40 GB). + +- `disk_type` (string) - The type for image file based virtual disk drives, + defaults to expand. Valid options are expand (expanding disk) that the + image file is small initially and grows in size as you add data to it, and + plain (plain disk) that the image file has a fixed size from the moment it + is created (i.e the space is allocated for the full drive). Plain disks + perform faster than expanding disks. skip_compaction will be set to true + automatically for plain disks. + +- `guest_os_type` (string) - The guest OS type being installed. By default + this is "other", but you can get dramatic performance improvements by + setting this to the proper value. To view all available values for this run + prlctl create x --distribution list. Setting the correct value hints to + Parallels Desktop how to optimize the virtual hardware to work best with + that operating system. + +- `hard_drive_interface` (string) - The type of controller that the hard + drives are attached to, defaults to "sata". Valid options are "sata", "ide", + and "scsi". + +- `host_interfaces` ([]string) - A list of which interfaces on the + host should be searched for a IP address. The first IP address found on one + of these will be used as `{{ .HTTPIP }}` in the boot_command. Defaults to + ["en0", "en1", "en2", "en3", "en4", "en5", "en6", "en7", "en8", "en9", + "ppp0", "ppp1", "ppp2"]. + +- `skip_compaction` (bool) - Virtual disk image is compacted at the end of + the build process using prl_disk_tool utility (except for the case that + disk_type is set to plain). In certain rare cases, this might corrupt + the resulting disk image. If you find this to be the case, you can disable + compaction using this configuration value. + +- `vm_name` (string) - This is the name of the PVM directory for the new + virtual machine, without the file extension. By default this is + "packer-BUILDNAME", where "BUILDNAME" is the name of the build. diff --git a/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx b/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx index ff5d3e4d1..94bd320d5 100644 --- a/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx +++ b/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx @@ -1,16 +1,15 @@ -- `skip_compaction` (bool) - Virtual disk image is compacted at the end of - the build process using prl_disk_tool utility (except for the case that - disk_type is set to plain). In certain rare cases, this might corrupt - the resulting disk image. If you find this to be the case, you can disable - compaction using this configuration value. - -- `vm_name` (string) - This is the name of the PVM directory for the new - virtual machine, without the file extension. By default this is - "packer-BUILDNAME", where "BUILDNAME" is the name of the build. - -- `reassign_mac` (bool) - If this is "false" the MAC address of the first - NIC will reused when imported else a new MAC address will be generated - by Parallels. Defaults to "false". - \ No newline at end of file +- `skip_compaction` (bool) - Virtual disk image is compacted at the end of + the build process using prl_disk_tool utility (except for the case that + disk_type is set to plain). In certain rare cases, this might corrupt + the resulting disk image. If you find this to be the case, you can disable + compaction using this configuration value. + +- `vm_name` (string) - This is the name of the PVM directory for the new + virtual machine, without the file extension. By default this is + "packer-BUILDNAME", where "BUILDNAME" is the name of the build. + +- `reassign_mac` (bool) - If this is "false" the MAC address of the first + NIC will reused when imported else a new MAC address will be generated + by Parallels. Defaults to "false". diff --git a/website/pages/partials/builder/parallels/pvm/Config-required.mdx b/website/pages/partials/builder/parallels/pvm/Config-required.mdx index 58e68b704..59e70325d 100644 --- a/website/pages/partials/builder/parallels/pvm/Config-required.mdx +++ b/website/pages/partials/builder/parallels/pvm/Config-required.mdx @@ -1,5 +1,4 @@ -- `source_path` (string) - The path to a PVM directory that acts as the source - of this build. - \ No newline at end of file +- `source_path` (string) - The path to a PVM directory that acts as the source + of this build. diff --git a/website/pages/partials/builder/parallels/pvm/Config.mdx b/website/pages/partials/builder/parallels/pvm/Config.mdx index 31b4e2f09..8b1c70294 100644 --- a/website/pages/partials/builder/parallels/pvm/Config.mdx +++ b/website/pages/partials/builder/parallels/pvm/Config.mdx @@ -1,2 +1,3 @@ + Config is the configuration structure for the builder. diff --git a/website/pages/partials/builder/qemu/CommConfig-not-required.mdx b/website/pages/partials/builder/qemu/CommConfig-not-required.mdx index 53f6138ba..5475a276f 100644 --- a/website/pages/partials/builder/qemu/CommConfig-not-required.mdx +++ b/website/pages/partials/builder/qemu/CommConfig-not-required.mdx @@ -1,14 +1,13 @@ -- `host_port_min` (int) - The minimum port to use for the Communicator port on the host machine which is forwarded - to the SSH or WinRM port on the guest machine. By default this is 2222. - -- `host_port_max` (int) - The maximum port to use for the Communicator port on the host machine which is forwarded - to the SSH or WinRM port on the guest machine. Because Packer often runs in parallel, - Packer will choose a randomly available port in this range to use as the - host port. By default this is 4444. - -- `skip_nat_mapping` (bool) - Defaults to false. When enabled, Packer - does not setup forwarded port mapping for communicator (SSH or WinRM) requests and uses ssh_port or winrm_port - on the host to communicate to the virtual machine. - \ No newline at end of file +- `host_port_min` (int) - The minimum port to use for the Communicator port on the host machine which is forwarded + to the SSH or WinRM port on the guest machine. By default this is 2222. + +- `host_port_max` (int) - The maximum port to use for the Communicator port on the host machine which is forwarded + to the SSH or WinRM port on the guest machine. Because Packer often runs in parallel, + Packer will choose a randomly available port in this range to use as the + host port. By default this is 4444. + +- `skip_nat_mapping` (bool) - Defaults to false. When enabled, Packer + does not setup forwarded port mapping for communicator (SSH or WinRM) requests and uses ssh_port or winrm_port + on the host to communicate to the virtual machine. diff --git a/website/pages/partials/builder/qemu/Config-not-required.mdx b/website/pages/partials/builder/qemu/Config-not-required.mdx index f8c42c402..6cb95d8eb 100644 --- a/website/pages/partials/builder/qemu/Config-not-required.mdx +++ b/website/pages/partials/builder/qemu/Config-not-required.mdx @@ -1,246 +1,246 @@ -- `iso_skip_cache` (bool) - Use iso from provided url. Qemu must support - curl block device. This defaults to `false`. - -- `accelerator` (string) - The accelerator type to use when running the VM. - This may be `none`, `kvm`, `tcg`, `hax`, `hvf`, `whpx`, or `xen`. The appropriate - software must have already been installed on your build machine to use the - accelerator you specified. When no accelerator is specified, Packer will try - to use `kvm` if it is available but will default to `tcg` otherwise. - - -> The `hax` accelerator has issues attaching CDROM ISOs. This is an - upstream issue which can be tracked - [here](https://github.com/intel/haxm/issues/20). - - -> The `hvf` and `whpx` accelerator are new and experimental as of - [QEMU 2.12.0](https://wiki.qemu.org/ChangeLog/2.12#Host_support). - You may encounter issues unrelated to Packer when using these. You may need to - add [ "-global", "virtio-pci.disable-modern=on" ] to `qemuargs` depending on the - guest operating system. - - -> For `whpx`, note that [Stefan Weil's QEMU for Windows distribution](https://qemu.weilnetz.de/w64/) - does not include WHPX support and users may need to compile or source a - build of QEMU for Windows themselves with WHPX support. - -- `disk_additional_size` ([]string) - Additional disks to create. Uses `vm_name` as the disk name template and - appends `-#` where `#` is the position in the array. `#` starts at 1 since 0 - is the default disk. Each string represents the disk image size in bytes. - Optional suffixes 'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' - (gigabyte, 1024M), 'T' (terabyte, 1024G), 'P' (petabyte, 1024T) and 'E' - (exabyte, 1024P) are supported. 'b' is ignored. Per qemu-img documentation. - Each additional disk uses the same disk parameters as the default disk. - Unset by default. - -- `cpus` (int) - The number of cpus to use when building the VM. - The default is `1` CPU. - -- `disk_interface` (string) - The interface to use for the disk. Allowed values include any of `ide`, - `scsi`, `virtio` or `virtio-scsi`^\*. Note also that any boot commands - or kickstart type scripts must have proper adjustments for resulting - device names. The Qemu builder uses `virtio` by default. - - ^\* Please be aware that use of the `scsi` disk interface has been - disabled by Red Hat due to a bug described - [here](https://bugzilla.redhat.com/show_bug.cgi?id=1019220). If you are - running Qemu on RHEL or a RHEL variant such as CentOS, you *must* choose - one of the other listed interfaces. Using the `scsi` interface under - these circumstances will cause the build to fail. - -- `disk_size` (string) - The size in bytes of the hard disk of the VM. Suffix with the first - letter of common byte types. Use "k" or "K" for kilobytes, "M" for - megabytes, G for gigabytes, and T for terabytes. If no value is provided - for disk_size, Packer uses a default of `40960M` (40 GB). If a disk_size - number is provided with no units, Packer will default to Megabytes. - -- `disk_cache` (string) - The cache mode to use for disk. Allowed values include any of - `writethrough`, `writeback`, `none`, `unsafe` or `directsync`. By - default, this is set to `writeback`. - -- `disk_discard` (string) - The discard mode to use for disk. Allowed values - include any of unmap or ignore. By default, this is set to ignore. - -- `disk_detect_zeroes` (string) - The detect-zeroes mode to use for disk. - Allowed values include any of unmap, on or off. Defaults to off. - When the value is "off" we don't set the flag in the qemu command, so that - Packer still works with old versions of QEMU that don't have this option. - -- `skip_compaction` (bool) - Packer compacts the QCOW2 image using - qemu-img convert. Set this option to true to disable compacting. - Defaults to false. - -- `disk_compression` (bool) - Apply compression to the QCOW2 disk file - using qemu-img convert. Defaults to false. - -- `format` (string) - Either `qcow2` or `raw`, this specifies the output format of the virtual - machine image. This defaults to `qcow2`. - -- `headless` (bool) - Packer defaults to building QEMU virtual machines by - launching a GUI that shows the console of the machine being built. When this - value is set to `true`, the machine will start without a console. - - You can still see the console if you make a note of the VNC display - number chosen, and then connect using `vncviewer -Shared :` - -- `disk_image` (bool) - Packer defaults to building from an ISO file, this parameter controls - whether the ISO URL supplied is actually a bootable QEMU image. When - this value is set to `true`, the machine will either clone the source or - use it as a backing file (if `use_backing_file` is `true`); then, it - will resize the image according to `disk_size` and boot it. - -- `use_backing_file` (bool) - Only applicable when disk_image is true - and format is qcow2, set this option to true to create a new QCOW2 - file that uses the file located at iso_url as a backing file. The new file - will only contain blocks that have changed compared to the backing file, so - enabling this option can significantly reduce disk usage. - -- `machine_type` (string) - The type of machine emulation to use. Run your qemu binary with the - flags `-machine help` to list available types for your system. This - defaults to `pc`. - -- `memory` (int) - The amount of memory to use when building the VM - in megabytes. This defaults to 512 megabytes. - -- `net_device` (string) - The driver to use for the network interface. Allowed values `ne2k_pci`, - `i82551`, `i82557b`, `i82559er`, `rtl8139`, `e1000`, `pcnet`, `virtio`, - `virtio-net`, `virtio-net-pci`, `usb-net`, `i82559a`, `i82559b`, - `i82559c`, `i82550`, `i82562`, `i82557a`, `i82557c`, `i82801`, - `vmxnet3`, `i82558a` or `i82558b`. The Qemu builder uses `virtio-net` by - default. - -- `net_bridge` (string) - Connects the network to this bridge instead of using the user mode - networking. - - **NB** This bridge must already exist. You can use the `virbr0` bridge - as created by vagrant-libvirt. - - **NB** This will automatically enable the QMP socket (see QMPEnable). - - **NB** This only works in Linux based OSes. - -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - If relative, the path is relative to the working directory when packer - is executed. This directory must not exist or be empty prior to running - the builder. By default this is output-BUILDNAME where "BUILDNAME" is the - name of the build. - -- `qemuargs` ([][]string) - Allows complete control over the qemu command line (though not, at this - time, qemu-img). Each array of strings makes up a command line switch - that overrides matching default switch/value pairs. Any value specified - as an empty string is ignored. All values after the switch are - concatenated with no separator. - - ~> **Warning:** The qemu command line allows extreme flexibility, so - beware of conflicting arguments causing failures of your run. For - instance, using --no-acpi could break the ability to send power signal - type commands (e.g., shutdown -P now) to the virtual machine, thus - preventing proper shutdown. To see the defaults, look in the packer.log - file and search for the qemu-system-x86 command. The arguments are all - printed for review. - - The following shows a sample usage: - - ```json - { - "qemuargs": [ - [ "-m", "1024M" ], - [ "--no-acpi", "" ], - [ - "-netdev", - "user,id=mynet0,", - "hostfwd=hostip:hostport-guestip:guestport", - "" - ], - [ "-device", "virtio-net,netdev=mynet0" ] - ] - } - ``` - - would produce the following (not including other defaults supplied by - the builder and not otherwise conflicting with the qemuargs): - - ```text - qemu-system-x86 -m 1024m --no-acpi -netdev - user,id=mynet0,hostfwd=hostip:hostport-guestip:guestport -device - virtio-net,netdev=mynet0" - ``` - - ~> **Windows Users:** [QEMU for Windows](https://qemu.weilnetz.de/) - builds are available though an environmental variable does need to be - set for QEMU for Windows to redirect stdout to the console instead of - stdout.txt. - - The following shows the environment variable that needs to be set for - Windows QEMU support: - - ```text - setx SDL_STDIO_REDIRECT=0 - ``` - - You can also use the `SSHHostPort` template variable to produce a packer - template that can be invoked by `make` in parallel: - - ```json - { - "qemuargs": [ - [ "-netdev", "user,hostfwd=tcp::{{ .SSHHostPort }}-:22,id=forward"], - [ "-device", "virtio-net,netdev=forward,id=net0"] - ] - } - ``` - - `make -j 3 my-awesome-packer-templates` spawns 3 packer processes, each - of which will bind to their own SSH port as determined by each process. - This will also work with WinRM, just change the port forward in - `qemuargs` to map to WinRM's default port of `5985` or whatever value - you have the service set to listen on. - - This is a template engine and allows access to the following variables: - `{{ .HTTPIP }}`, `{{ .HTTPPort }}`, `{{ .HTTPDir }}`, - `{{ .OutputDir }}`, `{{ .Name }}`, and `{{ .SSHHostPort }}` - -- `qemu_binary` (string) - The name of the Qemu binary to look for. This - defaults to qemu-system-x86_64, but may need to be changed for - some platforms. For example qemu-kvm, or qemu-system-i386 may be a - better choice for some systems. - -- `qmp_enable` (bool) - Enable QMP socket. Location is specified by `qmp_socket_path`. Defaults - to false. - -- `qmp_socket_path` (string) - QMP Socket Path when `qmp_enable` is true. Defaults to - `output_directory`/`vm_name`.monitor. - -- `use_default_display` (bool) - If true, do not pass a -display option - to qemu, allowing it to choose the default. This may be needed when running - under macOS, and getting errors about sdl not being available. - -- `display` (string) - What QEMU -display option to use. Defaults to gtk, use none to not pass the - -display option allowing QEMU to choose the default. This may be needed when - running under macOS, and getting errors about sdl not being available. - -- `vnc_bind_address` (string) - The IP address that should be - binded to for VNC. By default packer will use 127.0.0.1 for this. If you - wish to bind to all interfaces use 0.0.0.0. - -- `vnc_use_password` (bool) - Whether or not to set a password on the VNC server. This option - automatically enables the QMP socket. See `qmp_socket_path`. Defaults to - `false`. - -- `vnc_port_min` (int) - The minimum and maximum port - to use for VNC access to the virtual machine. The builder uses VNC to type - the initial boot_command. Because Packer generally runs in parallel, - Packer uses a randomly chosen port in this range that appears available. By - default this is 5900 to 6000. The minimum and maximum ports are inclusive. - -- `vnc_port_max` (int) - VNC Port Max -- `vm_name` (string) - This is the name of the image (QCOW2 or IMG) file for - the new virtual machine. By default this is packer-BUILDNAME, where - "BUILDNAME" is the name of the build. Currently, no file extension will be - used unless it is specified in this option. - -- `cdrom_interface` (string) - The interface to use for the CDROM device which contains the ISO image. - Allowed values include any of `ide`, `scsi`, `virtio` or - `virtio-scsi`. The Qemu builder uses `virtio` by default. - Some ARM64 images require `virtio-scsi`. - \ No newline at end of file +- `iso_skip_cache` (bool) - Use iso from provided url. Qemu must support + curl block device. This defaults to `false`. + +- `accelerator` (string) - The accelerator type to use when running the VM. + This may be `none`, `kvm`, `tcg`, `hax`, `hvf`, `whpx`, or `xen`. The appropriate + software must have already been installed on your build machine to use the + accelerator you specified. When no accelerator is specified, Packer will try + to use `kvm` if it is available but will default to `tcg` otherwise. + + -> The `hax` accelerator has issues attaching CDROM ISOs. This is an + upstream issue which can be tracked + [here](https://github.com/intel/haxm/issues/20). + + -> The `hvf` and `whpx` accelerator are new and experimental as of + [QEMU 2.12.0](https://wiki.qemu.org/ChangeLog/2.12#Host_support). + You may encounter issues unrelated to Packer when using these. You may need to + add [ "-global", "virtio-pci.disable-modern=on" ] to `qemuargs` depending on the + guest operating system. + + -> For `whpx`, note that [Stefan Weil's QEMU for Windows distribution](https://qemu.weilnetz.de/w64/) + does not include WHPX support and users may need to compile or source a + build of QEMU for Windows themselves with WHPX support. + +- `disk_additional_size` ([]string) - Additional disks to create. Uses `vm_name` as the disk name template and + appends `-#` where `#` is the position in the array. `#` starts at 1 since 0 + is the default disk. Each string represents the disk image size in bytes. + Optional suffixes 'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' + (gigabyte, 1024M), 'T' (terabyte, 1024G), 'P' (petabyte, 1024T) and 'E' + (exabyte, 1024P) are supported. 'b' is ignored. Per qemu-img documentation. + Each additional disk uses the same disk parameters as the default disk. + Unset by default. + +- `cpus` (int) - The number of cpus to use when building the VM. + The default is `1` CPU. + +- `disk_interface` (string) - The interface to use for the disk. Allowed values include any of `ide`, + `scsi`, `virtio` or `virtio-scsi`^\*. Note also that any boot commands + or kickstart type scripts must have proper adjustments for resulting + device names. The Qemu builder uses `virtio` by default. + + ^\* Please be aware that use of the `scsi` disk interface has been + disabled by Red Hat due to a bug described + [here](https://bugzilla.redhat.com/show_bug.cgi?id=1019220). If you are + running Qemu on RHEL or a RHEL variant such as CentOS, you *must* choose + one of the other listed interfaces. Using the `scsi` interface under + these circumstances will cause the build to fail. + +- `disk_size` (string) - The size in bytes of the hard disk of the VM. Suffix with the first + letter of common byte types. Use "k" or "K" for kilobytes, "M" for + megabytes, G for gigabytes, and T for terabytes. If no value is provided + for disk_size, Packer uses a default of `40960M` (40 GB). If a disk_size + number is provided with no units, Packer will default to Megabytes. + +- `disk_cache` (string) - The cache mode to use for disk. Allowed values include any of + `writethrough`, `writeback`, `none`, `unsafe` or `directsync`. By + default, this is set to `writeback`. + +- `disk_discard` (string) - The discard mode to use for disk. Allowed values + include any of unmap or ignore. By default, this is set to ignore. + +- `disk_detect_zeroes` (string) - The detect-zeroes mode to use for disk. + Allowed values include any of unmap, on or off. Defaults to off. + When the value is "off" we don't set the flag in the qemu command, so that + Packer still works with old versions of QEMU that don't have this option. + +- `skip_compaction` (bool) - Packer compacts the QCOW2 image using + qemu-img convert. Set this option to true to disable compacting. + Defaults to false. + +- `disk_compression` (bool) - Apply compression to the QCOW2 disk file + using qemu-img convert. Defaults to false. + +- `format` (string) - Either `qcow2` or `raw`, this specifies the output format of the virtual + machine image. This defaults to `qcow2`. + +- `headless` (bool) - Packer defaults to building QEMU virtual machines by + launching a GUI that shows the console of the machine being built. When this + value is set to `true`, the machine will start without a console. + + You can still see the console if you make a note of the VNC display + number chosen, and then connect using `vncviewer -Shared :` + +- `disk_image` (bool) - Packer defaults to building from an ISO file, this parameter controls + whether the ISO URL supplied is actually a bootable QEMU image. When + this value is set to `true`, the machine will either clone the source or + use it as a backing file (if `use_backing_file` is `true`); then, it + will resize the image according to `disk_size` and boot it. + +- `use_backing_file` (bool) - Only applicable when disk_image is true + and format is qcow2, set this option to true to create a new QCOW2 + file that uses the file located at iso_url as a backing file. The new file + will only contain blocks that have changed compared to the backing file, so + enabling this option can significantly reduce disk usage. + +- `machine_type` (string) - The type of machine emulation to use. Run your qemu binary with the + flags `-machine help` to list available types for your system. This + defaults to `pc`. + +- `memory` (int) - The amount of memory to use when building the VM + in megabytes. This defaults to 512 megabytes. + +- `net_device` (string) - The driver to use for the network interface. Allowed values `ne2k_pci`, + `i82551`, `i82557b`, `i82559er`, `rtl8139`, `e1000`, `pcnet`, `virtio`, + `virtio-net`, `virtio-net-pci`, `usb-net`, `i82559a`, `i82559b`, + `i82559c`, `i82550`, `i82562`, `i82557a`, `i82557c`, `i82801`, + `vmxnet3`, `i82558a` or `i82558b`. The Qemu builder uses `virtio-net` by + default. + +- `net_bridge` (string) - Connects the network to this bridge instead of using the user mode + networking. + + **NB** This bridge must already exist. You can use the `virbr0` bridge + as created by vagrant-libvirt. + + **NB** This will automatically enable the QMP socket (see QMPEnable). + + **NB** This only works in Linux based OSes. + +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + If relative, the path is relative to the working directory when packer + is executed. This directory must not exist or be empty prior to running + the builder. By default this is output-BUILDNAME where "BUILDNAME" is the + name of the build. + +- `qemuargs` ([][]string) - Allows complete control over the qemu command line (though not, at this + time, qemu-img). Each array of strings makes up a command line switch + that overrides matching default switch/value pairs. Any value specified + as an empty string is ignored. All values after the switch are + concatenated with no separator. + + ~> **Warning:** The qemu command line allows extreme flexibility, so + beware of conflicting arguments causing failures of your run. For + instance, using --no-acpi could break the ability to send power signal + type commands (e.g., shutdown -P now) to the virtual machine, thus + preventing proper shutdown. To see the defaults, look in the packer.log + file and search for the qemu-system-x86 command. The arguments are all + printed for review. + + The following shows a sample usage: + + ```json + { + "qemuargs": [ + [ "-m", "1024M" ], + [ "--no-acpi", "" ], + [ + "-netdev", + "user,id=mynet0,", + "hostfwd=hostip:hostport-guestip:guestport", + "" + ], + [ "-device", "virtio-net,netdev=mynet0" ] + ] + } + ``` + + would produce the following (not including other defaults supplied by + the builder and not otherwise conflicting with the qemuargs): + + ```text + qemu-system-x86 -m 1024m --no-acpi -netdev + user,id=mynet0,hostfwd=hostip:hostport-guestip:guestport -device + virtio-net,netdev=mynet0" + ``` + + ~> **Windows Users:** [QEMU for Windows](https://qemu.weilnetz.de/) + builds are available though an environmental variable does need to be + set for QEMU for Windows to redirect stdout to the console instead of + stdout.txt. + + The following shows the environment variable that needs to be set for + Windows QEMU support: + + ```text + setx SDL_STDIO_REDIRECT=0 + ``` + + You can also use the `SSHHostPort` template variable to produce a packer + template that can be invoked by `make` in parallel: + + ```json + { + "qemuargs": [ + [ "-netdev", "user,hostfwd=tcp::{{ .SSHHostPort }}-:22,id=forward"], + [ "-device", "virtio-net,netdev=forward,id=net0"] + ] + } + ``` + + `make -j 3 my-awesome-packer-templates` spawns 3 packer processes, each + of which will bind to their own SSH port as determined by each process. + This will also work with WinRM, just change the port forward in + `qemuargs` to map to WinRM's default port of `5985` or whatever value + you have the service set to listen on. + + This is a template engine and allows access to the following variables: + `{{ .HTTPIP }}`, `{{ .HTTPPort }}`, `{{ .HTTPDir }}`, + `{{ .OutputDir }}`, `{{ .Name }}`, and `{{ .SSHHostPort }}` + +- `qemu_binary` (string) - The name of the Qemu binary to look for. This + defaults to qemu-system-x86_64, but may need to be changed for + some platforms. For example qemu-kvm, or qemu-system-i386 may be a + better choice for some systems. + +- `qmp_enable` (bool) - Enable QMP socket. Location is specified by `qmp_socket_path`. Defaults + to false. + +- `qmp_socket_path` (string) - QMP Socket Path when `qmp_enable` is true. Defaults to + `output_directory`/`vm_name`.monitor. + +- `use_default_display` (bool) - If true, do not pass a -display option + to qemu, allowing it to choose the default. This may be needed when running + under macOS, and getting errors about sdl not being available. + +- `display` (string) - What QEMU -display option to use. Defaults to gtk, use none to not pass the + -display option allowing QEMU to choose the default. This may be needed when + running under macOS, and getting errors about sdl not being available. + +- `vnc_bind_address` (string) - The IP address that should be + binded to for VNC. By default packer will use 127.0.0.1 for this. If you + wish to bind to all interfaces use 0.0.0.0. + +- `vnc_use_password` (bool) - Whether or not to set a password on the VNC server. This option + automatically enables the QMP socket. See `qmp_socket_path`. Defaults to + `false`. + +- `vnc_port_min` (int) - The minimum and maximum port + to use for VNC access to the virtual machine. The builder uses VNC to type + the initial boot_command. Because Packer generally runs in parallel, + Packer uses a randomly chosen port in this range that appears available. By + default this is 5900 to 6000. The minimum and maximum ports are inclusive. + +- `vnc_port_max` (int) - VNC Port Max + +- `vm_name` (string) - This is the name of the image (QCOW2 or IMG) file for + the new virtual machine. By default this is packer-BUILDNAME, where + "BUILDNAME" is the name of the build. Currently, no file extension will be + used unless it is specified in this option. + +- `cdrom_interface` (string) - The interface to use for the CDROM device which contains the ISO image. + Allowed values include any of `ide`, `scsi`, `virtio` or + `virtio-scsi`. The Qemu builder uses `virtio` by default. + Some ARM64 images require `virtio-scsi`. diff --git a/website/pages/partials/builder/scaleway/Config-not-required.mdx b/website/pages/partials/builder/scaleway/Config-not-required.mdx index ae0146e28..20a417b83 100644 --- a/website/pages/partials/builder/scaleway/Config-not-required.mdx +++ b/website/pages/partials/builder/scaleway/Config-not-required.mdx @@ -1,18 +1,18 @@ -- `snapshot_name` (string) - The name of the resulting snapshot that will - appear in your account. Default packer-TIMESTAMP - -- `image_name` (string) - The name of the resulting image that will appear in - your account. Default packer-TIMESTAMP - -- `server_name` (string) - The name assigned to the server. Default - packer-UUID - -- `bootscript` (string) - The id of an existing bootscript to use when - booting the server. - -- `boottype` (string) - The type of boot, can be either local or - bootscript, Default bootscript - -- `remove_volume` (bool) - Remove Volume \ No newline at end of file +- `snapshot_name` (string) - The name of the resulting snapshot that will + appear in your account. Default packer-TIMESTAMP + +- `image_name` (string) - The name of the resulting image that will appear in + your account. Default packer-TIMESTAMP + +- `server_name` (string) - The name assigned to the server. Default + packer-UUID + +- `bootscript` (string) - The id of an existing bootscript to use when + booting the server. + +- `boottype` (string) - The type of boot, can be either local or + bootscript, Default bootscript + +- `remove_volume` (bool) - Remove Volume diff --git a/website/pages/partials/builder/scaleway/Config-required.mdx b/website/pages/partials/builder/scaleway/Config-required.mdx index 0650c8529..cafb63def 100644 --- a/website/pages/partials/builder/scaleway/Config-required.mdx +++ b/website/pages/partials/builder/scaleway/Config-required.mdx @@ -1,29 +1,28 @@ -- `api_token` (string) - The token to use to authenticate with your account. - It can also be specified via environment variable SCALEWAY_API_TOKEN. You - can see and generate tokens in the "Credentials" - section of the control panel. - -- `organization_id` (string) - The organization id to use to identify your - organization. It can also be specified via environment variable - SCALEWAY_ORGANIZATION. Your organization id is available in the - "Account" section of the - control panel. - Previously named: api_access_key with environment variable: SCALEWAY_API_ACCESS_KEY - -- `region` (string) - The name of the region to launch the server in (par1 - or ams1). Consequently, this is the region where the snapshot will be - available. - -- `image` (string) - The UUID of the base image to use. This is the image - that will be used to launch a new server and provision it. See - the images list - get the complete list of the accepted image UUID. - -- `commercial_type` (string) - The name of the server commercial type: - ARM64-128GB, ARM64-16GB, ARM64-2GB, ARM64-32GB, ARM64-4GB, - ARM64-64GB, ARM64-8GB, C1, C2L, C2M, C2S, START1-L, - START1-M, START1-S, START1-XS, X64-120GB, X64-15GB, X64-30GB, - X64-60GB - \ No newline at end of file +- `api_token` (string) - The token to use to authenticate with your account. + It can also be specified via environment variable SCALEWAY_API_TOKEN. You + can see and generate tokens in the "Credentials" + section of the control panel. + +- `organization_id` (string) - The organization id to use to identify your + organization. It can also be specified via environment variable + SCALEWAY_ORGANIZATION. Your organization id is available in the + "Account" section of the + control panel. + Previously named: api_access_key with environment variable: SCALEWAY_API_ACCESS_KEY + +- `region` (string) - The name of the region to launch the server in (par1 + or ams1). Consequently, this is the region where the snapshot will be + available. + +- `image` (string) - The UUID of the base image to use. This is the image + that will be used to launch a new server and provision it. See + the images list + get the complete list of the accepted image UUID. + +- `commercial_type` (string) - The name of the server commercial type: + ARM64-128GB, ARM64-16GB, ARM64-2GB, ARM64-32GB, ARM64-4GB, + ARM64-64GB, ARM64-8GB, C1, C2L, C2M, C2S, START1-L, + START1-M, START1-S, START1-XS, X64-120GB, X64-15GB, X64-30GB, + X64-60GB diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx index e6a643f42..4872b402d 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx @@ -1,4 +1,3 @@ -- `skip_region_validation` (bool) - Do not check region and zone when validate. - \ No newline at end of file +- `skip_region_validation` (bool) - Do not check region and zone when validate. diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx index 4f0164c62..7c4dd4c3b 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx @@ -1,16 +1,15 @@ -- `secret_id` (string) - Tencentcloud secret id. You should set it directly, - or set the TENCENTCLOUD_ACCESS_KEY environment variable. - -- `secret_key` (string) - Tencentcloud secret key. You should set it directly, - or set the TENCENTCLOUD_SECRET_KEY environment variable. - -- `region` (string) - The region where your cvm will be launch. You should - reference Region and Zone - for parameter taking. - -- `zone` (string) - The zone where your cvm will be launch. You should - reference Region and Zone - for parameter taking. - \ No newline at end of file +- `secret_id` (string) - Tencentcloud secret id. You should set it directly, + or set the TENCENTCLOUD_ACCESS_KEY environment variable. + +- `secret_key` (string) - Tencentcloud secret key. You should set it directly, + or set the TENCENTCLOUD_SECRET_KEY environment variable. + +- `region` (string) - The region where your cvm will be launch. You should + reference Region and Zone + for parameter taking. + +- `zone` (string) - The zone where your cvm will be launch. You should + reference Region and Zone + for parameter taking. diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx index f04670148..abfcab9e0 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx @@ -1,21 +1,21 @@ -- `image_description` (string) - Image description. - -- `reboot` (bool) - Whether shutdown cvm to create Image. Default value is - false. - -- `force_poweroff` (bool) - Whether to force power off cvm when create image. - Default value is false. - -- `sysprep` (bool) - Whether enable Sysprep during creating windows image. - -- `image_force_delete` (bool) - Image Force Delete -- `image_copy_regions` ([]string) - regions that will be copied to after - your image created. - -- `image_share_accounts` ([]string) - accounts that will be shared to - after your image created. - -- `skip_region_validation` (bool) - Do not check region and zone when validate. - \ No newline at end of file +- `image_description` (string) - Image description. + +- `reboot` (bool) - Whether shutdown cvm to create Image. Default value is + false. + +- `force_poweroff` (bool) - Whether to force power off cvm when create image. + Default value is false. + +- `sysprep` (bool) - Whether enable Sysprep during creating windows image. + +- `image_force_delete` (bool) - Image Force Delete + +- `image_copy_regions` ([]string) - regions that will be copied to after + your image created. + +- `image_share_accounts` ([]string) - accounts that will be shared to + after your image created. + +- `skip_region_validation` (bool) - Do not check region and zone when validate. diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx index bd1f46aa7..1114f7be4 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx @@ -1,6 +1,5 @@ -- `image_name` (string) - The name you want to create your customize image, - it should be composed of no more than 60 characters, of letters, numbers - or minus sign. - \ No newline at end of file +- `image_name` (string) - The name you want to create your customize image, + it should be composed of no more than 60 characters, of letters, numbers + or minus sign. diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx index 8b354a99d..be961d01b 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx @@ -1,63 +1,65 @@ -- `associate_public_ip_address` (bool) - Whether allocate public ip to your cvm. - Default value is false. - -- `instance_name` (string) - Instance name. - -- `disk_type` (string) - Root disk type your cvm will be launched by. you could - reference Disk Type - for parameter taking. - -- `disk_size` (int64) - Root disk size your cvm will be launched by. values range(in GB): - -- `data_disks` ([]tencentCloudDataDisk) - Add one or more data disks to the instance before creating the image. - Note that if the source image has data disk snapshots, this argument - will be ignored, and the running instance will use source image data - disk settings, in such case, `disk_type` argument will be used as disk - type for all data disks, and each data disk size will use the origin - value in source image. - The data disks allow for the following argument: - - `disk_type` - Type of the data disk. Valid choices: `CLOUD_BASIC`, `CLOUD_PREMIUM` and `CLOUD_SSD`. - - `disk_size` - Size of the data disk. - - `disk_snapshot_id` - Id of the snapshot for a data disk. - -- `vpc_id` (string) - Specify vpc your cvm will be launched by. - -- `vpc_name` (string) - Specify vpc name you will create. if vpc_id is not set, packer will - create a vpc for you named this parameter. - -- `vpc_ip` (string) - Vpc Ip -- `subnet_id` (string) - Specify subnet your cvm will be launched by. - -- `subnet_name` (string) - Specify subnet name you will create. if subnet_id is not set, packer will - create a subnet for you named this parameter. - -- `cidr_block` (string) - Specify cider block of the vpc you will create if vpc_id not set - -- `subnect_cidr_block` (string) - Specify cider block of the subnet you will create if - subnet_id not set - -- `internet_charge_type` (string) - Internet Charge Type -- `internet_max_bandwidth_out` (int64) - Max bandwidth out your cvm will be launched by(in MB). - values can be set between 1 ~ 100. - -- `security_group_id` (string) - Specify securitygroup your cvm will be launched by. - -- `security_group_name` (string) - Specify security name you will create if security_group_id not set. - -- `user_data` (string) - userdata. - -- `user_data_file` (string) - userdata file. - -- `host_name` (string) - host name. - -- `run_tags` (map[string]string) - Key/value pair tags to apply to the instance that is *launched* to - create the image. These tags are *not* applied to the resulting image. - -- `run_tag` ([]{key string, value string}) - Same as [`run_tags`](#run_tags) but defined as a singular repeatable - block containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `ssh_private_ip` (bool) - SSH Private Ip \ No newline at end of file +- `associate_public_ip_address` (bool) - Whether allocate public ip to your cvm. + Default value is false. + +- `instance_name` (string) - Instance name. + +- `disk_type` (string) - Root disk type your cvm will be launched by. you could + reference Disk Type + for parameter taking. + +- `disk_size` (int64) - Root disk size your cvm will be launched by. values range(in GB): + +- `data_disks` ([]tencentCloudDataDisk) - Add one or more data disks to the instance before creating the image. + Note that if the source image has data disk snapshots, this argument + will be ignored, and the running instance will use source image data + disk settings, in such case, `disk_type` argument will be used as disk + type for all data disks, and each data disk size will use the origin + value in source image. + The data disks allow for the following argument: + - `disk_type` - Type of the data disk. Valid choices: `CLOUD_BASIC`, `CLOUD_PREMIUM` and `CLOUD_SSD`. + - `disk_size` - Size of the data disk. + - `disk_snapshot_id` - Id of the snapshot for a data disk. + +- `vpc_id` (string) - Specify vpc your cvm will be launched by. + +- `vpc_name` (string) - Specify vpc name you will create. if vpc_id is not set, packer will + create a vpc for you named this parameter. + +- `vpc_ip` (string) - Vpc Ip + +- `subnet_id` (string) - Specify subnet your cvm will be launched by. + +- `subnet_name` (string) - Specify subnet name you will create. if subnet_id is not set, packer will + create a subnet for you named this parameter. + +- `cidr_block` (string) - Specify cider block of the vpc you will create if vpc_id not set + +- `subnect_cidr_block` (string) - Specify cider block of the subnet you will create if + subnet_id not set + +- `internet_charge_type` (string) - Internet Charge Type + +- `internet_max_bandwidth_out` (int64) - Max bandwidth out your cvm will be launched by(in MB). + values can be set between 1 ~ 100. + +- `security_group_id` (string) - Specify securitygroup your cvm will be launched by. + +- `security_group_name` (string) - Specify security name you will create if security_group_id not set. + +- `user_data` (string) - userdata. + +- `user_data_file` (string) - userdata file. + +- `host_name` (string) - host name. + +- `run_tags` (map[string]string) - Key/value pair tags to apply to the instance that is *launched* to + create the image. These tags are *not* applied to the resulting image. + +- `run_tag` ([]{key string, value string}) - Same as [`run_tags`](#run_tags) but defined as a singular repeatable + block containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `ssh_private_ip` (bool) - SSH Private Ip diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx index 99abbbaef..a0240ca50 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx @@ -1,9 +1,8 @@ -- `source_image_id` (string) - The base image id of Image you want to create - your customized image from. - -- `instance_type` (string) - The instance type your cvm will be launched by. - You should reference Instace Type - for parameter taking. - \ No newline at end of file +- `source_image_id` (string) - The base image id of Image you want to create + your customized image from. + +- `instance_type` (string) - The instance type your cvm will be launched by. + You should reference Instace Type + for parameter taking. diff --git a/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx index d68f0bf2a..1a9bf1ec4 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx @@ -1,5 +1,7 @@ -- `disk_type` (string) - Disk Type -- `disk_size` (int64) - Disk Size -- `disk_snapshot_id` (string) - Snapshot Id \ No newline at end of file +- `disk_type` (string) - Disk Type + +- `disk_size` (int64) - Disk Size + +- `disk_snapshot_id` (string) - Snapshot Id diff --git a/website/pages/partials/builder/triton/AccessConfig-not-required.mdx b/website/pages/partials/builder/triton/AccessConfig-not-required.mdx index dd99fbc01..cd363b29e 100644 --- a/website/pages/partials/builder/triton/AccessConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/AccessConfig-not-required.mdx @@ -1,20 +1,19 @@ -- `triton_url` (string) - The URL of the Triton cloud API to use. If omitted - it will default to the us-sw-1 region of the Joyent Public cloud. If you - are using your own private Triton installation you will have to supply the - URL of the cloud API of your own Triton installation. - -- `triton_user` (string) - The username of a user who has access to your - Triton account. - -- `triton_key_material` (string) - Path to the file in which the private key - of triton_key_id is stored. For example /home/soandso/.ssh/id_rsa. If - this is not specified, the SSH agent is used to sign requests with the - triton_key_id specified. - -- `insecure_skip_tls_verify` (bool) - secure_skip_tls_verify - (bool) This allows skipping TLS verification - of the Triton endpoint. It is useful when connecting to a temporary Triton - installation such as Cloud-On-A-Laptop which does not generally use a - certificate signed by a trusted root CA. The default is false. - \ No newline at end of file +- `triton_url` (string) - The URL of the Triton cloud API to use. If omitted + it will default to the us-sw-1 region of the Joyent Public cloud. If you + are using your own private Triton installation you will have to supply the + URL of the cloud API of your own Triton installation. + +- `triton_user` (string) - The username of a user who has access to your + Triton account. + +- `triton_key_material` (string) - Path to the file in which the private key + of triton_key_id is stored. For example /home/soandso/.ssh/id_rsa. If + this is not specified, the SSH agent is used to sign requests with the + triton_key_id specified. + +- `insecure_skip_tls_verify` (bool) - secure_skip_tls_verify - (bool) This allows skipping TLS verification + of the Triton endpoint. It is useful when connecting to a temporary Triton + installation such as Cloud-On-A-Laptop which does not generally use a + certificate signed by a trusted root CA. The default is false. diff --git a/website/pages/partials/builder/triton/AccessConfig-required.mdx b/website/pages/partials/builder/triton/AccessConfig-required.mdx index 403b64ed9..e4850ba28 100644 --- a/website/pages/partials/builder/triton/AccessConfig-required.mdx +++ b/website/pages/partials/builder/triton/AccessConfig-required.mdx @@ -1,10 +1,9 @@ -- `triton_account` (string) - The username of the Triton account to use when - using the Triton Cloud API. - -- `triton_key_id` (string) - The fingerprint of the public key of the SSH key - pair to use for authentication with the Triton Cloud API. If - triton_key_material is not set, it is assumed that the SSH agent has the - private key corresponding to this key ID loaded. - \ No newline at end of file +- `triton_account` (string) - The username of the Triton account to use when + using the Triton Cloud API. + +- `triton_key_id` (string) - The fingerprint of the public key of the SSH key + pair to use for authentication with the Triton Cloud API. If + triton_key_material is not set, it is assumed that the SSH agent has the + private key corresponding to this key ID loaded. diff --git a/website/pages/partials/builder/triton/AccessConfig.mdx b/website/pages/partials/builder/triton/AccessConfig.mdx index 2a1f4f9ce..c4fccb741 100644 --- a/website/pages/partials/builder/triton/AccessConfig.mdx +++ b/website/pages/partials/builder/triton/AccessConfig.mdx @@ -1,2 +1,3 @@ + AccessConfig is for common configuration related to Triton access diff --git a/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx b/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx index e60e43734..1223e8708 100644 --- a/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx +++ b/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx @@ -1,3 +1,3 @@ -- `most_recent` (bool) - Most Recent \ No newline at end of file +- `most_recent` (bool) - Most Recent diff --git a/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx b/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx index 069f5d8cb..725b952e5 100644 --- a/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx @@ -1,43 +1,42 @@ -- `source_machine_name` (string) - Name of the VM used for building the - image. Does not affect (and does not have to be the same) as the name for a - VM instance running this image. Maximum 512 characters but should in - practice be much shorter (think between 5 and 20 characters). For example - mysql-64-server-image-builder. When omitted defaults to - packer-builder-[image_name]. - -- `source_machine_networks` ([]string) - The UUID's of Triton - networks added to the source machine used for creating the image. For - example if any of the provisioners which are run need Internet access you - will need to add the UUID's of the appropriate networks here. If this is - not specified, instances will be placed into the default Triton public and - internal networks. - -- `source_machine_metadata` (map[string]string) - Triton metadata - applied to the VM used to create the image. Metadata can be used to pass - configuration information to the VM without the need for networking. See - Using the metadata - API in the - Joyent documentation for more information. This can for example be used to - set the user-script metadata key to have Triton start a user supplied - script after the VM has booted. - -- `source_machine_tags` (map[string]string) - Key/value pair tags applied to the VM used to create the image. - -- `source_machine_tag` ([]{key string, value string}) - Same as [`source_machine_tags`](#source_machine_tags) but defined as a - singular block containing a `key` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `source_machine_firewall_enabled` (bool) - Whether or not the firewall - of the VM used to create an image of is enabled. The Triton firewall only - filters inbound traffic to the VM. All outbound traffic is always allowed. - Currently this builder does not provide an interface to add specific - firewall rules. Unless you have a global rule defined in Triton which - allows SSH traffic enabling the firewall will interfere with the SSH - provisioner. The default is false. - -- `source_machine_image_filter` (MachineImageFilter) - Filters used to populate the - source_machine_image field. Example: - \ No newline at end of file +- `source_machine_name` (string) - Name of the VM used for building the + image. Does not affect (and does not have to be the same) as the name for a + VM instance running this image. Maximum 512 characters but should in + practice be much shorter (think between 5 and 20 characters). For example + mysql-64-server-image-builder. When omitted defaults to + packer-builder-[image_name]. + +- `source_machine_networks` ([]string) - The UUID's of Triton + networks added to the source machine used for creating the image. For + example if any of the provisioners which are run need Internet access you + will need to add the UUID's of the appropriate networks here. If this is + not specified, instances will be placed into the default Triton public and + internal networks. + +- `source_machine_metadata` (map[string]string) - Triton metadata + applied to the VM used to create the image. Metadata can be used to pass + configuration information to the VM without the need for networking. See + Using the metadata + API in the + Joyent documentation for more information. This can for example be used to + set the user-script metadata key to have Triton start a user supplied + script after the VM has booted. + +- `source_machine_tags` (map[string]string) - Key/value pair tags applied to the VM used to create the image. + +- `source_machine_tag` ([]{key string, value string}) - Same as [`source_machine_tags`](#source_machine_tags) but defined as a + singular block containing a `key` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `source_machine_firewall_enabled` (bool) - Whether or not the firewall + of the VM used to create an image of is enabled. The Triton firewall only + filters inbound traffic to the VM. All outbound traffic is always allowed. + Currently this builder does not provide an interface to add specific + firewall rules. Unless you have a global rule defined in Triton which + allows SSH traffic enabling the firewall will interfere with the SSH + provisioner. The default is false. + +- `source_machine_image_filter` (MachineImageFilter) - Filters used to populate the + source_machine_image field. Example: diff --git a/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx b/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx index 2855845c7..e0081fe05 100644 --- a/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx +++ b/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx @@ -1,19 +1,18 @@ -- `source_machine_package` (string) - The Triton package to use while - building the image. Does not affect (and does not have to be the same) as - the package which will be used for a VM instance running this image. On the - Joyent public cloud this could for example be g3-standard-0.5-smartos. - -- `source_machine_image` (string) - The UUID of the image to base the new - image on. Triton supports multiple types of images, called 'brands' in - Triton / Joyent lingo, for contains and VM's. See the chapter Containers - and virtual machines in - the Joyent Triton documentation for detailed information. The following - brands are currently supported by this builder:joyent andkvm. The - choice of base image automatically decides the brand. On the Joyent public - cloud a valid source_machine_image could for example be - 70e3ae72-96b6-11e6-9056-9737fd4d0764 for version 16.3.1 of the 64bit - SmartOS base image (a 'joyent' brand image). source_machine_image_filter - can be used to populate this UUID. - \ No newline at end of file +- `source_machine_package` (string) - The Triton package to use while + building the image. Does not affect (and does not have to be the same) as + the package which will be used for a VM instance running this image. On the + Joyent public cloud this could for example be g3-standard-0.5-smartos. + +- `source_machine_image` (string) - The UUID of the image to base the new + image on. Triton supports multiple types of images, called 'brands' in + Triton / Joyent lingo, for contains and VM's. See the chapter Containers + and virtual machines in + the Joyent Triton documentation for detailed information. The following + brands are currently supported by this builder:joyent andkvm. The + choice of base image automatically decides the brand. On the Joyent public + cloud a valid source_machine_image could for example be + 70e3ae72-96b6-11e6-9056-9737fd4d0764 for version 16.3.1 of the 64bit + SmartOS base image (a 'joyent' brand image). source_machine_image_filter + can be used to populate this UUID. diff --git a/website/pages/partials/builder/triton/SourceMachineConfig.mdx b/website/pages/partials/builder/triton/SourceMachineConfig.mdx index c74dc9012..c15cf7066 100644 --- a/website/pages/partials/builder/triton/SourceMachineConfig.mdx +++ b/website/pages/partials/builder/triton/SourceMachineConfig.mdx @@ -1,3 +1,4 @@ + SourceMachineConfig represents the configuration to run a machine using the SDC API in order for provisioning to take place. diff --git a/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx b/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx index 94f92c44e..b42b2fdfe 100644 --- a/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx @@ -1,22 +1,21 @@ -- `image_description` (string) - Description of the image. Maximum 512 - characters. - -- `image_homepage` (string) - URL of the homepage where users can find - information about the image. Maximum 128 characters. - -- `image_eula_url` (string) - URL of the End User License Agreement (EULA) - for the image. Maximum 128 characters. - -- `image_acls` ([]string) - The UUID's of the users which will have - access to this image. When omitted only the owner (the Triton user whose - credentials are used) will have access to the image. - -- `image_tags` (map[string]string) - Name/Value tags applied to the image. - -- `image_tag` ([]{name string, value string}) - Same as [`image_tags`](#image_tags) but defined as a singular repeatable - block containing a `name` and a `value` field. In HCL2 mode the - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - \ No newline at end of file +- `image_description` (string) - Description of the image. Maximum 512 + characters. + +- `image_homepage` (string) - URL of the homepage where users can find + information about the image. Maximum 128 characters. + +- `image_eula_url` (string) - URL of the End User License Agreement (EULA) + for the image. Maximum 128 characters. + +- `image_acls` ([]string) - The UUID's of the users which will have + access to this image. When omitted only the owner (the Triton user whose + credentials are used) will have access to the image. + +- `image_tags` (map[string]string) - Name/Value tags applied to the image. + +- `image_tag` ([]{name string, value string}) - Same as [`image_tags`](#image_tags) but defined as a singular repeatable + block containing a `name` and a `value` field. In HCL2 mode the + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. diff --git a/website/pages/partials/builder/triton/TargetImageConfig-required.mdx b/website/pages/partials/builder/triton/TargetImageConfig-required.mdx index def119892..a84f6045e 100644 --- a/website/pages/partials/builder/triton/TargetImageConfig-required.mdx +++ b/website/pages/partials/builder/triton/TargetImageConfig-required.mdx @@ -1,12 +1,11 @@ -- `image_name` (string) - The name the finished image in Triton will be - assigned. Maximum 512 characters but should in practice be much shorter - (think between 5 and 20 characters). For example postgresql-95-server for - an image used as a PostgreSQL 9.5 server. - -- `image_version` (string) - The version string for this image. Maximum 128 - characters. Any string will do but a format of Major.Minor.Patch is - strongly advised by Joyent. See Semantic Versioning - for more information on the Major.Minor.Patch versioning format. - \ No newline at end of file +- `image_name` (string) - The name the finished image in Triton will be + assigned. Maximum 512 characters but should in practice be much shorter + (think between 5 and 20 characters). For example postgresql-95-server for + an image used as a PostgreSQL 9.5 server. + +- `image_version` (string) - The version string for this image. Maximum 128 + characters. Any string will do but a format of Major.Minor.Patch is + strongly advised by Joyent. See Semantic Versioning + for more information on the Major.Minor.Patch versioning format. diff --git a/website/pages/partials/builder/triton/TargetImageConfig.mdx b/website/pages/partials/builder/triton/TargetImageConfig.mdx index d940ce624..b506ce2a7 100644 --- a/website/pages/partials/builder/triton/TargetImageConfig.mdx +++ b/website/pages/partials/builder/triton/TargetImageConfig.mdx @@ -1,3 +1,4 @@ + TargetImageConfig represents the configuration for the image to be created from the source machine. diff --git a/website/pages/partials/builder/ucloud/common/AccessConfig-not-required.mdx b/website/pages/partials/builder/ucloud/common/AccessConfig-not-required.mdx index 0116abd71..d9a466790 100644 --- a/website/pages/partials/builder/ucloud/common/AccessConfig-not-required.mdx +++ b/website/pages/partials/builder/ucloud/common/AccessConfig-not-required.mdx @@ -1,11 +1,10 @@ -- `base_url` (string) - This is the base url. (Default: `https://api.ucloud.cn`). - -- `profile` (string) - This is the UCloud profile name as set in the shared credentials file, it can - also be sourced from the `UCLOUD_PROFILE` environment variables. - -- `shared_credentials_file` (string) - This is the path to the shared credentials file, it can also be sourced from - the `UCLOUD_SHARED_CREDENTIAL_FILE` environment variables. If this is not set - and a profile is specified, `~/.ucloud/credential.json` will be used. - \ No newline at end of file +- `base_url` (string) - This is the base url. (Default: `https://api.ucloud.cn`). + +- `profile` (string) - This is the UCloud profile name as set in the shared credentials file, it can + also be sourced from the `UCLOUD_PROFILE` environment variables. + +- `shared_credentials_file` (string) - This is the path to the shared credentials file, it can also be sourced from + the `UCLOUD_SHARED_CREDENTIAL_FILE` environment variables. If this is not set + and a profile is specified, `~/.ucloud/credential.json` will be used. diff --git a/website/pages/partials/builder/ucloud/common/AccessConfig-required.mdx b/website/pages/partials/builder/ucloud/common/AccessConfig-required.mdx index f61f295ec..fa9ba8283 100644 --- a/website/pages/partials/builder/ucloud/common/AccessConfig-required.mdx +++ b/website/pages/partials/builder/ucloud/common/AccessConfig-required.mdx @@ -1,14 +1,13 @@ -- `public_key` (string) - This is the UCloud public key. It must be provided unless `profile` is set, - but it can also be sourced from the `UCLOUD_PUBLIC_KEY` environment variable. - -- `private_key` (string) - This is the UCloud private key. It must be provided unless `profile` is set, - but it can also be sourced from the `UCLOUD_PRIVATE_KEY` environment variable. - -- `region` (string) - This is the UCloud region. It must be provided, but it can also be sourced from - the `UCLOUD_REGION` environment variables. - -- `project_id` (string) - This is the UCloud project id. It must be provided, but it can also be sourced - from the `UCLOUD_PROJECT_ID` environment variables. - \ No newline at end of file +- `public_key` (string) - This is the UCloud public key. It must be provided unless `profile` is set, + but it can also be sourced from the `UCLOUD_PUBLIC_KEY` environment variable. + +- `private_key` (string) - This is the UCloud private key. It must be provided unless `profile` is set, + but it can also be sourced from the `UCLOUD_PRIVATE_KEY` environment variable. + +- `region` (string) - This is the UCloud region. It must be provided, but it can also be sourced from + the `UCLOUD_REGION` environment variables. + +- `project_id` (string) - This is the UCloud project id. It must be provided, but it can also be sourced + from the `UCLOUD_PROJECT_ID` environment variables. diff --git a/website/pages/partials/builder/ucloud/common/ImageConfig-not-required.mdx b/website/pages/partials/builder/ucloud/common/ImageConfig-not-required.mdx index 6e2af5492..156297395 100644 --- a/website/pages/partials/builder/ucloud/common/ImageConfig-not-required.mdx +++ b/website/pages/partials/builder/ucloud/common/ImageConfig-not-required.mdx @@ -1,30 +1,29 @@ -- `image_description` (string) - The description of the image. - -- `image_copy_to_mappings` ([]ImageDestination) - The array of mappings regarding the copied images to the destination regions and projects. - - - `project_id` (string) - The destination project id, where copying image in. - - - `region` (string) - The destination region, where copying image in. - - - `name` (string) - The copied image name. If not defined, builder will use `image_name` as default name. - - - `description` (string) - The copied image description. - - ```json - { - "image_copy_to_mappings": [ - { - "project_id": "{{user `ucloud_project_id`}}", - "region": "cn-sh2", - "description": "test", - "name": "packer-test-basic-sh" - } - ] - } - ``` - -- `wait_image_ready_timeout` (int) - Timeout of creating image or copying image. The default timeout is 3600 seconds if this option - is not set or is set to 0. - \ No newline at end of file +- `image_description` (string) - The description of the image. + +- `image_copy_to_mappings` ([]ImageDestination) - The array of mappings regarding the copied images to the destination regions and projects. + + - `project_id` (string) - The destination project id, where copying image in. + + - `region` (string) - The destination region, where copying image in. + + - `name` (string) - The copied image name. If not defined, builder will use `image_name` as default name. + + - `description` (string) - The copied image description. + + ```json + { + "image_copy_to_mappings": [ + { + "project_id": "{{user `ucloud_project_id`}}", + "region": "cn-sh2", + "description": "test", + "name": "packer-test-basic-sh" + } + ] + } + ``` + +- `wait_image_ready_timeout` (int) - Timeout of creating image or copying image. The default timeout is 3600 seconds if this option + is not set or is set to 0. diff --git a/website/pages/partials/builder/ucloud/common/ImageConfig-required.mdx b/website/pages/partials/builder/ucloud/common/ImageConfig-required.mdx index a73a20d53..0012649b4 100644 --- a/website/pages/partials/builder/ucloud/common/ImageConfig-required.mdx +++ b/website/pages/partials/builder/ucloud/common/ImageConfig-required.mdx @@ -1,5 +1,4 @@ -- `image_name` (string) - The name of the user-defined image, which contains 1-63 characters and only - support Chinese, English, numbers, '-\_,.:[]'. - \ No newline at end of file +- `image_name` (string) - The name of the user-defined image, which contains 1-63 characters and only + support Chinese, English, numbers, '-\_,.:[]'. diff --git a/website/pages/partials/builder/ucloud/common/ImageDestination-not-required.mdx b/website/pages/partials/builder/ucloud/common/ImageDestination-not-required.mdx index baace5269..868db7e92 100644 --- a/website/pages/partials/builder/ucloud/common/ImageDestination-not-required.mdx +++ b/website/pages/partials/builder/ucloud/common/ImageDestination-not-required.mdx @@ -1,10 +1,9 @@ -- `project_id` (string) - The destination project id, where copying image in. - -- `region` (string) - The destination region, where copying image in. - -- `name` (string) - The copied image name. If not defined, builder will use `image_name` as default name. - -- `description` (string) - The copied image description. - \ No newline at end of file +- `project_id` (string) - The destination project id, where copying image in. + +- `region` (string) - The destination region, where copying image in. + +- `name` (string) - The copied image name. If not defined, builder will use `image_name` as default name. + +- `description` (string) - The copied image description. diff --git a/website/pages/partials/builder/ucloud/common/RunConfig-not-required.mdx b/website/pages/partials/builder/ucloud/common/RunConfig-not-required.mdx index 86d2ac0b4..f7e1e42b4 100644 --- a/website/pages/partials/builder/ucloud/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/ucloud/common/RunConfig-not-required.mdx @@ -1,55 +1,54 @@ -- `instance_name` (string) - The name of instance, which contains 1-63 characters and only support Chinese, - English, numbers, '-', '\_', '.'. - -- `boot_disk_type` (string) - The type of boot disk associated to UHost instance. - Possible values are: `cloud_ssd` and `cloud_rssd` for cloud boot disk, `local_normal` and `local_ssd` - for local boot disk. (Default: `cloud_ssd`). The `cloud_ssd` and `local_ssd` are not fully supported - by all regions as boot disk type, please proceed to UCloud console for more details. - - ~> **Note:** It takes around 10 mins for boot disk initialization when `boot_disk_type` is `local_normal` or `local_ssd`. - -- `vpc_id` (string) - The ID of VPC linked to the UHost instance. If not defined `vpc_id`, the instance will use the default VPC in the current region. - -- `subnet_id` (string) - The ID of subnet under the VPC. If `vpc_id` is defined, the `subnet_id` is mandatory required. - If `vpc_id` and `subnet_id` are not defined, the instance will use the default subnet in the current region. - -- `security_group_id` (string) - The ID of the fire wall associated to UHost instance. If `security_group_id` is not defined, - the instance will use the non-recommended web fire wall, and open port include 22, 3389 by default. - It is supported by ICMP fire wall protocols. - You may refer to [security group_id](https://docs.ucloud.cn/network/firewall/firewall). - -- `eip_bandwidth` (int) - Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). (Default: `10`). - -- `eip_charge_mode` (string) - Elastic IP charge mode. Possible values are: `traffic` as pay by traffic, `bandwidth` as pay by bandwidth, - `post_accurate_bandwidth` as post pay mode. (Default: `traffic`). - Note currently default `traffic` eip charge mode not not fully support by all `availability_zone` - in the `region`, please proceed to [UCloud console](https://console.ucloud.cn/unet/eip/create) for more details. - You may refer to [eip introduction](https://docs.ucloud.cn/unet/eip/introduction). - -- `user_data` (string) - User data to apply when launching the instance. - Note that you need to be careful about escaping characters due to the templates - being JSON. It is often more convenient to use user_data_file, instead. - Packer will not automatically wait for a user script to finish before - shutting down the instance this must be handled in a provisioner. - You may refer to [user_data_document](https://docs.ucloud.cn/uhost/guide/metadata/userdata) - -- `user_data_file` (string) - Path to a file that will be used for the user data when launching the instance. - -- `min_cpu_platform` (string) - Specifies a minimum CPU platform for the the VM instance. (Default: `Intel/Auto`). - You may refer to [min_cpu_platform](https://docs.ucloud.cn/uhost/introduction/uhost/type_new) - - The Intel CPU platform: - - `Intel/Auto` as the Intel CPU platform version will be selected randomly by system; - - `Intel/IvyBridge` as Intel V2, the version of Intel CPU platform selected by system will be `Intel/IvyBridge` and above; - - `Intel/Haswell` as Intel V3, the version of Intel CPU platform selected by system will be `Intel/Haswell` and above; - - `Intel/Broadwell` as Intel V4, the version of Intel CPU platform selected by system will be `Intel/Broadwell` and above; - - `Intel/Skylake` as Intel V5, the version of Intel CPU platform selected by system will be `Intel/Skylake` and above; - - `Intel/Cascadelake` as Intel V6, the version of Intel CPU platform selected by system will be `Intel/Cascadelake`; - - The AMD CPU platform: - - `Amd/Auto` as the Amd CPU platform version will be selected randomly by system; - - `Amd/Epyc2` as the version of Amd CPU platform selected by system will be `Amd/Epyc2` and above; - -- `use_ssh_private_ip` (bool) - If this value is true, packer will connect to the created UHost instance via a private ip - instead of allocating an EIP (elastic public ip).(Default: `false`). - \ No newline at end of file +- `instance_name` (string) - The name of instance, which contains 1-63 characters and only support Chinese, + English, numbers, '-', '\_', '.'. + +- `boot_disk_type` (string) - The type of boot disk associated to UHost instance. + Possible values are: `cloud_ssd` and `cloud_rssd` for cloud boot disk, `local_normal` and `local_ssd` + for local boot disk. (Default: `cloud_ssd`). The `cloud_ssd` and `local_ssd` are not fully supported + by all regions as boot disk type, please proceed to UCloud console for more details. + + ~> **Note:** It takes around 10 mins for boot disk initialization when `boot_disk_type` is `local_normal` or `local_ssd`. + +- `vpc_id` (string) - The ID of VPC linked to the UHost instance. If not defined `vpc_id`, the instance will use the default VPC in the current region. + +- `subnet_id` (string) - The ID of subnet under the VPC. If `vpc_id` is defined, the `subnet_id` is mandatory required. + If `vpc_id` and `subnet_id` are not defined, the instance will use the default subnet in the current region. + +- `security_group_id` (string) - The ID of the fire wall associated to UHost instance. If `security_group_id` is not defined, + the instance will use the non-recommended web fire wall, and open port include 22, 3389 by default. + It is supported by ICMP fire wall protocols. + You may refer to [security group_id](https://docs.ucloud.cn/network/firewall/firewall). + +- `eip_bandwidth` (int) - Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). (Default: `10`). + +- `eip_charge_mode` (string) - Elastic IP charge mode. Possible values are: `traffic` as pay by traffic, `bandwidth` as pay by bandwidth, + `post_accurate_bandwidth` as post pay mode. (Default: `traffic`). + Note currently default `traffic` eip charge mode not not fully support by all `availability_zone` + in the `region`, please proceed to [UCloud console](https://console.ucloud.cn/unet/eip/create) for more details. + You may refer to [eip introduction](https://docs.ucloud.cn/unet/eip/introduction). + +- `user_data` (string) - User data to apply when launching the instance. + Note that you need to be careful about escaping characters due to the templates + being JSON. It is often more convenient to use user_data_file, instead. + Packer will not automatically wait for a user script to finish before + shutting down the instance this must be handled in a provisioner. + You may refer to [user_data_document](https://docs.ucloud.cn/uhost/guide/metadata/userdata) + +- `user_data_file` (string) - Path to a file that will be used for the user data when launching the instance. + +- `min_cpu_platform` (string) - Specifies a minimum CPU platform for the the VM instance. (Default: `Intel/Auto`). + You may refer to [min_cpu_platform](https://docs.ucloud.cn/uhost/introduction/uhost/type_new) + - The Intel CPU platform: + - `Intel/Auto` as the Intel CPU platform version will be selected randomly by system; + - `Intel/IvyBridge` as Intel V2, the version of Intel CPU platform selected by system will be `Intel/IvyBridge` and above; + - `Intel/Haswell` as Intel V3, the version of Intel CPU platform selected by system will be `Intel/Haswell` and above; + - `Intel/Broadwell` as Intel V4, the version of Intel CPU platform selected by system will be `Intel/Broadwell` and above; + - `Intel/Skylake` as Intel V5, the version of Intel CPU platform selected by system will be `Intel/Skylake` and above; + - `Intel/Cascadelake` as Intel V6, the version of Intel CPU platform selected by system will be `Intel/Cascadelake`; + - The AMD CPU platform: + - `Amd/Auto` as the Amd CPU platform version will be selected randomly by system; + - `Amd/Epyc2` as the version of Amd CPU platform selected by system will be `Amd/Epyc2` and above; + +- `use_ssh_private_ip` (bool) - If this value is true, packer will connect to the created UHost instance via a private ip + instead of allocating an EIP (elastic public ip).(Default: `false`). diff --git a/website/pages/partials/builder/ucloud/common/RunConfig-required.mdx b/website/pages/partials/builder/ucloud/common/RunConfig-required.mdx index 8e062bb3d..4c5a35ddd 100644 --- a/website/pages/partials/builder/ucloud/common/RunConfig-required.mdx +++ b/website/pages/partials/builder/ucloud/common/RunConfig-required.mdx @@ -1,10 +1,9 @@ -- `availability_zone` (string) - This is the UCloud availability zone where UHost instance is located. such as: `cn-bj2-02`. - You may refer to [list of availability_zone](https://docs.ucloud.cn/api/summary/regionlist) - -- `source_image_id` (string) - This is the ID of base image which you want to create your customized images with. - -- `instance_type` (string) - The type of UHost instance. - You may refer to [list of instance type](https://docs.ucloud.cn/compute/terraform/specification/instance) - \ No newline at end of file +- `availability_zone` (string) - This is the UCloud availability zone where UHost instance is located. such as: `cn-bj2-02`. + You may refer to [list of availability_zone](https://docs.ucloud.cn/api/summary/regionlist) + +- `source_image_id` (string) - This is the ID of base image which you want to create your customized images with. + +- `instance_type` (string) - The type of UHost instance. + You may refer to [list of instance type](https://docs.ucloud.cn/compute/terraform/specification/instance) diff --git a/website/pages/partials/builder/vagrant/Builder.mdx b/website/pages/partials/builder/vagrant/Builder.mdx index 9db960859..e14895d17 100644 --- a/website/pages/partials/builder/vagrant/Builder.mdx +++ b/website/pages/partials/builder/vagrant/Builder.mdx @@ -1,3 +1,4 @@ + Builder implements packer.Builder and builds the actual VirtualBox images. diff --git a/website/pages/partials/builder/vagrant/Config-not-required.mdx b/website/pages/partials/builder/vagrant/Config-not-required.mdx index c310345fd..146655af7 100644 --- a/website/pages/partials/builder/vagrant/Config-not-required.mdx +++ b/website/pages/partials/builder/vagrant/Config-not-required.mdx @@ -1,89 +1,91 @@ -- `output_dir` (string) - The directory to create that will contain your output box. We always - create this directory and run from inside of it to prevent Vagrant init - collisions. If unset, it will be set to packer- plus your buildname. - -- `checksum` (string) - The checksum for the .box file. The type of the checksum is specified - within the checksum field as a prefix, ex: "md5:{$checksum}". The type - of the checksum can also be omitted and Packer will try to infer it - based on string length. Valid values are "none", "{$checksum}", - "md5:{$checksum}", "sha1:{$checksum}", "sha256:{$checksum}", - "sha512:{$checksum}" or "file:{$path}". Here is a list of valid checksum - values: - * md5:090992ba9fd140077b0661cb75f7ce13 - * 090992ba9fd140077b0661cb75f7ce13 - * sha1:ebfb681885ddf1234c18094a45bbeafd91467911 - * ebfb681885ddf1234c18094a45bbeafd91467911 - * sha256:ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 - * ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 - * file:http://releases.ubuntu.com/20.04/MD5SUMS - * file:file://./local/path/file.sum - * file:./local/path/file.sum - * none - Although the checksum will not be verified when it is set to "none", - this is not recommended since these files can be very large and - corruption does happen from time to time. - -- `box_name` (string) - if your source_box is a boxfile that we need to add to Vagrant, this is - the name to give it. If left blank, will default to "packer_" plus your - buildname. - -- `insert_key` (bool) - If true, Vagrant will automatically insert a keypair to use for SSH, - replacing Vagrant's default insecure key inside the machine if detected. - By default, Packer sets this to false. - -- `provider` (string) - The vagrant provider. - This parameter is required when source_path have more than one provider, - or when using vagrant-cloud post-processor. Defaults to unset. - -- `communicator` (string) - Communicator -- `vagrantfile_template` (string) - What vagrantfile to use - -- `teardown_method` (string) - Whether to halt, suspend, or destroy the box when the build has - completed. Defaults to "halt" - -- `box_version` (string) - What box version to use when initializing Vagrant. - -- `template` (string) - a path to a golang template for a vagrantfile. Our default template can - be found here. The template variables available to you are - `{{ .BoxName }}`, `{{ .SyncedFolder }}`, and `{{.InsertKey}}`, which - correspond to the Packer options box_name, synced_folder, and insert_key. - -- `synced_folder` (string) - Synced Folder -- `skip_add` (bool) - Don't call "vagrant add" to add the box to your local environment; this - is necessary if you want to launch a box that is already added to your - vagrant environment. - -- `add_cacert` (string) - Equivalent to setting the - --cacert - option in vagrant add; defaults to unset. - -- `add_capath` (string) - Equivalent to setting the - --capath option - in vagrant add; defaults to unset. - -- `add_cert` (string) - Equivalent to setting the - --cert option in - vagrant add; defaults to unset. - -- `add_clean` (bool) - Equivalent to setting the - --clean flag in - vagrant add; defaults to unset. - -- `add_force` (bool) - Equivalent to setting the - --force flag in - vagrant add; defaults to unset. - -- `add_insecure` (bool) - Equivalent to setting the - --insecure flag in - vagrant add; defaults to unset. - -- `skip_package` (bool) - if true, Packer will not call vagrant package to - package your base box into its own standalone .box file. - -- `output_vagrantfile` (string) - Output Vagrantfile -- `package_include` ([]string) - Equivalent to setting the - [`--include`](https://www.vagrantup.com/docs/cli/package.html#include-x-y-z) option - in `vagrant package`; defaults to unset - \ No newline at end of file +- `output_dir` (string) - The directory to create that will contain your output box. We always + create this directory and run from inside of it to prevent Vagrant init + collisions. If unset, it will be set to packer- plus your buildname. + +- `checksum` (string) - The checksum for the .box file. The type of the checksum is specified + within the checksum field as a prefix, ex: "md5:{$checksum}". The type + of the checksum can also be omitted and Packer will try to infer it + based on string length. Valid values are "none", "{$checksum}", + "md5:{$checksum}", "sha1:{$checksum}", "sha256:{$checksum}", + "sha512:{$checksum}" or "file:{$path}". Here is a list of valid checksum + values: + * md5:090992ba9fd140077b0661cb75f7ce13 + * 090992ba9fd140077b0661cb75f7ce13 + * sha1:ebfb681885ddf1234c18094a45bbeafd91467911 + * ebfb681885ddf1234c18094a45bbeafd91467911 + * sha256:ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 + * ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 + * file:http://releases.ubuntu.com/20.04/MD5SUMS + * file:file://./local/path/file.sum + * file:./local/path/file.sum + * none + Although the checksum will not be verified when it is set to "none", + this is not recommended since these files can be very large and + corruption does happen from time to time. + +- `box_name` (string) - if your source_box is a boxfile that we need to add to Vagrant, this is + the name to give it. If left blank, will default to "packer_" plus your + buildname. + +- `insert_key` (bool) - If true, Vagrant will automatically insert a keypair to use for SSH, + replacing Vagrant's default insecure key inside the machine if detected. + By default, Packer sets this to false. + +- `provider` (string) - The vagrant provider. + This parameter is required when source_path have more than one provider, + or when using vagrant-cloud post-processor. Defaults to unset. + +- `communicator` (string) - Communicator + +- `vagrantfile_template` (string) - What vagrantfile to use + +- `teardown_method` (string) - Whether to halt, suspend, or destroy the box when the build has + completed. Defaults to "halt" + +- `box_version` (string) - What box version to use when initializing Vagrant. + +- `template` (string) - a path to a golang template for a vagrantfile. Our default template can + be found here. The template variables available to you are + `{{ .BoxName }}`, `{{ .SyncedFolder }}`, and `{{.InsertKey}}`, which + correspond to the Packer options box_name, synced_folder, and insert_key. + +- `synced_folder` (string) - Synced Folder + +- `skip_add` (bool) - Don't call "vagrant add" to add the box to your local environment; this + is necessary if you want to launch a box that is already added to your + vagrant environment. + +- `add_cacert` (string) - Equivalent to setting the + --cacert + option in vagrant add; defaults to unset. + +- `add_capath` (string) - Equivalent to setting the + --capath option + in vagrant add; defaults to unset. + +- `add_cert` (string) - Equivalent to setting the + --cert option in + vagrant add; defaults to unset. + +- `add_clean` (bool) - Equivalent to setting the + --clean flag in + vagrant add; defaults to unset. + +- `add_force` (bool) - Equivalent to setting the + --force flag in + vagrant add; defaults to unset. + +- `add_insecure` (bool) - Equivalent to setting the + --insecure flag in + vagrant add; defaults to unset. + +- `skip_package` (bool) - if true, Packer will not call vagrant package to + package your base box into its own standalone .box file. + +- `output_vagrantfile` (string) - Output Vagrantfile + +- `package_include` ([]string) - Equivalent to setting the + [`--include`](https://www.vagrantup.com/docs/cli/package.html#include-x-y-z) option + in `vagrant package`; defaults to unset diff --git a/website/pages/partials/builder/vagrant/Config-required.mdx b/website/pages/partials/builder/vagrant/Config-required.mdx index a811f3ad0..8b4f6037c 100644 --- a/website/pages/partials/builder/vagrant/Config-required.mdx +++ b/website/pages/partials/builder/vagrant/Config-required.mdx @@ -1,17 +1,16 @@ -- `source_path` (string) - URL of the vagrant box to use, or the name of the vagrant box. - hashicorp/precise64, ./mylocalbox.box and https://example.com/my-box.box - are all valid source boxes. If your source is a .box file, whether - locally or from a URL like the latter example above, you will also need - to provide a box_name. This option is required, unless you set - global_id. You may only set one or the other, not both. - -- `global_id` (string) - the global id of a Vagrant box already added to Vagrant on your system. - You can find the global id of your Vagrant boxes using the command - vagrant global-status; your global_id will be a 7-digit number and - letter comination that you'll find in the leftmost column of the - global-status output. If you choose to use global_id instead of - source_box, Packer will skip the Vagrant initialize and add steps, and - simply launch the box directly using the global id. - \ No newline at end of file +- `source_path` (string) - URL of the vagrant box to use, or the name of the vagrant box. + hashicorp/precise64, ./mylocalbox.box and https://example.com/my-box.box + are all valid source boxes. If your source is a .box file, whether + locally or from a URL like the latter example above, you will also need + to provide a box_name. This option is required, unless you set + global_id. You may only set one or the other, not both. + +- `global_id` (string) - the global id of a Vagrant box already added to Vagrant on your system. + You can find the global id of your Vagrant boxes using the command + vagrant global-status; your global_id will be a 7-digit number and + letter comination that you'll find in the leftmost column of the + global-status output. If you choose to use global_id instead of + source_box, Packer will skip the Vagrant initialize and add steps, and + simply launch the box directly using the global id. diff --git a/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx index f44ebd297..45e3ec08a 100644 --- a/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx @@ -1,14 +1,13 @@ -- `host_port_min` (int) - The minimum port to use for the Communicator port on the host machine which is forwarded - to the SSH or WinRM port on the guest machine. By default this is 2222. - -- `host_port_max` (int) - The maximum port to use for the Communicator port on the host machine which is forwarded - to the SSH or WinRM port on the guest machine. Because Packer often runs in parallel, - Packer will choose a randomly available port in this range to use as the - host port. By default this is 4444. - -- `skip_nat_mapping` (bool) - Defaults to false. When enabled, Packer - does not setup forwarded port mapping for communicator (SSH or WinRM) requests and uses ssh_port or winrm_port - on the host to communicate to the virtual machine. - \ No newline at end of file +- `host_port_min` (int) - The minimum port to use for the Communicator port on the host machine which is forwarded + to the SSH or WinRM port on the guest machine. By default this is 2222. + +- `host_port_max` (int) - The maximum port to use for the Communicator port on the host machine which is forwarded + to the SSH or WinRM port on the guest machine. Because Packer often runs in parallel, + Packer will choose a randomly available port in this range to use as the + host port. By default this is 4444. + +- `skip_nat_mapping` (bool) - Defaults to false. When enabled, Packer + does not setup forwarded port mapping for communicator (SSH or WinRM) requests and uses ssh_port or winrm_port + on the host to communicate to the virtual machine. diff --git a/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx index 9ef10b133..99908fa62 100644 --- a/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx @@ -1,45 +1,44 @@ -- `format` (string) - Either ovf or ova, this specifies the output format - of the exported virtual machine. This defaults to ovf. - -- `export_opts` ([]string) - Additional options to pass to the [VBoxManage - export](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export). - This can be useful for passing product information to include in the - resulting appliance file. Packer JSON configuration file example: - - ```json - { - "type": "virtualbox-iso", - "export_opts": - [ - "--manifest", - "--vsys", "0", - "--description", "{{user `vm_description`}}", - "--version", "{{user `vm_version`}}" - ], - "format": "ova", - } - ``` - - A VirtualBox [VM - description](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export-ovf) - may contain arbitrary strings; the GUI interprets HTML formatting. However, - the JSON format does not allow arbitrary newlines within a value. Add a - multi-line description by preparing the string in the shell before the - packer call like this (shell `>` continuation character snipped for easier - copy & paste): - - ```shell - vm_description='some - multiline - description' - - vm_version='0.2.0' - - packer build \ - -var "vm_description=${vm_description}" \ - -var "vm_version=${vm_version}" \ - "packer_conf.json" - ``` - \ No newline at end of file +- `format` (string) - Either ovf or ova, this specifies the output format + of the exported virtual machine. This defaults to ovf. + +- `export_opts` ([]string) - Additional options to pass to the [VBoxManage + export](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export). + This can be useful for passing product information to include in the + resulting appliance file. Packer JSON configuration file example: + + ```json + { + "type": "virtualbox-iso", + "export_opts": + [ + "--manifest", + "--vsys", "0", + "--description", "{{user `vm_description`}}", + "--version", "{{user `vm_version`}}" + ], + "format": "ova", + } + ``` + + A VirtualBox [VM + description](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export-ovf) + may contain arbitrary strings; the GUI interprets HTML formatting. However, + the JSON format does not allow arbitrary newlines within a value. Add a + multi-line description by preparing the string in the shell before the + packer call like this (shell `>` continuation character snipped for easier + copy & paste): + + ```shell + vm_description='some + multiline + description' + + vm_version='0.2.0' + + packer build \ + -var "vm_description=${vm_description}" \ + -var "vm_version=${vm_version}" \ + "packer_conf.json" + ``` diff --git a/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx index 8ee1d7a57..7fbe8a29c 100644 --- a/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx @@ -1,11 +1,11 @@ -- `communicator` (string) - Communicator -- `guest_additions_mode` (string) - The method by which guest additions are - made available to the guest for installation. Valid options are upload, - attach, or disable. If the mode is attach the guest additions ISO will - be attached as a CD device to the virtual machine. If the mode is upload - the guest additions ISO will be uploaded to the path specified by - guest_additions_path. The default value is upload. If disable is used, - guest additions won't be downloaded, either. - \ No newline at end of file +- `communicator` (string) - Communicator + +- `guest_additions_mode` (string) - The method by which guest additions are + made available to the guest for installation. Valid options are upload, + attach, or disable. If the mode is attach the guest additions ISO will + be attached as a CD device to the virtual machine. If the mode is upload + the guest additions ISO will be uploaded to the path specified by + guest_additions_path. The default value is upload. If disable is used, + guest additions won't be downloaded, either. diff --git a/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx index 058663be1..01620a971 100644 --- a/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx @@ -1,15 +1,14 @@ -- `cpus` (int) - The number of cpus to use for building the VM. - Defaults to 1. - -- `memory` (int) - The amount of memory to use for building the VM - in megabytes. Defaults to 512 megabytes. - -- `sound` (string) - Defaults to none. The type of audio device to use for - sound when building the VM. Some of the options that are available are - dsound, oss, alsa, pulse, coreaudio, null. - -- `usb` (bool) - Specifies whether or not to enable the USB bus when - building the VM. Defaults to false. - \ No newline at end of file +- `cpus` (int) - The number of cpus to use for building the VM. + Defaults to 1. + +- `memory` (int) - The amount of memory to use for building the VM + in megabytes. Defaults to 512 megabytes. + +- `sound` (string) - Defaults to none. The type of audio device to use for + sound when building the VM. Some of the options that are available are + dsound, oss, alsa, pulse, coreaudio, null. + +- `usb` (bool) - Specifies whether or not to enable the USB bus when + building the VM. Defaults to false. diff --git a/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx index 6fd36c64f..af1c3130d 100644 --- a/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx @@ -1,13 +1,12 @@ -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - If relative, the path is relative to the working directory when packer - is executed. This directory must not exist or be empty prior to running - the builder. By default this is output-BUILDNAME where "BUILDNAME" is the - name of the build. - -- `output_filename` (string) - This is the base name of the file (excluding the file extension) where - the resulting virtual machine will be created. By default this is the - `vm_name`. - \ No newline at end of file +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + If relative, the path is relative to the working directory when packer + is executed. This directory must not exist or be empty prior to running + the builder. By default this is output-BUILDNAME where "BUILDNAME" is the + name of the build. + +- `output_filename` (string) - This is the base name of the file (excluding the file extension) where + the resulting virtual machine will be created. By default this is the + `vm_name`. diff --git a/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx index 57715b17d..8d15a9f4e 100644 --- a/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx @@ -1,17 +1,17 @@ -- `headless` (bool) - Packer defaults to building VirtualBox virtual - machines by launching a GUI that shows the console of the machine - being built. When this value is set to true, the machine will start - without a console. - -- `vrdp_bind_address` (string) - The IP address that should be - binded to for VRDP. By default packer will use 127.0.0.1 for this. If you - wish to bind to all interfaces use 0.0.0.0. - -- `vrdp_port_min` (int) - The minimum and maximum port - to use for VRDP access to the virtual machine. Packer uses a randomly chosen - port in this range that appears available. By default this is 5900 to - 6000. The minimum and maximum ports are inclusive. - -- `vrdp_port_max` (int) - VRDP Port Max \ No newline at end of file +- `headless` (bool) - Packer defaults to building VirtualBox virtual + machines by launching a GUI that shows the console of the machine + being built. When this value is set to true, the machine will start + without a console. + +- `vrdp_bind_address` (string) - The IP address that should be + binded to for VRDP. By default packer will use 127.0.0.1 for this. If you + wish to bind to all interfaces use 0.0.0.0. + +- `vrdp_port_min` (int) - The minimum and maximum port + to use for VRDP access to the virtual machine. Packer uses a randomly chosen + port in this range that appears available. By default this is 5900 to + 6000. The minimum and maximum ports are inclusive. + +- `vrdp_port_max` (int) - VRDP Port Max diff --git a/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx index 6b44dcafe..d018be75e 100644 --- a/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx @@ -1,30 +1,29 @@ -- `shutdown_command` (string) - The command to use to gracefully shut down the - machine once all the provisioning is done. By default this is an empty - string, which tells Packer to just forcefully shut down the machine unless a - shutdown command takes place inside script so this may safely be omitted. If - one or more scripts require a reboot it is suggested to leave this blank - since reboots may fail and specify the final shutdown command in your - last script. - -- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the - shutdown_command for the virtual machine to actually shut down. If it - doesn't shut down in this time, it is an error. By default, the timeout is - 5m or five minutes. - -- `post_shutdown_delay` (duration string | ex: "1h5m2s") - The amount of time to wait after shutting - down the virtual machine. If you get the error - Error removing floppy controller, you might need to set this to 5m - or so. By default, the delay is 0s or disabled. - -- `disable_shutdown` (bool) - Packer normally halts the virtual machine after all provisioners have - run when no `shutdown_command` is defined. If this is set to `true`, Packer - *will not* halt the virtual machine but will assume that you will send the stop - signal yourself through the preseed.cfg or your final provisioner. - Packer will wait for a default of 5 minutes until the virtual machine is shutdown. - The timeout can be changed using `shutdown_timeout` option. - -- `acpi_shutdown` (bool) - If it's set to true, it will shutdown the VM via power button. It could be a good option - when keeping the machine state is necessary after shutting it down. - \ No newline at end of file +- `shutdown_command` (string) - The command to use to gracefully shut down the + machine once all the provisioning is done. By default this is an empty + string, which tells Packer to just forcefully shut down the machine unless a + shutdown command takes place inside script so this may safely be omitted. If + one or more scripts require a reboot it is suggested to leave this blank + since reboots may fail and specify the final shutdown command in your + last script. + +- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the + shutdown_command for the virtual machine to actually shut down. If it + doesn't shut down in this time, it is an error. By default, the timeout is + 5m or five minutes. + +- `post_shutdown_delay` (duration string | ex: "1h5m2s") - The amount of time to wait after shutting + down the virtual machine. If you get the error + Error removing floppy controller, you might need to set this to 5m + or so. By default, the delay is 0s or disabled. + +- `disable_shutdown` (bool) - Packer normally halts the virtual machine after all provisioners have + run when no `shutdown_command` is defined. If this is set to `true`, Packer + *will not* halt the virtual machine but will assume that you will send the stop + signal yourself through the preseed.cfg or your final provisioner. + Packer will wait for a default of 5 minutes until the virtual machine is shutdown. + The timeout can be changed using `shutdown_timeout` option. + +- `acpi_shutdown` (bool) - If it's set to true, it will shutdown the VM via power button. It could be a good option + when keeping the machine state is necessary after shutting it down. diff --git a/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx index 8a759809f..c8d8b5098 100644 --- a/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx @@ -1,7 +1,6 @@ -- `bundle_iso` (bool) - Defaults to false. When enabled, Packer includes - any attached ISO disc devices into the final virtual machine. Useful for - some live distributions that require installation media to continue to be - attached after installation. - \ No newline at end of file +- `bundle_iso` (bool) - Defaults to false. When enabled, Packer includes + any attached ISO disc devices into the final virtual machine. Useful for + some live distributions that require installation media to continue to be + attached after installation. diff --git a/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx index 713e1fe3a..a5b3f982e 100644 --- a/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx @@ -1,17 +1,16 @@ -- `vboxmanage` ([][]string) - Custom `VBoxManage` commands to execute in order to further customize - the virtual machine being created. The value of this is an array of - commands to execute. The commands are executed in the order defined in - the template. For each command, the command is defined itself as an - array of strings, where each string represents a single argument on the - command-line to `VBoxManage` (but excluding `VBoxManage` itself). Each - arg is treated as a [configuration - template](/docs/templates/engine), where the `Name` variable is - replaced with the VM name. More details on how to use `VBoxManage` are - below. - -- `vboxmanage_post` ([][]string) - Identical to vboxmanage, - except that it is run after the virtual machine is shutdown, and before the - virtual machine is exported. - \ No newline at end of file +- `vboxmanage` ([][]string) - Custom `VBoxManage` commands to execute in order to further customize + the virtual machine being created. The value of this is an array of + commands to execute. The commands are executed in the order defined in + the template. For each command, the command is defined itself as an + array of strings, where each string represents a single argument on the + command-line to `VBoxManage` (but excluding `VBoxManage` itself). Each + arg is treated as a [configuration + template](/docs/templates/engine), where the `Name` variable is + replaced with the VM name. More details on how to use `VBoxManage` are + below. + +- `vboxmanage_post` ([][]string) - Identical to vboxmanage, + except that it is run after the virtual machine is shutdown, and before the + virtual machine is exported. diff --git a/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx index 46475fa29..69c87362c 100644 --- a/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx @@ -1,10 +1,10 @@ -- `communicator` (string) - Communicator -- `virtualbox_version_file` (\*string) - The path within the virtual machine to - upload a file that contains the VirtualBox version that was used to create - the machine. This information can be useful for provisioning. By default - this is .vbox_version, which will generally be upload it into the - home directory. Set to an empty string to skip uploading this file, which - can be useful when using the none communicator. - \ No newline at end of file +- `communicator` (string) - Communicator + +- `virtualbox_version_file` (\*string) - The path within the virtual machine to + upload a file that contains the VirtualBox version that was used to create + the machine. This information can be useful for provisioning. By default + this is .vbox_version, which will generally be upload it into the + home directory. Set to an empty string to skip uploading this file, which + can be useful when using the none communicator. diff --git a/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx b/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx index 052c4c48f..e006546fd 100644 --- a/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx @@ -1,82 +1,81 @@ -- `disk_size` (uint) - The size, in megabytes, of the hard disk to create for the VM. By - default, this is 40000 (about 40 GB). - -- `guest_additions_path` (string) - The path on the guest virtual machine where the VirtualBox guest - additions ISO will be uploaded. By default this is - VBoxGuestAdditions.iso which should upload into the login directory of - the user. This is a configuration template where the `{{ .Version }}` - variable is replaced with the VirtualBox version. - -- `guest_additions_sha256` (string) - The SHA256 checksum of the guest additions ISO that will be uploaded to - the guest VM. By default the checksums will be downloaded from the - VirtualBox website, so this only needs to be set if you want to be - explicit about the checksum. - -- `guest_additions_url` (string) - The URL to the guest additions ISO to upload. This can also be a file - URL if the ISO is at a local path. By default, the VirtualBox builder - will attempt to find the guest additions ISO on the local file system. - If it is not available locally, the builder will download the proper - guest additions ISO from the internet. This is a template engine, and you - have access to the variable `{{ .Version }}`. - -- `guest_additions_interface` (string) - The interface type to use to mount guest additions when - guest_additions_mode is set to attach. Will default to the value set in - iso_interface, if iso_interface is set. Will default to "ide", if - iso_interface is not set. Options are "ide" and "sata". - -- `guest_os_type` (string) - The guest OS type being installed. By default this is other, but you can - get dramatic performance improvements by setting this to the proper - value. To view all available values for this run VBoxManage list - ostypes. Setting the correct value hints to VirtualBox how to optimize - the virtual hardware to work best with that operating system. - -- `hard_drive_discard` (bool) - When this value is set to true, a VDI image will be shrunk in response - to the trim command from the guest OS. The size of the cleared area must - be at least 1MB. Also set hard_drive_nonrotational to true to enable - TRIM support. - -- `hard_drive_interface` (string) - The type of controller that the primary hard drive is attached to, - defaults to ide. When set to sata, the drive is attached to an AHCI SATA - controller. When set to scsi, the drive is attached to an LsiLogic SCSI - controller. When set to pcie, the drive is attached to an NVMe - controller. Please note that when you use "pcie", you'll need to have - Virtualbox 6, install an [extension - pack](https://www.virtualbox.org/wiki/Downloads#VirtualBox6.0.14OracleVMVirtualBoxExtensionPack) - and you will need to enable EFI mode for nvme to work, ex: - - ```json - "vboxmanage": [ - [ "modifyvm", "{{.Name}}", "--firmware", "EFI" ], - ] - ``` - -- `sata_port_count` (int) - The number of ports available on any SATA controller created, defaults - to 1. VirtualBox supports up to 30 ports on a maximum of 1 SATA - controller. Increasing this value can be useful if you want to attach - additional drives. - -- `nvme_port_count` (int) - The number of ports available on any NVMe controller created, defaults - to 1. VirtualBox supports up to 255 ports on a maximum of 1 NVMe - controller. Increasing this value can be useful if you want to attach - additional drives. - -- `hard_drive_nonrotational` (bool) - Forces some guests (i.e. Windows 7+) to treat disks as SSDs and stops - them from performing disk fragmentation. Also set hard_drive_discard to - true to enable TRIM support. - -- `iso_interface` (string) - The type of controller that the ISO is attached to, defaults to ide. - When set to sata, the drive is attached to an AHCI SATA controller. - -- `keep_registered` (bool) - Set this to true if you would like to keep the VM registered with - virtualbox. Defaults to false. - -- `skip_export` (bool) - Defaults to false. When enabled, Packer will not export the VM. Useful - if the build output is not the resultant image, but created inside the - VM. - -- `vm_name` (string) - This is the name of the OVF file for the new virtual machine, without - the file extension. By default this is packer-BUILDNAME, where - "BUILDNAME" is the name of the build. - \ No newline at end of file +- `disk_size` (uint) - The size, in megabytes, of the hard disk to create for the VM. By + default, this is 40000 (about 40 GB). + +- `guest_additions_path` (string) - The path on the guest virtual machine where the VirtualBox guest + additions ISO will be uploaded. By default this is + VBoxGuestAdditions.iso which should upload into the login directory of + the user. This is a configuration template where the `{{ .Version }}` + variable is replaced with the VirtualBox version. + +- `guest_additions_sha256` (string) - The SHA256 checksum of the guest additions ISO that will be uploaded to + the guest VM. By default the checksums will be downloaded from the + VirtualBox website, so this only needs to be set if you want to be + explicit about the checksum. + +- `guest_additions_url` (string) - The URL to the guest additions ISO to upload. This can also be a file + URL if the ISO is at a local path. By default, the VirtualBox builder + will attempt to find the guest additions ISO on the local file system. + If it is not available locally, the builder will download the proper + guest additions ISO from the internet. This is a template engine, and you + have access to the variable `{{ .Version }}`. + +- `guest_additions_interface` (string) - The interface type to use to mount guest additions when + guest_additions_mode is set to attach. Will default to the value set in + iso_interface, if iso_interface is set. Will default to "ide", if + iso_interface is not set. Options are "ide" and "sata". + +- `guest_os_type` (string) - The guest OS type being installed. By default this is other, but you can + get dramatic performance improvements by setting this to the proper + value. To view all available values for this run VBoxManage list + ostypes. Setting the correct value hints to VirtualBox how to optimize + the virtual hardware to work best with that operating system. + +- `hard_drive_discard` (bool) - When this value is set to true, a VDI image will be shrunk in response + to the trim command from the guest OS. The size of the cleared area must + be at least 1MB. Also set hard_drive_nonrotational to true to enable + TRIM support. + +- `hard_drive_interface` (string) - The type of controller that the primary hard drive is attached to, + defaults to ide. When set to sata, the drive is attached to an AHCI SATA + controller. When set to scsi, the drive is attached to an LsiLogic SCSI + controller. When set to pcie, the drive is attached to an NVMe + controller. Please note that when you use "pcie", you'll need to have + Virtualbox 6, install an [extension + pack](https://www.virtualbox.org/wiki/Downloads#VirtualBox6.0.14OracleVMVirtualBoxExtensionPack) + and you will need to enable EFI mode for nvme to work, ex: + + ```json + "vboxmanage": [ + [ "modifyvm", "{{.Name}}", "--firmware", "EFI" ], + ] + ``` + +- `sata_port_count` (int) - The number of ports available on any SATA controller created, defaults + to 1. VirtualBox supports up to 30 ports on a maximum of 1 SATA + controller. Increasing this value can be useful if you want to attach + additional drives. + +- `nvme_port_count` (int) - The number of ports available on any NVMe controller created, defaults + to 1. VirtualBox supports up to 255 ports on a maximum of 1 NVMe + controller. Increasing this value can be useful if you want to attach + additional drives. + +- `hard_drive_nonrotational` (bool) - Forces some guests (i.e. Windows 7+) to treat disks as SSDs and stops + them from performing disk fragmentation. Also set hard_drive_discard to + true to enable TRIM support. + +- `iso_interface` (string) - The type of controller that the ISO is attached to, defaults to ide. + When set to sata, the drive is attached to an AHCI SATA controller. + +- `keep_registered` (bool) - Set this to true if you would like to keep the VM registered with + virtualbox. Defaults to false. + +- `skip_export` (bool) - Defaults to false. When enabled, Packer will not export the VM. Useful + if the build output is not the resultant image, but created inside the + VM. + +- `vm_name` (string) - This is the name of the OVF file for the new virtual machine, without + the file extension. By default this is packer-BUILDNAME, where + "BUILDNAME" is the name of the build. diff --git a/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx b/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx index ffde1d3de..a565af078 100644 --- a/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx @@ -1,57 +1,56 @@ -- `guest_additions_mode` (string) - The method by which guest additions are - made available to the guest for installation. Valid options are upload, - attach, or disable. If the mode is attach the guest additions ISO will - be attached as a CD device to the virtual machine. If the mode is upload - the guest additions ISO will be uploaded to the path specified by - guest_additions_path. The default value is upload. If disable is used, - guest additions won't be downloaded, either. - -- `guest_additions_path` (string) - The path on the guest virtual machine - where the VirtualBox guest additions ISO will be uploaded. By default this - is VBoxGuestAdditions.iso which should upload into the login directory of - the user. This is a configuration - template where the Version - variable is replaced with the VirtualBox version. - -- `guest_additions_interface` (string) - The interface type to use to mount - guest additions when guest_additions_mode is set to attach. Will - default to the value set in iso_interface, if iso_interface is set. - Will default to "ide", if iso_interface is not set. Options are "ide" and - "sata". - -- `guest_additions_sha256` (string) - The SHA256 checksum of the guest - additions ISO that will be uploaded to the guest VM. By default the - checksums will be downloaded from the VirtualBox website, so this only needs - to be set if you want to be explicit about the checksum. - -- `guest_additions_url` (string) - The URL to the guest additions ISO - to upload. This can also be a file URL if the ISO is at a local path. By - default, the VirtualBox builder will attempt to find the guest additions ISO - on the local file system. If it is not available locally, the builder will - download the proper guest additions ISO from the internet. - -- `import_flags` ([]string) - Additional flags to pass to - VBoxManage import. This can be used to add additional command-line flags - such as --eula-accept to accept a EULA in the OVF. - -- `import_opts` (string) - Additional options to pass to the - VBoxManage import. This can be useful for passing keepallmacs or - keepnatmacs options for existing ovf images. - -- `target_path` (string) - The path where the OVA should be saved - after download. By default, it will go in the packer cache, with a hash of - the original filename as its name. - -- `vm_name` (string) - This is the name of the OVF file for the new virtual - machine, without the file extension. By default this is packer-BUILDNAME, - where "BUILDNAME" is the name of the build. - -- `keep_registered` (bool) - Set this to true if you would like to keep - the VM registered with virtualbox. Defaults to false. - -- `skip_export` (bool) - Defaults to false. When enabled, Packer will - not export the VM. Useful if the build output is not the resultant image, - but created inside the VM. - \ No newline at end of file +- `guest_additions_mode` (string) - The method by which guest additions are + made available to the guest for installation. Valid options are upload, + attach, or disable. If the mode is attach the guest additions ISO will + be attached as a CD device to the virtual machine. If the mode is upload + the guest additions ISO will be uploaded to the path specified by + guest_additions_path. The default value is upload. If disable is used, + guest additions won't be downloaded, either. + +- `guest_additions_path` (string) - The path on the guest virtual machine + where the VirtualBox guest additions ISO will be uploaded. By default this + is VBoxGuestAdditions.iso which should upload into the login directory of + the user. This is a configuration + template where the Version + variable is replaced with the VirtualBox version. + +- `guest_additions_interface` (string) - The interface type to use to mount + guest additions when guest_additions_mode is set to attach. Will + default to the value set in iso_interface, if iso_interface is set. + Will default to "ide", if iso_interface is not set. Options are "ide" and + "sata". + +- `guest_additions_sha256` (string) - The SHA256 checksum of the guest + additions ISO that will be uploaded to the guest VM. By default the + checksums will be downloaded from the VirtualBox website, so this only needs + to be set if you want to be explicit about the checksum. + +- `guest_additions_url` (string) - The URL to the guest additions ISO + to upload. This can also be a file URL if the ISO is at a local path. By + default, the VirtualBox builder will attempt to find the guest additions ISO + on the local file system. If it is not available locally, the builder will + download the proper guest additions ISO from the internet. + +- `import_flags` ([]string) - Additional flags to pass to + VBoxManage import. This can be used to add additional command-line flags + such as --eula-accept to accept a EULA in the OVF. + +- `import_opts` (string) - Additional options to pass to the + VBoxManage import. This can be useful for passing keepallmacs or + keepnatmacs options for existing ovf images. + +- `target_path` (string) - The path where the OVA should be saved + after download. By default, it will go in the packer cache, with a hash of + the original filename as its name. + +- `vm_name` (string) - This is the name of the OVF file for the new virtual + machine, without the file extension. By default this is packer-BUILDNAME, + where "BUILDNAME" is the name of the build. + +- `keep_registered` (bool) - Set this to true if you would like to keep + the VM registered with virtualbox. Defaults to false. + +- `skip_export` (bool) - Defaults to false. When enabled, Packer will + not export the VM. Useful if the build output is not the resultant image, + but created inside the VM. diff --git a/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx b/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx index 1fe8e6bd2..279ad7c81 100644 --- a/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx +++ b/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx @@ -1,26 +1,25 @@ -- `checksum` (string) - The checksum for the source_path file. The type of the checksum is - specified within the checksum field as a prefix, ex: "md5:{$checksum}". - The type of the checksum can also be omitted and Packer will try to - infer it based on string length. Valid values are "none", "{$checksum}", - "md5:{$checksum}", "sha1:{$checksum}", "sha256:{$checksum}", - "sha512:{$checksum}" or "file:{$path}". Here is a list of valid checksum - values: - * md5:090992ba9fd140077b0661cb75f7ce13 - * 090992ba9fd140077b0661cb75f7ce13 - * sha1:ebfb681885ddf1234c18094a45bbeafd91467911 - * ebfb681885ddf1234c18094a45bbeafd91467911 - * sha256:ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 - * ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 - * file:http://releases.ubuntu.com/20.04/MD5SUMS - * file:file://./local/path/file.sum - * file:./local/path/file.sum - * none - Although the checksum will not be verified when it is set to "none", - this is not recommended since these files can be very large and - corruption does happen from time to time. - -- `source_path` (string) - The filepath or URL to an OVF or OVA file that acts as the - source of this build. - \ No newline at end of file +- `checksum` (string) - The checksum for the source_path file. The type of the checksum is + specified within the checksum field as a prefix, ex: "md5:{$checksum}". + The type of the checksum can also be omitted and Packer will try to + infer it based on string length. Valid values are "none", "{$checksum}", + "md5:{$checksum}", "sha1:{$checksum}", "sha256:{$checksum}", + "sha512:{$checksum}" or "file:{$path}". Here is a list of valid checksum + values: + * md5:090992ba9fd140077b0661cb75f7ce13 + * 090992ba9fd140077b0661cb75f7ce13 + * sha1:ebfb681885ddf1234c18094a45bbeafd91467911 + * ebfb681885ddf1234c18094a45bbeafd91467911 + * sha256:ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 + * ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 + * file:http://releases.ubuntu.com/20.04/MD5SUMS + * file:file://./local/path/file.sum + * file:./local/path/file.sum + * none + Although the checksum will not be verified when it is set to "none", + this is not recommended since these files can be very large and + corruption does happen from time to time. + +- `source_path` (string) - The filepath or URL to an OVF or OVA file that acts as the + source of this build. diff --git a/website/pages/partials/builder/virtualbox/ovf/Config.mdx b/website/pages/partials/builder/virtualbox/ovf/Config.mdx index 55488ff4b..bfa64c4f8 100644 --- a/website/pages/partials/builder/virtualbox/ovf/Config.mdx +++ b/website/pages/partials/builder/virtualbox/ovf/Config.mdx @@ -1,2 +1,3 @@ + Config is the configuration structure for the builder. diff --git a/website/pages/partials/builder/virtualbox/vm/Config-not-required.mdx b/website/pages/partials/builder/virtualbox/vm/Config-not-required.mdx index 5e53a59db..2318c7817 100644 --- a/website/pages/partials/builder/virtualbox/vm/Config-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/vm/Config-not-required.mdx @@ -1,54 +1,53 @@ -- `guest_additions_mode` (string) - The method by which guest additions are - made available to the guest for installation. Valid options are `upload`, - `attach`, or `disable`. If the mode is `attach` the guest additions ISO will - be attached as a CD device to the virtual machine. If the mode is `upload` - the guest additions ISO will be uploaded to the path specified by - `guest_additions_path`. The default value is `upload`. If `disable` is used, - guest additions won't be downloaded, either. - -- `guest_additions_path` (string) - The path on the guest virtual machine - where the VirtualBox guest additions ISO will be uploaded. By default this - is `VBoxGuestAdditions.iso` which should upload into the login directory of - the user. This is a [configuration - template](/docs/templates/engine) where the `Version` - variable is replaced with the VirtualBox version. - -- `guest_additions_sha256` (string) - The SHA256 checksum of the guest - additions ISO that will be uploaded to the guest VM. By default the - checksums will be downloaded from the VirtualBox website, so this only needs - to be set if you want to be explicit about the checksum. - -- `guest_additions_url` (string) - The URL to the guest additions ISO - to upload. This can also be a file URL if the ISO is at a local path. By - default, the VirtualBox builder will attempt to find the guest additions ISO - on the local file system. If it is not available locally, the builder will - download the proper guest additions ISO from the internet. - -- `attach_snapshot` (string) - Default to `null/empty`. The name of an - **existing** snapshot to which the builder shall attach the VM before - starting it. If no snapshot is specified the builder will simply start the - VM from it's current state i.e. snapshot. - -- `target_snapshot` (string) - Default to `null/empty`. The name of the - snapshot which shall be created after all provisioners has been run by the - builder. If no target snapshot is specified and `keep_registered` is set to - `false` the builder will revert to the snapshot to which the VM was attached - before the builder has been executed, which will revert all changes applied - by the provisioners. This is handy if only an export shall be created and no - further snapshot is required. - -- `force_delete_snapshot` (bool) - Defaults to `false`. If set to `true`, - overwrite an existing `target_snapshot`. Otherwise the builder will yield an - error if the specified target snapshot already exists. - -- `keep_registered` (bool) - Set this to `true` if you would like to keep - the VM attached to the snapshot specified by `attach_snapshot`. Otherwise - the builder will reset the VM to the snapshot to which the VM was attached - before the builder started. Defaults to `false`. - -- `skip_export` (bool) - Defaults to `false`. When enabled, Packer will - not export the VM. Useful if the builder should be applied again on the created - target snapshot. - \ No newline at end of file +- `guest_additions_mode` (string) - The method by which guest additions are + made available to the guest for installation. Valid options are `upload`, + `attach`, or `disable`. If the mode is `attach` the guest additions ISO will + be attached as a CD device to the virtual machine. If the mode is `upload` + the guest additions ISO will be uploaded to the path specified by + `guest_additions_path`. The default value is `upload`. If `disable` is used, + guest additions won't be downloaded, either. + +- `guest_additions_path` (string) - The path on the guest virtual machine + where the VirtualBox guest additions ISO will be uploaded. By default this + is `VBoxGuestAdditions.iso` which should upload into the login directory of + the user. This is a [configuration + template](/docs/templates/engine) where the `Version` + variable is replaced with the VirtualBox version. + +- `guest_additions_sha256` (string) - The SHA256 checksum of the guest + additions ISO that will be uploaded to the guest VM. By default the + checksums will be downloaded from the VirtualBox website, so this only needs + to be set if you want to be explicit about the checksum. + +- `guest_additions_url` (string) - The URL to the guest additions ISO + to upload. This can also be a file URL if the ISO is at a local path. By + default, the VirtualBox builder will attempt to find the guest additions ISO + on the local file system. If it is not available locally, the builder will + download the proper guest additions ISO from the internet. + +- `attach_snapshot` (string) - Default to `null/empty`. The name of an + **existing** snapshot to which the builder shall attach the VM before + starting it. If no snapshot is specified the builder will simply start the + VM from it's current state i.e. snapshot. + +- `target_snapshot` (string) - Default to `null/empty`. The name of the + snapshot which shall be created after all provisioners has been run by the + builder. If no target snapshot is specified and `keep_registered` is set to + `false` the builder will revert to the snapshot to which the VM was attached + before the builder has been executed, which will revert all changes applied + by the provisioners. This is handy if only an export shall be created and no + further snapshot is required. + +- `force_delete_snapshot` (bool) - Defaults to `false`. If set to `true`, + overwrite an existing `target_snapshot`. Otherwise the builder will yield an + error if the specified target snapshot already exists. + +- `keep_registered` (bool) - Set this to `true` if you would like to keep + the VM attached to the snapshot specified by `attach_snapshot`. Otherwise + the builder will reset the VM to the snapshot to which the VM was attached + before the builder started. Defaults to `false`. + +- `skip_export` (bool) - Defaults to `false`. When enabled, Packer will + not export the VM. Useful if the builder should be applied again on the created + target snapshot. diff --git a/website/pages/partials/builder/virtualbox/vm/Config-required.mdx b/website/pages/partials/builder/virtualbox/vm/Config-required.mdx index 3743c6d6a..e766d714d 100644 --- a/website/pages/partials/builder/virtualbox/vm/Config-required.mdx +++ b/website/pages/partials/builder/virtualbox/vm/Config-required.mdx @@ -1,5 +1,4 @@ -- `vm_name` (string) - This is the name of the virtual machine to which the - builder shall attach. - \ No newline at end of file +- `vm_name` (string) - This is the name of the virtual machine to which the + builder shall attach. diff --git a/website/pages/partials/builder/virtualbox/vm/Config.mdx b/website/pages/partials/builder/virtualbox/vm/Config.mdx index 01a0b80df..c5617895c 100644 --- a/website/pages/partials/builder/virtualbox/vm/Config.mdx +++ b/website/pages/partials/builder/virtualbox/vm/Config.mdx @@ -1,2 +1,3 @@ + Config is the configuration structure for the builder. diff --git a/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx index c120700a2..5c3fd41db 100644 --- a/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx @@ -1,41 +1,40 @@ -- `cleanup_remote_cache` (bool) - When set to true, Packer will cleanup the cache folder where the ISO file is stored during the build on the remote machine. - By default, this is set to false. - -- `fusion_app_path` (string) - Path to "VMware Fusion.app". By default this is - /Applications/VMware Fusion.app but this setting allows you to - customize this. - -- `remote_type` (string) - The type of remote machine that will be used to - build this VM rather than a local desktop product. The only value accepted - for this currently is esx5. If this is not set, a desktop product will - be used. By default, this is not set. - -- `remote_datastore` (string) - The path to the datastore where the VM will be stored - on the ESXi machine. - -- `remote_cache_datastore` (string) - The path to the datastore where supporting files - will be stored during the build on the remote machine. - -- `remote_cache_directory` (string) - The path where the ISO and/or floppy files will - be stored during the build on the remote machine. The path is relative to - the remote_cache_datastore on the remote machine. - -- `remote_host` (string) - The host of the remote machine used for access. - This is only required if remote_type is enabled. - -- `remote_port` (int) - The SSH port of the remote machine - -- `remote_username` (string) - The SSH username used to access the remote machine. - -- `remote_password` (string) - The SSH password for access to the remote machine. - -- `remote_private_key_file` (string) - The SSH key for access to the remote machine. - -- `skip_validate_credentials` (bool) - When Packer is preparing to run a - remote esxi build, and export is not disable, by default it runs a no-op - ovftool command to make sure that the remote_username and remote_password - given are valid. If you set this flag to true, Packer will skip this - validation. Default: false. - \ No newline at end of file +- `cleanup_remote_cache` (bool) - When set to true, Packer will cleanup the cache folder where the ISO file is stored during the build on the remote machine. + By default, this is set to false. + +- `fusion_app_path` (string) - Path to "VMware Fusion.app". By default this is + /Applications/VMware Fusion.app but this setting allows you to + customize this. + +- `remote_type` (string) - The type of remote machine that will be used to + build this VM rather than a local desktop product. The only value accepted + for this currently is esx5. If this is not set, a desktop product will + be used. By default, this is not set. + +- `remote_datastore` (string) - The path to the datastore where the VM will be stored + on the ESXi machine. + +- `remote_cache_datastore` (string) - The path to the datastore where supporting files + will be stored during the build on the remote machine. + +- `remote_cache_directory` (string) - The path where the ISO and/or floppy files will + be stored during the build on the remote machine. The path is relative to + the remote_cache_datastore on the remote machine. + +- `remote_host` (string) - The host of the remote machine used for access. + This is only required if remote_type is enabled. + +- `remote_port` (int) - The SSH port of the remote machine + +- `remote_username` (string) - The SSH username used to access the remote machine. + +- `remote_password` (string) - The SSH password for access to the remote machine. + +- `remote_private_key_file` (string) - The SSH key for access to the remote machine. + +- `skip_validate_credentials` (bool) - When Packer is preparing to run a + remote esxi build, and export is not disable, by default it runs a no-op + ovftool command to make sure that the remote_username and remote_password + given are valid. If you set this flag to true, Packer will skip this + validation. Default: false. diff --git a/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx index 3fb2f13c5..4866f61ed 100644 --- a/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx @@ -1,39 +1,38 @@ -- `format` (string) - Either "ovf", "ova" or "vmx", this specifies the output - format of the exported virtual machine. This defaults to "ovf". - Before using this option, you need to install ovftool. This option - currently only works when option remote_type is set to "esx5". - Since ovftool is only capable of password based authentication - remote_password must be set when exporting the VM. - -- `ovftool_options` ([]string) - Extra options to pass to ovftool during export. Each item in the array - is a new argument. The options `--noSSLVerify`, `--skipManifestCheck`, - and `--targetType` are reserved, and should not be passed to this - argument. Currently, exporting the build VM (with ovftool) is only - supported when building on ESXi e.g. when `remote_type` is set to - `esx5`. See the [Building on a Remote vSphere - Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) - section below for more info. - -- `skip_export` (bool) - Defaults to `false`. When enabled, Packer will not export the VM. Useful - if the build output is not the resultant image, but created inside the - VM. Currently, exporting the build VM is only supported when building on - ESXi e.g. when `remote_type` is set to `esx5`. See the [Building on a - Remote vSphere - Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) - section below for more info. - -- `keep_registered` (bool) - Set this to true if you would like to keep - the VM registered with the remote ESXi server. If you do not need to export - the vm, then also set skip_export: true in order to avoid an unnecessary - step of using ovftool to export the vm. Defaults to false. - -- `skip_compaction` (bool) - VMware-created disks are defragmented and - compacted at the end of the build process using vmware-vdiskmanager or - vmkfstools in ESXi. In certain rare cases, this might actually end up - making the resulting disks slightly larger. If you find this to be the case, - you can disable compaction using this configuration value. Defaults to - false. Default to true for ESXi when disk_type_id is not explicitly - defined and false otherwise. - \ No newline at end of file +- `format` (string) - Either "ovf", "ova" or "vmx", this specifies the output + format of the exported virtual machine. This defaults to "ovf". + Before using this option, you need to install ovftool. This option + currently only works when option remote_type is set to "esx5". + Since ovftool is only capable of password based authentication + remote_password must be set when exporting the VM. + +- `ovftool_options` ([]string) - Extra options to pass to ovftool during export. Each item in the array + is a new argument. The options `--noSSLVerify`, `--skipManifestCheck`, + and `--targetType` are reserved, and should not be passed to this + argument. Currently, exporting the build VM (with ovftool) is only + supported when building on ESXi e.g. when `remote_type` is set to + `esx5`. See the [Building on a Remote vSphere + Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) + section below for more info. + +- `skip_export` (bool) - Defaults to `false`. When enabled, Packer will not export the VM. Useful + if the build output is not the resultant image, but created inside the + VM. Currently, exporting the build VM is only supported when building on + ESXi e.g. when `remote_type` is set to `esx5`. See the [Building on a + Remote vSphere + Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) + section below for more info. + +- `keep_registered` (bool) - Set this to true if you would like to keep + the VM registered with the remote ESXi server. If you do not need to export + the vm, then also set skip_export: true in order to avoid an unnecessary + step of using ovftool to export the vm. Defaults to false. + +- `skip_compaction` (bool) - VMware-created disks are defragmented and + compacted at the end of the build process using vmware-vdiskmanager or + vmkfstools in ESXi. In certain rare cases, this might actually end up + making the resulting disks slightly larger. If you find this to be the case, + you can disable compaction using this configuration value. Defaults to + false. Default to true for ESXi when disk_type_id is not explicitly + defined and false otherwise. diff --git a/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx index 4a3560313..6628adee2 100644 --- a/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx @@ -1,88 +1,87 @@ -- `cpus` (int) - The number of cpus to use when building the VM. - -- `memory` (int) - The amount of memory to use when building the VM in megabytes. - -- `cores` (int) - The number of cores per socket to use when building the VM. This - corresponds to the cpuid.coresPerSocket option in the .vmx file. - -- `network` (string) - This is the network type that the virtual machine will be created with. - This can be one of the generic values that map to a device such as - hostonly, nat, or bridged. If the network is not one of these values, - then it is assumed to be a VMware network device. (VMnet0..x) - -- `network_adapter_type` (string) - This is the ethernet adapter type the the virtual machine will be - created with. By default the `e1000` network adapter type will be used - by Packer. For more information, please consult [Choosing a network - adapter for your virtual - machine](https://kb.vmware.com/s/article/1001805) for desktop VMware - clients. For ESXi, refer to the proper ESXi documentation. - -- `sound` (bool) - Specify whether to enable VMware's virtual soundcard device when - building the VM. Defaults to false. - -- `usb` (bool) - Enable VMware's USB bus when building the guest VM. Defaults to false. - To enable usage of the XHCI bus for USB 3 (5 Gbit/s), one can use the - vmx_data option to enable it by specifying true for the usb_xhci.present - property. - -- `serial` (string) - This specifies a serial port to add to the VM. It has a format of - `Type:option1,option2,...`. The field `Type` can be one of the following - values: `FILE`, `DEVICE`, `PIPE`, `AUTO`, or `NONE`. - - * `FILE:path(,yield)` - Specifies the path to the local file to be used - as the serial port. - - * `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - * `DEVICE:path(,yield)` - Specifies the path to the local device to be -   used as the serial port. If `path` is empty, then default to the first - serial port. - - * `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - * `PIPE:path,endpoint,host(,yield)` - Specifies to use the named-pipe - "path" as a serial port. This has a few options that determine how the - VM should use the named-pipe. - - * `endpoint` (string) - Chooses the type of the VM-end, which can be - either a `client` or `server`. - - * `host` (string) - Chooses the type of the host-end, which can - be either `app` (application) or `vm` (another virtual-machine). - - * `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - * `AUTO:(yield)` - Specifies to use auto-detection to determine the - serial port to use. This has one option to determine how the VM should - support the serial port. - - * `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - * `NONE` - Specifies to not use a serial port. (default) - -- `parallel` (string) - This specifies a parallel port to add to the VM. It has the format of - `Type:option1,option2,...`. Type can be one of the following values: - `FILE`, `DEVICE`, `AUTO`, or `NONE`. - - * `FILE:path` - Specifies the path to the local file to be used - for the parallel port. - - * `DEVICE:path` - Specifies the path to the local device to be used - for the parallel port. - - * `AUTO:direction` - Specifies to use auto-detection to determine the - parallel port. Direction can be `BI` to specify bidirectional - communication or `UNI` to specify unidirectional communication. - - * `NONE` - Specifies to not use a parallel port. (default) - \ No newline at end of file +- `cpus` (int) - The number of cpus to use when building the VM. + +- `memory` (int) - The amount of memory to use when building the VM in megabytes. + +- `cores` (int) - The number of cores per socket to use when building the VM. This + corresponds to the cpuid.coresPerSocket option in the .vmx file. + +- `network` (string) - This is the network type that the virtual machine will be created with. + This can be one of the generic values that map to a device such as + hostonly, nat, or bridged. If the network is not one of these values, + then it is assumed to be a VMware network device. (VMnet0..x) + +- `network_adapter_type` (string) - This is the ethernet adapter type the the virtual machine will be + created with. By default the `e1000` network adapter type will be used + by Packer. For more information, please consult [Choosing a network + adapter for your virtual + machine](https://kb.vmware.com/s/article/1001805) for desktop VMware + clients. For ESXi, refer to the proper ESXi documentation. + +- `sound` (bool) - Specify whether to enable VMware's virtual soundcard device when + building the VM. Defaults to false. + +- `usb` (bool) - Enable VMware's USB bus when building the guest VM. Defaults to false. + To enable usage of the XHCI bus for USB 3 (5 Gbit/s), one can use the + vmx_data option to enable it by specifying true for the usb_xhci.present + property. + +- `serial` (string) - This specifies a serial port to add to the VM. It has a format of + `Type:option1,option2,...`. The field `Type` can be one of the following + values: `FILE`, `DEVICE`, `PIPE`, `AUTO`, or `NONE`. + + * `FILE:path(,yield)` - Specifies the path to the local file to be used + as the serial port. + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `DEVICE:path(,yield)` - Specifies the path to the local device to be +   used as the serial port. If `path` is empty, then default to the first + serial port. + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `PIPE:path,endpoint,host(,yield)` - Specifies to use the named-pipe + "path" as a serial port. This has a few options that determine how the + VM should use the named-pipe. + + * `endpoint` (string) - Chooses the type of the VM-end, which can be + either a `client` or `server`. + + * `host` (string) - Chooses the type of the host-end, which can + be either `app` (application) or `vm` (another virtual-machine). + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `AUTO:(yield)` - Specifies to use auto-detection to determine the + serial port to use. This has one option to determine how the VM should + support the serial port. + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `NONE` - Specifies to not use a serial port. (default) + +- `parallel` (string) - This specifies a parallel port to add to the VM. It has the format of + `Type:option1,option2,...`. Type can be one of the following values: + `FILE`, `DEVICE`, `AUTO`, or `NONE`. + + * `FILE:path` - Specifies the path to the local file to be used + for the parallel port. + + * `DEVICE:path` - Specifies the path to the local device to be used + for the parallel port. + + * `AUTO:direction` - Specifies to use auto-detection to determine the + parallel port. Direction can be `BI` to specify bidirectional + communication or `UNI` to specify unidirectional communication. + + * `NONE` - Specifies to not use a parallel port. (default) diff --git a/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx index 99deb6e10..6487377d5 100644 --- a/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx @@ -1,9 +1,8 @@ -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - If relative, the path is relative to the working directory when packer - is executed. This directory must not exist or be empty prior to running - the builder. By default this is output-BUILDNAME where "BUILDNAME" is the - name of the build. - \ No newline at end of file +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + If relative, the path is relative to the working directory when packer + is executed. This directory must not exist or be empty prior to running + the builder. By default this is output-BUILDNAME where "BUILDNAME" is the + name of the build. diff --git a/website/pages/partials/builder/vmware/common/ParallelUnion.mdx b/website/pages/partials/builder/vmware/common/ParallelUnion.mdx index fc2e092f6..f988ee08d 100644 --- a/website/pages/partials/builder/vmware/common/ParallelUnion.mdx +++ b/website/pages/partials/builder/vmware/common/ParallelUnion.mdx @@ -1,2 +1,3 @@ - parallel port + +parallel port diff --git a/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx index 79212e926..b1ff38515 100644 --- a/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx @@ -1,30 +1,30 @@ -- `headless` (bool) - Packer defaults to building VMware virtual machines - by launching a GUI that shows the console of the machine being built. When - this value is set to true, the machine will start without a console. For - VMware machines, Packer will output VNC connection information in case you - need to connect to the console to debug the build process. - Some users have experienced issues where Packer cannot properly connect - to a VM if it is headless; this appears to be a result of not ever having - launched the VMWare GUI and accepting the evaluation license, or - supplying a real license. If you experience this, launching VMWare and - accepting the license should resolve your problem. - -- `vnc_bind_address` (string) - The IP address that should be - binded to for VNC. By default packer will use 127.0.0.1 for this. If you - wish to bind to all interfaces use 0.0.0.0. - -- `vnc_port_min` (int) - The minimum and maximum port - to use for VNC access to the virtual machine. The builder uses VNC to type - the initial boot_command. Because Packer generally runs in parallel, - Packer uses a randomly chosen port in this range that appears available. By - default this is 5900 to 6000. The minimum and maximum ports are - inclusive. - -- `vnc_port_max` (int) - VNC Port Max -- `vnc_disable_password` (bool) - Don't auto-generate a VNC password that - is used to secure the VNC communication with the VM. This must be set to - true if building on ESXi 6.5 and 6.7 with VNC enabled. Defaults to - false. - \ No newline at end of file +- `headless` (bool) - Packer defaults to building VMware virtual machines + by launching a GUI that shows the console of the machine being built. When + this value is set to true, the machine will start without a console. For + VMware machines, Packer will output VNC connection information in case you + need to connect to the console to debug the build process. + Some users have experienced issues where Packer cannot properly connect + to a VM if it is headless; this appears to be a result of not ever having + launched the VMWare GUI and accepting the evaluation license, or + supplying a real license. If you experience this, launching VMWare and + accepting the license should resolve your problem. + +- `vnc_bind_address` (string) - The IP address that should be + binded to for VNC. By default packer will use 127.0.0.1 for this. If you + wish to bind to all interfaces use 0.0.0.0. + +- `vnc_port_min` (int) - The minimum and maximum port + to use for VNC access to the virtual machine. The builder uses VNC to type + the initial boot_command. Because Packer generally runs in parallel, + Packer uses a randomly chosen port in this range that appears available. By + default this is 5900 to 6000. The minimum and maximum ports are + inclusive. + +- `vnc_port_max` (int) - VNC Port Max + +- `vnc_disable_password` (bool) - Don't auto-generate a VNC password that + is used to secure the VNC communication with the VM. This must be set to + true if building on ESXi 6.5 and 6.7 with VNC enabled. Defaults to + false. diff --git a/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx b/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx index 067351033..b95b6cfe5 100644 --- a/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx +++ b/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx @@ -1,2 +1,3 @@ - serial conversions + +serial conversions diff --git a/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx index 6059bfc40..eda25becc 100644 --- a/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx @@ -1,13 +1,12 @@ -- `tools_upload_flavor` (string) - The flavor of the VMware Tools ISO to - upload into the VM. Valid values are darwin, linux, and windows. By - default, this is empty, which means VMware tools won't be uploaded. - -- `tools_upload_path` (string) - The path in the VM to upload the VMware tools. This only takes effect if - `tools_upload_flavor` is non-empty. This is a [configuration - template](/docs/templates/engine) that has a single valid variable: - `Flavor`, which will be the value of `tools_upload_flavor`. By default - the upload path is set to `{{.Flavor}}.iso`. This setting is not used - when `remote_type` is `esx5`. - \ No newline at end of file +- `tools_upload_flavor` (string) - The flavor of the VMware Tools ISO to + upload into the VM. Valid values are darwin, linux, and windows. By + default, this is empty, which means VMware tools won't be uploaded. + +- `tools_upload_path` (string) - The path in the VM to upload the VMware tools. This only takes effect if + `tools_upload_flavor` is non-empty. This is a [configuration + template](/docs/templates/engine) that has a single valid variable: + `Flavor`, which will be the value of `tools_upload_flavor`. By default + the upload path is set to `{{.Flavor}}.iso`. This setting is not used + when `remote_type` is `esx5`. diff --git a/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx index 5fd4a9142..5b8ef9052 100644 --- a/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx @@ -1,23 +1,22 @@ -- `vmx_data` (map[string]string) - Arbitrary key/values to enter - into the virtual machine VMX file. This is for advanced users who want to - set properties that aren't yet supported by the builder. - -- `vmx_data_post` (map[string]string) - Identical to vmx_data, - except that it is run after the virtual machine is shutdown, and before the - virtual machine is exported. - -- `vmx_remove_ethernet_interfaces` (bool) - Remove all ethernet interfaces - from the VMX file after building. This is for advanced users who understand - the ramifications, but is useful for building Vagrant boxes since Vagrant - will create ethernet interfaces when provisioning a box. Defaults to - false. - -- `display_name` (string) - The name that will appear in your vSphere client, - and will be used for the vmx basename. This will override the "displayname" - value in your vmx file. It will also override the "displayname" if you have - set it in the "vmx_data" Packer option. This option is useful if you are - chaining vmx builds and want to make sure that the display name of each step - in the chain is unique. - \ No newline at end of file +- `vmx_data` (map[string]string) - Arbitrary key/values to enter + into the virtual machine VMX file. This is for advanced users who want to + set properties that aren't yet supported by the builder. + +- `vmx_data_post` (map[string]string) - Identical to vmx_data, + except that it is run after the virtual machine is shutdown, and before the + virtual machine is exported. + +- `vmx_remove_ethernet_interfaces` (bool) - Remove all ethernet interfaces + from the VMX file after building. This is for advanced users who understand + the ramifications, but is useful for building Vagrant boxes since Vagrant + will create ethernet interfaces when provisioning a box. Defaults to + false. + +- `display_name` (string) - The name that will appear in your vSphere client, + and will be used for the vmx basename. This will override the "displayname" + value in your vmx file. It will also override the "displayname" if you have + set it in the "vmx_data" Packer option. This option is useful if you are + chaining vmx builds and want to make sure that the display name of each step + in the chain is unique. diff --git a/website/pages/partials/builder/vmware/iso/Config-not-required.mdx b/website/pages/partials/builder/vmware/iso/Config-not-required.mdx index c8918d4b3..f7da6d0b6 100644 --- a/website/pages/partials/builder/vmware/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/vmware/iso/Config-not-required.mdx @@ -1,84 +1,84 @@ -- `disk_additional_size` ([]uint) - The size(s) of any additional - hard disks for the VM in megabytes. If this is not specified then the VM - will only contain a primary hard disk. The builder uses expandable, not - fixed-size virtual hard disks, so the actual file representing the disk will - not use the full size unless it is full. - -- `disk_adapter_type` (string) - The adapter type of the VMware virtual disk to create. This option is - for advanced usage, modify only if you know what you're doing. Some of - the options you can specify are `ide`, `sata`, `nvme` or `scsi` (which - uses the "lsilogic" scsi interface by default). If you specify another - option, Packer will assume that you're specifying a `scsi` interface of - that specified type. For more information, please consult [Virtual Disk - Manager User's Guide](http://www.vmware.com/pdf/VirtualDiskManager.pdf) - for desktop VMware clients. For ESXi, refer to the proper ESXi - documentation. - -- `vmdk_name` (string) - The filename of the virtual disk that'll be created, - without the extension. This defaults to packer. - -- `disk_size` (uint) - The size of the hard disk for the VM in megabytes. - The builder uses expandable, not fixed-size virtual hard disks, so the - actual file representing the disk will not use the full size unless it - is full. By default this is set to 40000 (about 40 GB). - -- `disk_type_id` (string) - The type of VMware virtual disk to create. This - option is for advanced usage. - - For desktop VMware clients: - - Type ID | Description - ------- | --- - `0` | Growable virtual disk contained in a single file (monolithic sparse). - `1` | Growable virtual disk split into 2GB files (split sparse). - `2` | Preallocated virtual disk contained in a single file (monolithic flat). - `3` | Preallocated virtual disk split into 2GB files (split flat). - `4` | Preallocated virtual disk compatible with ESX server (VMFS flat). - `5` | Compressed disk optimized for streaming. - - The default is `1`. - - For ESXi, this defaults to `zeroedthick`. The available options for ESXi - are: `zeroedthick`, `eagerzeroedthick`, `thin`. `rdm:dev`, `rdmp:dev`, - `2gbsparse` are not supported. Due to default disk compaction, when using - `zeroedthick` or `eagerzeroedthick` set `skip_compaction` to `true`. - - For more information, please consult the [Virtual Disk Manager User's - Guide](https://www.vmware.com/pdf/VirtualDiskManager.pdf) for desktop - VMware clients. For ESXi, refer to the proper ESXi documentation. - -- `cdrom_adapter_type` (string) - The adapter type (or bus) that will be used - by the cdrom device. This is chosen by default based on the disk adapter - type. VMware tends to lean towards ide for the cdrom device unless - sata is chosen for the disk adapter and so Packer attempts to mirror - this logic. This field can be specified as either ide, sata, or scsi. - -- `guest_os_type` (string) - The guest OS type being installed. This will be - set in the VMware VMX. By default this is other. By specifying a more - specific OS type, VMware may perform some optimizations or virtual hardware - changes to better support the operating system running in the - virtual machine. Valid values differ by platform and version numbers, and may - not match other VMware API's representation of the guest OS names. Consult your - platform for valid values. - -- `version` (string) - The [vmx hardware - version](http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003746) - for the new virtual machine. Only the default value has been tested, any - other value is experimental. Default value is `9`. - -- `vm_name` (string) - This is the name of the VMX file for the new virtual - machine, without the file extension. By default this is packer-BUILDNAME, - where "BUILDNAME" is the name of the build. - -- `vmx_disk_template_path` (string) - VMX Disk Template Path -- `vmx_template_path` (string) - Path to a [configuration template](/docs/templates/engine) that - defines the contents of the virtual machine VMX file for VMware. The - engine has access to the template variables `{{ .DiskNumber }}` and - `{{ .DiskName }}`. - - This is for **advanced users only** as this can render the virtual machine - non-functional. See below for more information. For basic VMX - modifications, try `vmx_data` first. - \ No newline at end of file +- `disk_additional_size` ([]uint) - The size(s) of any additional + hard disks for the VM in megabytes. If this is not specified then the VM + will only contain a primary hard disk. The builder uses expandable, not + fixed-size virtual hard disks, so the actual file representing the disk will + not use the full size unless it is full. + +- `disk_adapter_type` (string) - The adapter type of the VMware virtual disk to create. This option is + for advanced usage, modify only if you know what you're doing. Some of + the options you can specify are `ide`, `sata`, `nvme` or `scsi` (which + uses the "lsilogic" scsi interface by default). If you specify another + option, Packer will assume that you're specifying a `scsi` interface of + that specified type. For more information, please consult [Virtual Disk + Manager User's Guide](http://www.vmware.com/pdf/VirtualDiskManager.pdf) + for desktop VMware clients. For ESXi, refer to the proper ESXi + documentation. + +- `vmdk_name` (string) - The filename of the virtual disk that'll be created, + without the extension. This defaults to packer. + +- `disk_size` (uint) - The size of the hard disk for the VM in megabytes. + The builder uses expandable, not fixed-size virtual hard disks, so the + actual file representing the disk will not use the full size unless it + is full. By default this is set to 40000 (about 40 GB). + +- `disk_type_id` (string) - The type of VMware virtual disk to create. This + option is for advanced usage. + + For desktop VMware clients: + + Type ID | Description + ------- | --- + `0` | Growable virtual disk contained in a single file (monolithic sparse). + `1` | Growable virtual disk split into 2GB files (split sparse). + `2` | Preallocated virtual disk contained in a single file (monolithic flat). + `3` | Preallocated virtual disk split into 2GB files (split flat). + `4` | Preallocated virtual disk compatible with ESX server (VMFS flat). + `5` | Compressed disk optimized for streaming. + + The default is `1`. + + For ESXi, this defaults to `zeroedthick`. The available options for ESXi + are: `zeroedthick`, `eagerzeroedthick`, `thin`. `rdm:dev`, `rdmp:dev`, + `2gbsparse` are not supported. Due to default disk compaction, when using + `zeroedthick` or `eagerzeroedthick` set `skip_compaction` to `true`. + + For more information, please consult the [Virtual Disk Manager User's + Guide](https://www.vmware.com/pdf/VirtualDiskManager.pdf) for desktop + VMware clients. For ESXi, refer to the proper ESXi documentation. + +- `cdrom_adapter_type` (string) - The adapter type (or bus) that will be used + by the cdrom device. This is chosen by default based on the disk adapter + type. VMware tends to lean towards ide for the cdrom device unless + sata is chosen for the disk adapter and so Packer attempts to mirror + this logic. This field can be specified as either ide, sata, or scsi. + +- `guest_os_type` (string) - The guest OS type being installed. This will be + set in the VMware VMX. By default this is other. By specifying a more + specific OS type, VMware may perform some optimizations or virtual hardware + changes to better support the operating system running in the + virtual machine. Valid values differ by platform and version numbers, and may + not match other VMware API's representation of the guest OS names. Consult your + platform for valid values. + +- `version` (string) - The [vmx hardware + version](http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003746) + for the new virtual machine. Only the default value has been tested, any + other value is experimental. Default value is `9`. + +- `vm_name` (string) - This is the name of the VMX file for the new virtual + machine, without the file extension. By default this is packer-BUILDNAME, + where "BUILDNAME" is the name of the build. + +- `vmx_disk_template_path` (string) - VMX Disk Template Path + +- `vmx_template_path` (string) - Path to a [configuration template](/docs/templates/engine) that + defines the contents of the virtual machine VMX file for VMware. The + engine has access to the template variables `{{ .DiskNumber }}` and + `{{ .DiskName }}`. + + This is for **advanced users only** as this can render the virtual machine + non-functional. See below for more information. For basic VMX + modifications, try `vmx_data` first. diff --git a/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx b/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx index a4d905a96..f29f2cb78 100644 --- a/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx +++ b/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx @@ -1,20 +1,19 @@ -- `linked` (bool) - By default Packer creates a 'full' clone of the virtual machine - specified in source_path. The resultant virtual machine is fully - independant from the parent it was cloned from. - - Setting linked to true instead causes Packer to create the virtual - machine as a 'linked' clone. Linked clones use and require ongoing - access to the disks of the parent virtual machine. The benefit of a - linked clone is that the clones virtual disk is typically very much - smaller than would be the case for a full clone. Additionally, the - cloned virtual machine can also be created much faster. Creating a - linked clone will typically only be of benefit in some advanced build - scenarios. Most users will wish to create a full clone instead. Defaults - to false. - -- `vm_name` (string) - This is the name of the VMX file for the new virtual - machine, without the file extension. By default this is packer-BUILDNAME, - where "BUILDNAME" is the name of the build. - \ No newline at end of file +- `linked` (bool) - By default Packer creates a 'full' clone of the virtual machine + specified in source_path. The resultant virtual machine is fully + independant from the parent it was cloned from. + + Setting linked to true instead causes Packer to create the virtual + machine as a 'linked' clone. Linked clones use and require ongoing + access to the disks of the parent virtual machine. The benefit of a + linked clone is that the clones virtual disk is typically very much + smaller than would be the case for a full clone. Additionally, the + cloned virtual machine can also be created much faster. Creating a + linked clone will typically only be of benefit in some advanced build + scenarios. Most users will wish to create a full clone instead. Defaults + to false. + +- `vm_name` (string) - This is the name of the VMX file for the new virtual + machine, without the file extension. By default this is packer-BUILDNAME, + where "BUILDNAME" is the name of the build. diff --git a/website/pages/partials/builder/vmware/vmx/Config-required.mdx b/website/pages/partials/builder/vmware/vmx/Config-required.mdx index ddeb7ebbe..acecbd4a0 100644 --- a/website/pages/partials/builder/vmware/vmx/Config-required.mdx +++ b/website/pages/partials/builder/vmware/vmx/Config-required.mdx @@ -1,5 +1,4 @@ -- `source_path` (string) - Path to the source VMX file to clone. If - remote_type is enabled then this specifies a path on the remote_host. - \ No newline at end of file +- `source_path` (string) - Path to the source VMX file to clone. If + remote_type is enabled then this specifies a path on the remote_host. diff --git a/website/pages/partials/builder/vmware/vmx/Config.mdx b/website/pages/partials/builder/vmware/vmx/Config.mdx index a25ad5386..b312f9936 100644 --- a/website/pages/partials/builder/vmware/vmx/Config.mdx +++ b/website/pages/partials/builder/vmware/vmx/Config.mdx @@ -1,2 +1,3 @@ + Config is the configuration structure for the builder. diff --git a/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx b/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx index 83a3a3f00..aaab5f37d 100644 --- a/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx @@ -1,17 +1,16 @@ -- `template` (string) - Name of source VM. Path is optional. - -- `disk_size` (int64) - The size of the disk in MB. - -- `linked_clone` (bool) - Create VM as a linked clone from latest snapshot. Defaults to `false`. - -- `network` (string) - Set the network in which the VM will be connected to. If no network is specified, `host` - must be specified to allow Packer to look for the available network. - -- `notes` (string) - VM notes. - -- `vapp` (vAppConfig) - Set the vApp Options to a virtual machine. - See the [vApp Options Configuration](/docs/builders/vmware/vsphere-clone#vapp-options-configuration) - to know the available options and how to use it. - \ No newline at end of file +- `template` (string) - Name of source VM. Path is optional. + +- `disk_size` (int64) - The size of the disk in MB. + +- `linked_clone` (bool) - Create VM as a linked clone from latest snapshot. Defaults to `false`. + +- `network` (string) - Set the network in which the VM will be connected to. If no network is specified, `host` + must be specified to allow Packer to look for the available network. + +- `notes` (string) - VM notes. + +- `vapp` (vAppConfig) - Set the vApp Options to a virtual machine. + See the [vApp Options Configuration](/docs/builders/vmware/vsphere-clone#vapp-options-configuration) + to know the available options and how to use it. diff --git a/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx b/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx index 013855d60..191568809 100644 --- a/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx +++ b/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx @@ -1,14 +1,13 @@ -- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base - for linked clones. Defaults to `false`. - -- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. - -- `export` (\*common.ExportConfig) - Configuration for exporting VM to an ovf file. - The VM will not be exported if no [Export Configuration](#export-configuration) is specified. - -- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - Configuration for importing the VM template to a Content Library. - The VM template will not be imported if no [Content Library Import Configuration](#content-library-import-configuration) is specified. - The import doesn't work if [convert_to_template](#convert_to_template) is set to true. - \ No newline at end of file +- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base + for linked clones. Defaults to `false`. + +- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. + +- `export` (\*common.ExportConfig) - Configuration for exporting VM to an ovf file. + The VM will not be exported if no [Export Configuration](#export-configuration) is specified. + +- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - Configuration for importing the VM template to a Content Library. + The VM template will not be imported if no [Content Library Import Configuration](#content-library-import-configuration) is specified. + The import doesn't work if [convert_to_template](#convert_to_template) is set to true. diff --git a/website/pages/partials/builder/vsphere/clone/vAppConfig-not-required.mdx b/website/pages/partials/builder/vsphere/clone/vAppConfig-not-required.mdx index fb4b3a3b0..daa4b2d4f 100644 --- a/website/pages/partials/builder/vsphere/clone/vAppConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/clone/vAppConfig-not-required.mdx @@ -1,10 +1,9 @@ -- `properties` (map[string]string) - Set values for the available vApp Properties to supply configuration parameters to a virtual machine cloned from - a template that came from an imported OVF or OVA file. - - -> **Note:** The only supported usage path for vApp properties is for existing user-configurable keys. - These generally come from an existing template that was created from an imported OVF or OVA file. - You cannot set values for vApp properties on virtual machines created from scratch, - virtual machines lacking a vApp configuration, or on property keys that do not exist. - \ No newline at end of file +- `properties` (map[string]string) - Set values for the available vApp Properties to supply configuration parameters to a virtual machine cloned from + a template that came from an imported OVF or OVA file. + + -> **Note:** The only supported usage path for vApp properties is for existing user-configurable keys. + These generally come from an existing template that was created from an imported OVF or OVA file. + You cannot set values for vApp properties on virtual machines created from scratch, + virtual machines lacking a vApp configuration, or on property keys that do not exist. diff --git a/website/pages/partials/builder/vsphere/common/BootConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/BootConfig-not-required.mdx index 880321a0f..b3899332d 100644 --- a/website/pages/partials/builder/vsphere/common/BootConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/BootConfig-not-required.mdx @@ -1,5 +1,4 @@ -- `http_ip` (string) - The IP address to use for the HTTP server started to serve the `http_directory`. - If unset, Packer will automatically discover and assign an IP. - \ No newline at end of file +- `http_ip` (string) - The IP address to use for the HTTP server started to serve the `http_directory`. + If unset, Packer will automatically discover and assign an IP. diff --git a/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx index e80a115b4..33e4fb0e2 100644 --- a/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx @@ -1,10 +1,9 @@ -- `configuration_parameters` (map[string]string) - configuration_parameters is a direct passthrough to the VSphere API's - ConfigSpec: https://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.vm.ConfigSpec.html - -- `tools_sync_time` (bool) - Enables time synchronization with the host. Defaults to false. - -- `tools_upgrade_policy` (bool) - If sets to true, vSphere will automatically check and upgrade VMware Tools upon a system power cycle. - If not set, defaults to manual upgrade. - \ No newline at end of file +- `configuration_parameters` (map[string]string) - configuration_parameters is a direct passthrough to the VSphere API's + ConfigSpec: https://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.vm.ConfigSpec.html + +- `tools_sync_time` (bool) - Enables time synchronization with the host. Defaults to false. + +- `tools_upgrade_policy` (bool) - If sets to true, vSphere will automatically check and upgrade VMware Tools upon a system power cycle. + If not set, defaults to manual upgrade. diff --git a/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx index 02aed19df..69185294b 100644 --- a/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx @@ -1,12 +1,11 @@ -- `vcenter_server` (string) - vCenter server hostname. - -- `username` (string) - vSphere username. - -- `password` (string) - vSphere password. - -- `insecure_connection` (bool) - Do not validate vCenter server's TLS certificate. Defaults to `false`. - -- `datacenter` (string) - VMware datacenter name. Required if there is more than one datacenter in vCenter. - \ No newline at end of file +- `vcenter_server` (string) - vCenter server hostname. + +- `username` (string) - vSphere username. + +- `password` (string) - vSphere password. + +- `insecure_connection` (bool) - Do not validate vCenter server's TLS certificate. Defaults to `false`. + +- `datacenter` (string) - VMware datacenter name. Required if there is more than one datacenter in vCenter. diff --git a/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig-not-required.mdx index 212577042..c08bc9715 100644 --- a/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig-not-required.mdx @@ -1,30 +1,29 @@ -- `library` (string) - Name of the library in which the new library item containing the VM template should be created. - The Content Library should be of type Local to allow deploying virtual machines. - -- `name` (string) - Name of the library item that will be created. The name of the item should be different from [vm_name](#vm_name). - Defaults to [vm_name](#vm_name) + timestamp. - -- `description` (string) - Description of the library item that will be created. Defaults to "Packer imported [vm_name](#vm_name) VM template". - -- `cluster` (string) - Cluster onto which the virtual machine template should be placed. - If cluster and resource_pool are both specified, resource_pool must belong to cluster. - If cluster and host are both specified, host must be a member of cluster. - Defaults to [cluster](#cluster). - -- `folder` (string) - Virtual machine folder into which the virtual machine template should be placed. - Defaults to the same folder as the source virtual machine. - -- `host` (string) - Host onto which the virtual machine template should be placed. - If host and resource_pool are both specified, resource_pool must belong to host. - If host and cluster are both specified, host must be a member of cluster. - Defaults to [host](#host). - -- `resource_pool` (string) - Resource pool into which the virtual machine template should be placed. - Defaults to [resource_pool](#resource_pool). if [resource_pool](#resource_pool) is also unset, - the system will attempt to choose a suitable resource pool for the virtual machine template. - -- `datastore` (string) - The datastore for the virtual machine template's configuration and log files. - Defaults to the storage backing associated with the library specified by library. - \ No newline at end of file +- `library` (string) - Name of the library in which the new library item containing the VM template should be created. + The Content Library should be of type Local to allow deploying virtual machines. + +- `name` (string) - Name of the library item that will be created. The name of the item should be different from [vm_name](#vm_name). + Defaults to [vm_name](#vm_name) + timestamp. + +- `description` (string) - Description of the library item that will be created. Defaults to "Packer imported [vm_name](#vm_name) VM template". + +- `cluster` (string) - Cluster onto which the virtual machine template should be placed. + If cluster and resource_pool are both specified, resource_pool must belong to cluster. + If cluster and host are both specified, host must be a member of cluster. + Defaults to [cluster](#cluster). + +- `folder` (string) - Virtual machine folder into which the virtual machine template should be placed. + Defaults to the same folder as the source virtual machine. + +- `host` (string) - Host onto which the virtual machine template should be placed. + If host and resource_pool are both specified, resource_pool must belong to host. + If host and cluster are both specified, host must be a member of cluster. + Defaults to [host](#host). + +- `resource_pool` (string) - Resource pool into which the virtual machine template should be placed. + Defaults to [resource_pool](#resource_pool). if [resource_pool](#resource_pool) is also unset, + the system will attempt to choose a suitable resource pool for the virtual machine template. + +- `datastore` (string) - The datastore for the virtual machine template's configuration and log files. + Defaults to the storage backing associated with the library specified by library. diff --git a/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig.mdx b/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig.mdx index 0e755b5e5..63ed8891b 100644 --- a/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig.mdx +++ b/website/pages/partials/builder/vsphere/common/ContentLibraryDestinationConfig.mdx @@ -1,3 +1,4 @@ + With this configuration Packer creates a library item in a content library whose content is a virtual machine template created from the just built VM. The virtual machine template is stored in a newly created library item. diff --git a/website/pages/partials/builder/vsphere/common/ExportConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ExportConfig-not-required.mdx index ad09fc4d8..902c32e18 100644 --- a/website/pages/partials/builder/vsphere/common/ExportConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ExportConfig-not-required.mdx @@ -1,25 +1,24 @@ -- `name` (string) - name of the ovf. defaults to the name of the VM - -- `force` (bool) - overwrite ovf if it exists - -- `images` (bool) - include iso and img image files that are attached to the VM - -- `manifest` (string) - generate manifest using sha1, sha256, sha512. Defaults to 'sha256'. Use 'none' for no manifest. - -- `options` ([]string) - Advanced ovf export options. Options can include: - * mac - MAC address is exported for all ethernet devices - * uuid - UUID is exported for all virtual machines - * extraconfig - all extra configuration options are exported for a virtual machine - * nodevicesubtypes - resource subtypes for CD/DVD drives, floppy drives, and serial and parallel ports are not exported - - For example, adding the following export config option would output the mac addresses for all Ethernet devices in the ovf file: - - ```json - ... - "export": { - "options": ["mac"] - }, - ``` - \ No newline at end of file +- `name` (string) - name of the ovf. defaults to the name of the VM + +- `force` (bool) - overwrite ovf if it exists + +- `images` (bool) - include iso and img image files that are attached to the VM + +- `manifest` (string) - generate manifest using sha1, sha256, sha512. Defaults to 'sha256'. Use 'none' for no manifest. + +- `options` ([]string) - Advanced ovf export options. Options can include: + * mac - MAC address is exported for all ethernet devices + * uuid - UUID is exported for all virtual machines + * extraconfig - all extra configuration options are exported for a virtual machine + * nodevicesubtypes - resource subtypes for CD/DVD drives, floppy drives, and serial and parallel ports are not exported + + For example, adding the following export config option would output the mac addresses for all Ethernet devices in the ovf file: + + ```json + ... + "export": { + "options": ["mac"] + }, + ``` diff --git a/website/pages/partials/builder/vsphere/common/ExportConfig.mdx b/website/pages/partials/builder/vsphere/common/ExportConfig.mdx index 8415998f2..64905d3d0 100644 --- a/website/pages/partials/builder/vsphere/common/ExportConfig.mdx +++ b/website/pages/partials/builder/vsphere/common/ExportConfig.mdx @@ -1,4 +1,5 @@ + You may optionally export an ovf from VSphere to the instance running Packer. Example usage: diff --git a/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx index 10c0c5219..1d1ae824f 100644 --- a/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx @@ -1,32 +1,31 @@ -- `CPUs` (int32) - Number of CPU sockets. - -- `cpu_cores` (int32) - Number of CPU cores per socket. - -- `CPU_reservation` (int64) - Amount of reserved CPU resources in MHz. - -- `CPU_limit` (int64) - Upper limit of available CPU resources in MHz. - -- `CPU_hot_plug` (bool) - Enable CPU hot plug setting for virtual machine. Defaults to `false`. - -- `RAM` (int64) - Amount of RAM in MB. - -- `RAM_reservation` (int64) - Amount of reserved RAM in MB. - -- `RAM_reserve_all` (bool) - Reserve all available RAM. Defaults to `false`. Cannot be used together - with `RAM_reservation`. - -- `RAM_hot_plug` (bool) - Enable RAM hot plug setting for virtual machine. Defaults to `false`. - -- `video_ram` (int64) - Amount of video memory in KB. - -- `vgpu_profile` (string) - vGPU profile for accelerated graphics. See [NVIDIA GRID vGPU documentation](https://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html#configure-vmware-vsphere-vm-with-vgpu) - for examples of profile names. Defaults to none. - -- `NestedHV` (bool) - Enable nested hardware virtualization for VM. Defaults to `false`. - -- `firmware` (string) - Set the Firmware for virtual machine. Supported values: `bios`, `efi` or `efi-secure`. Defaults to `bios`. - -- `force_bios_setup` (bool) - During the boot, force entry into the BIOS setup screen. Defaults to `false`. - \ No newline at end of file +- `CPUs` (int32) - Number of CPU sockets. + +- `cpu_cores` (int32) - Number of CPU cores per socket. + +- `CPU_reservation` (int64) - Amount of reserved CPU resources in MHz. + +- `CPU_limit` (int64) - Upper limit of available CPU resources in MHz. + +- `CPU_hot_plug` (bool) - Enable CPU hot plug setting for virtual machine. Defaults to `false`. + +- `RAM` (int64) - Amount of RAM in MB. + +- `RAM_reservation` (int64) - Amount of reserved RAM in MB. + +- `RAM_reserve_all` (bool) - Reserve all available RAM. Defaults to `false`. Cannot be used together + with `RAM_reservation`. + +- `RAM_hot_plug` (bool) - Enable RAM hot plug setting for virtual machine. Defaults to `false`. + +- `video_ram` (int64) - Amount of video memory in KB. + +- `vgpu_profile` (string) - vGPU profile for accelerated graphics. See [NVIDIA GRID vGPU documentation](https://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html#configure-vmware-vsphere-vm-with-vgpu) + for examples of profile names. Defaults to none. + +- `NestedHV` (bool) - Enable nested hardware virtualization for VM. Defaults to `false`. + +- `firmware` (string) - Set the Firmware for virtual machine. Supported values: `bios`, `efi` or `efi-secure`. Defaults to `bios`. + +- `force_bios_setup` (bool) - During the boot, force entry into the BIOS setup screen. Defaults to `false`. diff --git a/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx index 4a176822f..23073d7a1 100644 --- a/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx @@ -1,22 +1,21 @@ -- `vm_name` (string) - Name of the new VM to create. - -- `folder` (string) - VM folder to create the VM in. - -- `cluster` (string) - ESXi cluster where target VM is created. See - [Working with Clusters](#working-with-clusters). - -- `host` (string) - ESXi host where target VM is created. A full path must be specified if - the host is in a folder. For example `folder/host`. See the - `Specifying Clusters and Hosts` section above for more details. - -- `resource_pool` (string) - VMWare resource pool. Defaults to the root resource pool of the - `host` or `cluster`. - -- `datastore` (string) - VMWare datastore. Required if `host` is a cluster, or if `host` has - multiple datastores. - -- `set_host_for_datastore_uploads` (bool) - Set this to true if packer should the host for uploading files - to the datastore. Defaults to false. - \ No newline at end of file +- `vm_name` (string) - Name of the new VM to create. + +- `folder` (string) - VM folder to create the VM in. + +- `cluster` (string) - ESXi cluster where target VM is created. See + [Working with Clusters](#working-with-clusters). + +- `host` (string) - ESXi host where target VM is created. A full path must be specified if + the host is in a folder. For example `folder/host`. See the + `Specifying Clusters and Hosts` section above for more details. + +- `resource_pool` (string) - VMWare resource pool. Defaults to the root resource pool of the + `host` or `cluster`. + +- `datastore` (string) - VMWare datastore. Required if `host` is a cluster, or if `host` has + multiple datastores. + +- `set_host_for_datastore_uploads` (bool) - Set this to true if packer should the host for uploading files + to the datastore. Defaults to false. diff --git a/website/pages/partials/builder/vsphere/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/OutputConfig-not-required.mdx index 738898ba8..4df058530 100644 --- a/website/pages/partials/builder/vsphere/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/OutputConfig-not-required.mdx @@ -1,10 +1,9 @@ -- `output_directory` (string) - This setting specifies the directory that - artifacts from the build, such as the virtual machine files and disks, - will be output to. The path to the directory may be relative or - absolute. If relative, the path is relative to the working directory - packer is executed from. This directory must not exist or, if - created, must be empty prior to running the builder. By default this is - "output-BUILDNAME" where "BUILDNAME" is the name of the build. - \ No newline at end of file +- `output_directory` (string) - This setting specifies the directory that + artifacts from the build, such as the virtual machine files and disks, + will be output to. The path to the directory may be relative or + absolute. If relative, the path is relative to the working directory + packer is executed from. This directory must not exist or, if + created, must be empty prior to running the builder. By default this is + "output-BUILDNAME" where "BUILDNAME" is the name of the build. diff --git a/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx index a8d2e47c4..b5dedf69d 100644 --- a/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx @@ -1,4 +1,3 @@ -- `boot_order` (string) - Priority of boot devices. Defaults to `disk,cdrom` - \ No newline at end of file +- `boot_order` (string) - Priority of boot devices. Defaults to `disk,cdrom` diff --git a/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx index eb0aedf64..85915de71 100644 --- a/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx @@ -1,15 +1,14 @@ -- `shutdown_command` (string) - Specify a VM guest shutdown command. VMware guest tools are used by - default. - -- `shutdown_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for graceful VM shutdown. - Defaults to 5m or five minutes. - -- `disable_shutdown` (bool) - Packer normally halts the virtual machine after all provisioners have - run when no `shutdown_command` is defined. If this is set to `true`, Packer - *will not* halt the virtual machine but will assume that you will send the stop - signal yourself through the preseed.cfg or your final provisioner. - Packer will wait for a default of five minutes until the virtual machine is shutdown. - The timeout can be changed using `shutdown_timeout` option. - \ No newline at end of file +- `shutdown_command` (string) - Specify a VM guest shutdown command. VMware guest tools are used by + default. + +- `shutdown_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for graceful VM shutdown. + Defaults to 5m or five minutes. + +- `disable_shutdown` (bool) - Packer normally halts the virtual machine after all provisioners have + run when no `shutdown_command` is defined. If this is set to `true`, Packer + *will not* halt the virtual machine but will assume that you will send the stop + signal yourself through the preseed.cfg or your final provisioner. + Packer will wait for a default of five minutes until the virtual machine is shutdown. + The timeout can be changed using `shutdown_timeout` option. diff --git a/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx index 34cdeb1c1..905d44690 100644 --- a/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx @@ -1,21 +1,20 @@ -- `ip_wait_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP, similar to 'ssh_timeout'. - Defaults to 30m (30 minutes). See the Golang - [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation - for full details. - -- `ip_settle_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP to settle down, sometimes VM may - report incorrect IP initially, then its recommended to set that - parameter to apx. 2 minutes. Examples 45s and 10m. Defaults to - 5s(5 seconds). See the Golang - [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation - for full details. - -- `ip_wait_address` (\*string) - Set this to a CIDR address to cause the service to wait for an address that is contained in - this network range. Defaults to "0.0.0.0/0" for any ipv4 address. Examples include: - - * empty string ("") - remove all filters - * `0:0:0:0:0:0:0:0/0` - allow only ipv6 addresses - * `192.168.1.0/24` - only allow ipv4 addresses from 192.168.1.1 to 192.168.1.254 - \ No newline at end of file +- `ip_wait_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP, similar to 'ssh_timeout'. + Defaults to 30m (30 minutes). See the Golang + [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation + for full details. + +- `ip_settle_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP to settle down, sometimes VM may + report incorrect IP initially, then its recommended to set that + parameter to apx. 2 minutes. Examples 45s and 10m. Defaults to + 5s(5 seconds). See the Golang + [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation + for full details. + +- `ip_wait_address` (\*string) - Set this to a CIDR address to cause the service to wait for an address that is contained in + this network range. Defaults to "0.0.0.0/0" for any ipv4 address. Examples include: + + * empty string ("") - remove all filters + * `0:0:0:0:0:0:0:0/0` - allow only ipv6 addresses + * `192.168.1.0/24` - only allow ipv4 addresses from 192.168.1.1 to 192.168.1.254 diff --git a/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx index e3952b792..4302ce353 100644 --- a/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx @@ -1,7 +1,6 @@ -- `cdrom_type` (string) - Which controller to use. Example: `sata`. Defaults to `ide`. - -- `iso_paths` ([]string) - List of datastore paths to ISO files that will be mounted to the VM. - Example: `"[datastore1] ISO/ubuntu.iso"`. - \ No newline at end of file +- `cdrom_type` (string) - Which controller to use. Example: `sata`. Defaults to `ide`. + +- `iso_paths` ([]string) - List of datastore paths to ISO files that will be mounted to the VM. + Example: `"[datastore1] ISO/ubuntu.iso"`. diff --git a/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx b/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx index bf367b3bd..72cc35ecf 100644 --- a/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx @@ -1,14 +1,13 @@ -- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base - for linked clones. Defaults to `false`. - -- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. - -- `export` (\*common.ExportConfig) - Configuration for exporting VM to an ovf file. - The VM will not be exported if no [Export Configuration](#export-configuration) is specified. - -- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - Configuration for importing the VM template to a Content Library. - The VM template will not be imported if no [Content Library Import Configuration](#content-library-import-configuration) is specified. - The import doesn't work if [convert_to_template](#convert_to_template) is set to true. - \ No newline at end of file +- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base + for linked clones. Defaults to `false`. + +- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. + +- `export` (\*common.ExportConfig) - Configuration for exporting VM to an ovf file. + The VM will not be exported if no [Export Configuration](#export-configuration) is specified. + +- `content_library_destination` (\*common.ContentLibraryDestinationConfig) - Configuration for importing the VM template to a Content Library. + The VM template will not be imported if no [Content Library Import Configuration](#content-library-import-configuration) is specified. + The import doesn't work if [convert_to_template](#convert_to_template) is set to true. diff --git a/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx index 363a3f446..fa5f997f9 100644 --- a/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx @@ -1,21 +1,20 @@ -- `vm_version` (uint) - Set VM hardware version. Defaults to the most current VM hardware - version supported by vCenter. See - [VMWare article 1003746](https://kb.vmware.com/s/article/1003746) for - the full list of supported VM hardware versions. - -- `guest_os_type` (string) - Set VM OS type. Defaults to `otherGuest`. See [ - here](https://code.vmware.com/apis/358/vsphere/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html) - for a full list of possible values. - -- `disk_controller_type` ([]string) - Set VM disk controller type. Example `lsilogic`, pvscsi`, or `scsi`. Use a list to define additional controllers. Defaults to `lsilogic` - -- `storage` ([]DiskConfig) - A collection of one or more disks to be provisioned along with the VM. - -- `network_adapters` ([]NIC) - Network adapters - -- `usb_controller` (bool) - Create USB controller for virtual machine. Defaults to `false`. - -- `notes` (string) - VM notes. - \ No newline at end of file +- `vm_version` (uint) - Set VM hardware version. Defaults to the most current VM hardware + version supported by vCenter. See + [VMWare article 1003746](https://kb.vmware.com/s/article/1003746) for + the full list of supported VM hardware versions. + +- `guest_os_type` (string) - Set VM OS type. Defaults to `otherGuest`. See [ + here](https://code.vmware.com/apis/358/vsphere/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html) + for a full list of possible values. + +- `disk_controller_type` ([]string) - Set VM disk controller type. Example `lsilogic`, pvscsi`, or `scsi`. Use a list to define additional controllers. Defaults to `lsilogic` + +- `storage` ([]DiskConfig) - A collection of one or more disks to be provisioned along with the VM. + +- `network_adapters` ([]NIC) - Network adapters + +- `usb_controller` (bool) - Create USB controller for virtual machine. Defaults to `false`. + +- `notes` (string) - VM notes. diff --git a/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx index b3d47dc6f..8e31b90d4 100644 --- a/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx @@ -1,8 +1,7 @@ -- `disk_thin_provisioned` (bool) - Enable VMDK thin provisioning for VM. Defaults to `false`. - -- `disk_eagerly_scrub` (bool) - Enable VMDK eager scrubbing for VM. Defaults to `false`. - -- `disk_controller_index` (int) - The assigned disk controller. Defaults to the first one (0) - \ No newline at end of file +- `disk_thin_provisioned` (bool) - Enable VMDK thin provisioning for VM. Defaults to `false`. + +- `disk_eagerly_scrub` (bool) - Enable VMDK eager scrubbing for VM. Defaults to `false`. + +- `disk_controller_index` (int) - The assigned disk controller. Defaults to the first one (0) diff --git a/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx b/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx index 7321c05d1..83683c366 100644 --- a/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx @@ -1,4 +1,3 @@ -- `disk_size` (int64) - The size of the disk in MB. - \ No newline at end of file +- `disk_size` (int64) - The size of the disk in MB. diff --git a/website/pages/partials/builder/vsphere/iso/DiskConfig.mdx b/website/pages/partials/builder/vsphere/iso/DiskConfig.mdx index 6e9299ac6..7a80deff8 100644 --- a/website/pages/partials/builder/vsphere/iso/DiskConfig.mdx +++ b/website/pages/partials/builder/vsphere/iso/DiskConfig.mdx @@ -1,4 +1,5 @@ + Defines the disk storage for a VM. Example that will create a 15GB and a 20GB disk on the VM. The second disk will be thin provisioned: diff --git a/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx index 92d63892d..0e83366ed 100644 --- a/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx @@ -1,15 +1,14 @@ -- `floppy_img_path` (string) - Datastore path to a floppy image that will be mounted to the VM. - Example: `[datastore1] ISO/pvscsi-Windows8.flp`. - -- `floppy_files` ([]string) - List of local files to be mounted to the VM floppy drive. Can be used to - make Debian preseed or RHEL kickstart files available to the VM. - -- `floppy_dirs` ([]string) - List of directories to copy files from. - -- `floppy_label` (string) - The label to use for the floppy disk that - is attached when the VM is booted. This is most useful for cloud-init, - Kickstart or other early initialization tools, which can benefit from labelled floppy disks. - By default, the floppy label will be 'packer'. - \ No newline at end of file +- `floppy_img_path` (string) - Datastore path to a floppy image that will be mounted to the VM. + Example: `[datastore1] ISO/pvscsi-Windows8.flp`. + +- `floppy_files` ([]string) - List of local files to be mounted to the VM floppy drive. Can be used to + make Debian preseed or RHEL kickstart files available to the VM. + +- `floppy_dirs` ([]string) - List of directories to copy files from. + +- `floppy_label` (string) - The label to use for the floppy disk that + is attached when the VM is booted. This is most useful for cloud-init, + Kickstart or other early initialization tools, which can benefit from labelled floppy disks. + By default, the floppy label will be 'packer'. diff --git a/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx b/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx index 8b8fa9d9d..47dadc898 100644 --- a/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx @@ -1,9 +1,8 @@ -- `network` (string) - Set the network in which the VM will be connected to. If no network is specified, `host` - must be specified to allow Packer to look for the available network. - -- `mac_address` (string) - Set network card MAC address - -- `passthrough` (\*bool) - Enable DirectPath I/O passthrough - \ No newline at end of file +- `network` (string) - Set the network in which the VM will be connected to. If no network is specified, `host` + must be specified to allow Packer to look for the available network. + +- `mac_address` (string) - Set network card MAC address + +- `passthrough` (\*bool) - Enable DirectPath I/O passthrough diff --git a/website/pages/partials/builder/vsphere/iso/NIC-required.mdx b/website/pages/partials/builder/vsphere/iso/NIC-required.mdx index 81b78c372..a73b8a26e 100644 --- a/website/pages/partials/builder/vsphere/iso/NIC-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/NIC-required.mdx @@ -1,4 +1,3 @@ -- `network_card` (string) - Set VM network card type. Example `vmxnet3`. - \ No newline at end of file +- `network_card` (string) - Set VM network card type. Example `vmxnet3`. diff --git a/website/pages/partials/builder/vsphere/iso/NIC.mdx b/website/pages/partials/builder/vsphere/iso/NIC.mdx index cd8dc304f..b0b3f1676 100644 --- a/website/pages/partials/builder/vsphere/iso/NIC.mdx +++ b/website/pages/partials/builder/vsphere/iso/NIC.mdx @@ -1,4 +1,5 @@ + Defines a Network Adapter Example that creates two network adapters: diff --git a/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx index a01290e7e..9e3dd3d20 100644 --- a/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx @@ -1,4 +1,3 @@ -- `remove_cdrom` (bool) - Remove CD-ROM devices from template. Defaults to `false`. - \ No newline at end of file +- `remove_cdrom` (bool) - Remove CD-ROM devices from template. Defaults to `false`. diff --git a/website/pages/partials/builder/yandex/Config-not-required.mdx b/website/pages/partials/builder/yandex/Config-not-required.mdx index 8c627091a..9a57f9e77 100644 --- a/website/pages/partials/builder/yandex/Config-not-required.mdx +++ b/website/pages/partials/builder/yandex/Config-not-required.mdx @@ -1,83 +1,82 @@ -- `endpoint` (string) - Non standard api endpoint URL. - -- `service_account_key_file` (string) - Path to file with Service Account key in json format. This - is an alternative method to authenticate to Yandex.Cloud. Alternatively you may set environment variable - YC_SERVICE_ACCOUNT_KEY_FILE. - -- `service_account_id` (string) - Service account identifier to assign to instance - -- `disk_name` (string) - The name of the disk, if unset the instance name - will be used. - -- `disk_size_gb` (int) - The size of the disk in GB. This defaults to `10`, which is 10GB. - -- `disk_type` (string) - Specify disk type for the launched instance. Defaults to `network-hdd`. - -- `image_description` (string) - The description of the resulting image. - -- `image_family` (string) - The family name of the resulting image. - -- `image_labels` (map[string]string) - Key/value pair labels to - apply to the created image. - -- `image_name` (string) - The unique name of the resulting image. Defaults to - `packer-{{timestamp}}`. - -- `image_product_ids` ([]string) - License IDs that indicate which licenses are attached to resulting image. - -- `instance_cores` (int) - The number of cores available to the instance. - -- `instance_gpus` (int) - The number of GPU available to the instance. - -- `instance_mem_gb` (int) - The amount of memory available to the instance, specified in gigabytes. - -- `instance_name` (string) - The name assigned to the instance. - -- `labels` (map[string]string) - Key/value pair labels to apply to - the launched instance. - -- `platform_id` (string) - Identifier of the hardware platform configuration for the instance. This defaults to `standard-v1`. - -- `max_retries` (int) - The maximum number of times an API request is being executed - -- `metadata` (map[string]string) - Metadata applied to the launched instance. - -- `metadata_from_file` (map[string]string) - Metadata applied to the launched instance. Value are file paths. - -- `preemptible` (bool) - Launch a preemptible instance. This defaults to `false`. - -- `serial_log_file` (string) - File path to save serial port output of the launched instance. - -- `source_image_folder_id` (string) - The ID of the folder containing the source image. - -- `source_image_id` (string) - The source image ID to use to create the new image - from. - -- `source_image_name` (string) - The source image name to use to create the new image - from. Name will be looked up in `source_image_folder_id`. - -- `subnet_id` (string) - The Yandex VPC subnet id to use for - the launched instance. Note, the zone of the subnet must match the - zone in which the VM is launched. - -- `target_image_folder_id` (string) - The ID of the folder to save built image in. - This defaults to value of 'folder_id'. - -- `use_ipv4_nat` (bool) - If set to true, then launched instance will have external internet - access. - -- `use_ipv6` (bool) - Set to true to enable IPv6 for the instance being - created. This defaults to `false`, or not enabled. - - -> **Note**: Usage of IPv6 will be available in the future. - -- `use_internal_ip` (bool) - If true, use the instance's internal IP address - instead of its external IP during building. - -- `zone` (string) - The name of the zone to launch the instance. This defaults to `ru-central1-a`. - -- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. - Defaults to `5m`. - \ No newline at end of file +- `endpoint` (string) - Non standard api endpoint URL. + +- `service_account_key_file` (string) - Path to file with Service Account key in json format. This + is an alternative method to authenticate to Yandex.Cloud. Alternatively you may set environment variable + YC_SERVICE_ACCOUNT_KEY_FILE. + +- `service_account_id` (string) - Service account identifier to assign to instance + +- `disk_name` (string) - The name of the disk, if unset the instance name + will be used. + +- `disk_size_gb` (int) - The size of the disk in GB. This defaults to `10`, which is 10GB. + +- `disk_type` (string) - Specify disk type for the launched instance. Defaults to `network-hdd`. + +- `image_description` (string) - The description of the resulting image. + +- `image_family` (string) - The family name of the resulting image. + +- `image_labels` (map[string]string) - Key/value pair labels to + apply to the created image. + +- `image_name` (string) - The unique name of the resulting image. Defaults to + `packer-{{timestamp}}`. + +- `image_product_ids` ([]string) - License IDs that indicate which licenses are attached to resulting image. + +- `instance_cores` (int) - The number of cores available to the instance. + +- `instance_gpus` (int) - The number of GPU available to the instance. + +- `instance_mem_gb` (int) - The amount of memory available to the instance, specified in gigabytes. + +- `instance_name` (string) - The name assigned to the instance. + +- `labels` (map[string]string) - Key/value pair labels to apply to + the launched instance. + +- `platform_id` (string) - Identifier of the hardware platform configuration for the instance. This defaults to `standard-v1`. + +- `max_retries` (int) - The maximum number of times an API request is being executed + +- `metadata` (map[string]string) - Metadata applied to the launched instance. + +- `metadata_from_file` (map[string]string) - Metadata applied to the launched instance. Value are file paths. + +- `preemptible` (bool) - Launch a preemptible instance. This defaults to `false`. + +- `serial_log_file` (string) - File path to save serial port output of the launched instance. + +- `source_image_folder_id` (string) - The ID of the folder containing the source image. + +- `source_image_id` (string) - The source image ID to use to create the new image + from. + +- `source_image_name` (string) - The source image name to use to create the new image + from. Name will be looked up in `source_image_folder_id`. + +- `subnet_id` (string) - The Yandex VPC subnet id to use for + the launched instance. Note, the zone of the subnet must match the + zone in which the VM is launched. + +- `target_image_folder_id` (string) - The ID of the folder to save built image in. + This defaults to value of 'folder_id'. + +- `use_ipv4_nat` (bool) - If set to true, then launched instance will have external internet + access. + +- `use_ipv6` (bool) - Set to true to enable IPv6 for the instance being + created. This defaults to `false`, or not enabled. + + -> **Note**: Usage of IPv6 will be available in the future. + +- `use_internal_ip` (bool) - If true, use the instance's internal IP address + instead of its external IP during building. + +- `zone` (string) - The name of the zone to launch the instance. This defaults to `ru-central1-a`. + +- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. + Defaults to `5m`. diff --git a/website/pages/partials/builder/yandex/Config-required.mdx b/website/pages/partials/builder/yandex/Config-required.mdx index 139ba285d..831699f85 100644 --- a/website/pages/partials/builder/yandex/Config-required.mdx +++ b/website/pages/partials/builder/yandex/Config-required.mdx @@ -1,14 +1,13 @@ -- `folder_id` (string) - The folder ID that will be used to launch instances and store images. - Alternatively you may set value by environment variable YC_FOLDER_ID. - To use a different folder for looking up the source image or saving the target image to - check options 'source_image_folder_id' and 'target_image_folder_id'. - -- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. Alternatively you may set - value by environment variable YC_TOKEN. - -- `source_image_family` (string) - The source image family to create the new image - from. You can also specify source_image_id instead. Just one of a source_image_id or - source_image_family must be specified. Example: `ubuntu-1804-lts` - \ No newline at end of file +- `folder_id` (string) - The folder ID that will be used to launch instances and store images. + Alternatively you may set value by environment variable YC_FOLDER_ID. + To use a different folder for looking up the source image or saving the target image to + check options 'source_image_folder_id' and 'target_image_folder_id'. + +- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. Alternatively you may set + value by environment variable YC_TOKEN. + +- `source_image_family` (string) - The source image family to create the new image + from. You can also specify source_image_id instead. Just one of a source_image_id or + source_image_family must be specified. Example: `ubuntu-1804-lts` diff --git a/website/pages/partials/builders/aws-session-manager.mdx b/website/pages/partials/builders/aws-session-manager.mdx index beb7cd650..df2123937 100644 --- a/website/pages/partials/builders/aws-session-manager.mdx +++ b/website/pages/partials/builders/aws-session-manager.mdx @@ -6,53 +6,55 @@ Support for the AWS Systems Manager session manager lets users manage EC2 instan To use the session manager as the connection interface for the SSH communicator you need to add the following configuration options to the Amazon builder options: - * `ssh_interface`: The ssh interface must be set to "session_manager". When using this option the builder will create an SSM tunnel to the configured `ssh_port` (defaults to 22) on the remote host. - * `iam_instance_profile`: A valid instance profile granting Systems Manager permissions to manage the remote instance is required in order for the aws ssm-agent to start and stop session connections. - See below for more details on [IAM instance profile for Systems Manager](#iam-instance-profile-for-systems-manager). +- `ssh_interface`: The ssh interface must be set to "session_manager". When using this option the builder will create an SSM tunnel to the configured `ssh_port` (defaults to 22) on the remote host. +- `iam_instance_profile`: A valid instance profile granting Systems Manager permissions to manage the remote instance is required in order for the aws ssm-agent to start and stop session connections. + See below for more details on [IAM instance profile for Systems Manager](#iam-instance-profile-for-systems-manager). #### Optional - * `session_manager_port`: A local port on the host machine that should be used as the local end of the session tunnel to the remote host. If not specified Packer will find an available port to use. - * `temporary_iam_instance_profile_policy_document`: Creates a temporary instance profile policy document to grant Systems Manager permissions to the Ec2 instance. This is an alternative to using an existing `iam_instance_profile`. + +- `session_manager_port`: A local port on the host machine that should be used as the local end of the session tunnel to the remote host. If not specified Packer will find an available port to use. +- `temporary_iam_instance_profile_policy_document`: Creates a temporary instance profile policy document to grant Systems Manager permissions to the Ec2 instance. This is an alternative to using an existing `iam_instance_profile`. ```json { "builders": [ - { - "type": "amazon-ebs", - "ami_name": "packer-ami-{{timestamp}}", - "instance_type": "t2.micro", - "source_ami_filter": { - "filters": { - "virtualization-type": "hvm", - "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*", - "root-device-type": "ebs" - }, - "owners": [ - "099720109477" - ], - "most_recent": true + { + "type": "amazon-ebs", + "ami_name": "packer-ami-{{timestamp}}", + "instance_type": "t2.micro", + "source_ami_filter": { + "filters": { + "virtualization-type": "hvm", + "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*", + "root-device-type": "ebs" }, - "ssh_username": "ubuntu", - "ssh_interface": "session_manager", - "communicator": "ssh", - "iam_instance_profile": "{{user `iam_instance_profile`}}" - } + "owners": ["099720109477"], + "most_recent": true + }, + "ssh_username": "ubuntu", + "ssh_interface": "session_manager", + "communicator": "ssh", + "iam_instance_profile": "{{user `iam_instance_profile`}}" + } ], "provisioners": [ - { - "type": "shell", - "inline": [ "echo Connected via SSM at '{{build `User`}}@{{build `Host`}}:{{build `Port`}}'" ] - } + { + "type": "shell", + "inline": [ + "echo Connected via SSM at '{{build `User`}}@{{build `Host`}}:{{build `Port`}}'" + ] + } ] } ``` #### Session Manager Plugin -Connectivity via the session manager requires the use of a session-manger-plugin, which needs to be installed alongside Packer, and an instance AMI that is capable of running the AWS ssm-agent - see [About SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/prereqs-ssm-agent.html) for details on supported AMIs. +Connectivity via the session manager requires the use of a session-manger-plugin, which needs to be installed alongside Packer, and an instance AMI that is capable of running the AWS ssm-agent - see [About SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/prereqs-ssm-agent.html) for details on supported AMIs. In order for Packer to start and end sessions that connect you to your managed instances, you must first install the Session Manager plugin on your local machine. The plugin can be installed on supported versions of Microsoft Windows, macOS, Linux, and Ubuntu Server. [Installation instructions for the session-manager-plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) #### IAM instance profile for Systems Manager + By default Systems Manager doesn't have permission to perform actions on created instances so SSM access must be granted by creating an instance profile with the `AmazonSSMManagedInstanceCore` policy. The instance profile can then be attached to any instance you wish to manage via the session-manager-plugin. See [Adding System Manager instance profile](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html#instance-profile-add-permissions) for details on creating the required instance profile. diff --git a/website/pages/partials/common/FloppyConfig-not-required.mdx b/website/pages/partials/common/FloppyConfig-not-required.mdx index d344c49f3..9c6fcda8a 100644 --- a/website/pages/partials/common/FloppyConfig-not-required.mdx +++ b/website/pages/partials/common/FloppyConfig-not-required.mdx @@ -1,16 +1,16 @@ -- `floppy_files` ([]string) - A list of files to place onto a floppy disk that is attached when the VM - is booted. Currently, no support exists for creating sub-directories on - the floppy. Wildcard characters (\\*, ?, and \[\]) are allowed. Directory - names are also allowed, which will add all the files found in the - directory to the floppy. - -- `floppy_dirs` ([]string) - A list of directories to place onto the floppy disk recursively. This is - similar to the `floppy_files` option except that the directory structure - is preserved. This is useful for when your floppy disk includes drivers - or if you just want to organize it's contents as a hierarchy. Wildcard - characters (\\*, ?, and \[\]) are allowed. The maximum summary size of - all files in the listed directories are the same as in `floppy_files`. - -- `floppy_label` (string) - Floppy Label \ No newline at end of file +- `floppy_files` ([]string) - A list of files to place onto a floppy disk that is attached when the VM + is booted. Currently, no support exists for creating sub-directories on + the floppy. Wildcard characters (\\*, ?, and \[\]) are allowed. Directory + names are also allowed, which will add all the files found in the + directory to the floppy. + +- `floppy_dirs` ([]string) - A list of directories to place onto the floppy disk recursively. This is + similar to the `floppy_files` option except that the directory structure + is preserved. This is useful for when your floppy disk includes drivers + or if you just want to organize it's contents as a hierarchy. Wildcard + characters (\\*, ?, and \[\]) are allowed. The maximum summary size of + all files in the listed directories are the same as in `floppy_files`. + +- `floppy_label` (string) - Floppy Label diff --git a/website/pages/partials/common/FloppyConfig.mdx b/website/pages/partials/common/FloppyConfig.mdx index 2c586c18f..bca819832 100644 --- a/website/pages/partials/common/FloppyConfig.mdx +++ b/website/pages/partials/common/FloppyConfig.mdx @@ -1,4 +1,5 @@ + A floppy can be made available for your build. This is most useful for unattended Windows installs, which look for an Autounattend.xml file on removable media. By default, no floppy will be attached. All files listed in diff --git a/website/pages/partials/common/HTTPConfig-not-required.mdx b/website/pages/partials/common/HTTPConfig-not-required.mdx index c52a7a26e..4a3238ad4 100644 --- a/website/pages/partials/common/HTTPConfig-not-required.mdx +++ b/website/pages/partials/common/HTTPConfig-not-required.mdx @@ -1,20 +1,20 @@ -- `http_directory` (string) - Path to a directory to serve using an HTTP server. The files in this - directory will be available over HTTP that will be requestable from the - virtual machine. This is useful for hosting kickstart files and so on. - By default this is an empty string, which means no HTTP server will be - started. The address and port of the HTTP server will be available as - variables in `boot_command`. This is covered in more detail below. - -- `http_port_min` (int) - These are the minimum and maximum port to use for the HTTP server - started to serve the `http_directory`. Because Packer often runs in - parallel, Packer will choose a randomly available port in this range to - run the HTTP server. If you want to force the HTTP server to be on one - port, make this minimum and maximum port the same. By default the values - are `8000` and `9000`, respectively. - -- `http_port_max` (int) - HTTP Port Max -- `http_bind_address` (string) - This is the bind address for the HTTP server. Defaults to 0.0.0.0 so that - it will work with any network interface. - \ No newline at end of file +- `http_directory` (string) - Path to a directory to serve using an HTTP server. The files in this + directory will be available over HTTP that will be requestable from the + virtual machine. This is useful for hosting kickstart files and so on. + By default this is an empty string, which means no HTTP server will be + started. The address and port of the HTTP server will be available as + variables in `boot_command`. This is covered in more detail below. + +- `http_port_min` (int) - These are the minimum and maximum port to use for the HTTP server + started to serve the `http_directory`. Because Packer often runs in + parallel, Packer will choose a randomly available port in this range to + run the HTTP server. If you want to force the HTTP server to be on one + port, make this minimum and maximum port the same. By default the values + are `8000` and `9000`, respectively. + +- `http_port_max` (int) - HTTP Port Max + +- `http_bind_address` (string) - This is the bind address for the HTTP server. Defaults to 0.0.0.0 so that + it will work with any network interface. diff --git a/website/pages/partials/common/HTTPConfig.mdx b/website/pages/partials/common/HTTPConfig.mdx index 225422086..27c79796b 100644 --- a/website/pages/partials/common/HTTPConfig.mdx +++ b/website/pages/partials/common/HTTPConfig.mdx @@ -1,4 +1,5 @@ + Packer will create an http server serving `http_directory` when it is set, a random free port will be selected and the architecture of the directory referenced will be available in your builder. diff --git a/website/pages/partials/common/ISOConfig-not-required.mdx b/website/pages/partials/common/ISOConfig-not-required.mdx index ad6ce4ac3..b93fdafd5 100644 --- a/website/pages/partials/common/ISOConfig-not-required.mdx +++ b/website/pages/partials/common/ISOConfig-not-required.mdx @@ -1,14 +1,13 @@ -- `iso_urls` ([]string) - Multiple URLs for the ISO to download. Packer will try these in order. - If anything goes wrong attempting to download or while downloading a - single URL, it will move on to the next. All URLs must point to the same - file (same checksum). By default this is empty and `iso_url` is used. - Only one of `iso_url` or `iso_urls` can be specified. - -- `iso_target_path` (string) - The path where the iso should be saved after download. By default will - go in the packer cache, with a hash of the original filename and - checksum as its name. - -- `iso_target_extension` (string) - The extension of the iso file after download. This defaults to `iso`. - \ No newline at end of file +- `iso_urls` ([]string) - Multiple URLs for the ISO to download. Packer will try these in order. + If anything goes wrong attempting to download or while downloading a + single URL, it will move on to the next. All URLs must point to the same + file (same checksum). By default this is empty and `iso_url` is used. + Only one of `iso_url` or `iso_urls` can be specified. + +- `iso_target_path` (string) - The path where the iso should be saved after download. By default will + go in the packer cache, with a hash of the original filename and + checksum as its name. + +- `iso_target_extension` (string) - The extension of the iso file after download. This defaults to `iso`. diff --git a/website/pages/partials/common/ISOConfig-required.mdx b/website/pages/partials/common/ISOConfig-required.mdx index a4b653feb..1611af8ca 100644 --- a/website/pages/partials/common/ISOConfig-required.mdx +++ b/website/pages/partials/common/ISOConfig-required.mdx @@ -1,26 +1,25 @@ -- `iso_checksum` (string) - The checksum for the ISO file or virtual hard drive file. The type of - the checksum is specified within the checksum field as a prefix, ex: - "md5:{$checksum}". The type of the checksum can also be omitted and - Packer will try to infer it based on string length. Valid values are - "none", "{$checksum}", "md5:{$checksum}", "sha1:{$checksum}", - "sha256:{$checksum}", "sha512:{$checksum}" or "file:{$path}". Here is a - list of valid checksum values: - * md5:090992ba9fd140077b0661cb75f7ce13 - * 090992ba9fd140077b0661cb75f7ce13 - * sha1:ebfb681885ddf1234c18094a45bbeafd91467911 - * ebfb681885ddf1234c18094a45bbeafd91467911 - * sha256:ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 - * ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 - * file:http://releases.ubuntu.com/20.04/MD5SUMS - * file:file://./local/path/file.sum - * file:./local/path/file.sum - * none - Although the checksum will not be verified when it is set to "none", - this is not recommended since these files can be very large and - corruption does happen from time to time. - -- `iso_url` (string) - A URL to the ISO containing the installation image or virtual hard drive - (VHD or VHDX) file to clone. - \ No newline at end of file +- `iso_checksum` (string) - The checksum for the ISO file or virtual hard drive file. The type of + the checksum is specified within the checksum field as a prefix, ex: + "md5:{$checksum}". The type of the checksum can also be omitted and + Packer will try to infer it based on string length. Valid values are + "none", "{$checksum}", "md5:{$checksum}", "sha1:{$checksum}", + "sha256:{$checksum}", "sha512:{$checksum}" or "file:{$path}". Here is a + list of valid checksum values: + * md5:090992ba9fd140077b0661cb75f7ce13 + * 090992ba9fd140077b0661cb75f7ce13 + * sha1:ebfb681885ddf1234c18094a45bbeafd91467911 + * ebfb681885ddf1234c18094a45bbeafd91467911 + * sha256:ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 + * ed363350696a726b7932db864dda019bd2017365c9e299627830f06954643f93 + * file:http://releases.ubuntu.com/20.04/MD5SUMS + * file:file://./local/path/file.sum + * file:./local/path/file.sum + * none + Although the checksum will not be verified when it is set to "none", + this is not recommended since these files can be very large and + corruption does happen from time to time. + +- `iso_url` (string) - A URL to the ISO containing the installation image or virtual hard drive + (VHD or VHDX) file to clone. diff --git a/website/pages/partials/common/ISOConfig.mdx b/website/pages/partials/common/ISOConfig.mdx index 04d261842..5e473c74f 100644 --- a/website/pages/partials/common/ISOConfig.mdx +++ b/website/pages/partials/common/ISOConfig.mdx @@ -1,4 +1,5 @@ + By default, Packer will symlink, download or copy image files to the Packer cache into a "`hash($iso_url+$iso_checksum).$iso_target_extension`" file. Packer uses [hashicorp/go-getter](https://github.com/hashicorp/go-getter) in diff --git a/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx b/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx index 8f45a23e1..c3ce262ac 100644 --- a/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx +++ b/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx @@ -1,21 +1,20 @@ -- `boot_keygroup_interval` (duration string | ex: "1h5m2s") - Time to wait after sending a group of key pressses. The value of this - should be a duration. Examples are `5s` and `1m30s` which will cause - Packer to wait five seconds and one minute 30 seconds, respectively. If - this isn't specified, a sensible default value is picked depending on - the builder type. - -- `boot_wait` (duration string | ex: "1h5m2s") - The time to wait after booting the initial virtual machine before typing - the `boot_command`. The value of this should be a duration. Examples are - `5s` and `1m30s` which will cause Packer to wait five seconds and one - minute 30 seconds, respectively. If this isn't specified, the default is - `10s` or 10 seconds. To set boot_wait to 0s, use a negative number, such - as "-1s" - -- `boot_command` ([]string) - This is an array of commands to type when the virtual machine is first - booted. The goal of these commands should be to type just enough to - initialize the operating system installer. Special keys can be typed as - well, and are covered in the section below on the boot command. If this - is not specified, it is assumed the installer will start itself. - \ No newline at end of file +- `boot_keygroup_interval` (duration string | ex: "1h5m2s") - Time to wait after sending a group of key pressses. The value of this + should be a duration. Examples are `5s` and `1m30s` which will cause + Packer to wait five seconds and one minute 30 seconds, respectively. If + this isn't specified, a sensible default value is picked depending on + the builder type. + +- `boot_wait` (duration string | ex: "1h5m2s") - The time to wait after booting the initial virtual machine before typing + the `boot_command`. The value of this should be a duration. Examples are + `5s` and `1m30s` which will cause Packer to wait five seconds and one + minute 30 seconds, respectively. If this isn't specified, the default is + `10s` or 10 seconds. To set boot_wait to 0s, use a negative number, such + as "-1s" + +- `boot_command` ([]string) - This is an array of commands to type when the virtual machine is first + booted. The goal of these commands should be to type just enough to + initialize the operating system installer. Special keys can be typed as + well, and are covered in the section below on the boot command. If this + is not specified, it is assumed the installer will start itself. diff --git a/website/pages/partials/common/bootcommand/BootConfig.mdx b/website/pages/partials/common/bootcommand/BootConfig.mdx index b62c6d1b7..2e99c5a64 100644 --- a/website/pages/partials/common/bootcommand/BootConfig.mdx +++ b/website/pages/partials/common/bootcommand/BootConfig.mdx @@ -1,4 +1,5 @@ + The boot configuration is very important: `boot_command` specifies the keys to type when the virtual machine is first booted in order to start the OS installer. This command is typed after boot_wait, which gives the virtual diff --git a/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx b/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx index 27cba7b91..6c532fd4f 100644 --- a/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx +++ b/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx @@ -1,7 +1,6 @@ -- `disable_vnc` (bool) - Whether to create a VNC connection or not. A boot_command cannot be used - when this is true. Defaults to false. - -- `boot_key_interval` (duration string | ex: "1h5m2s") - Time in ms to wait between each key press - \ No newline at end of file +- `disable_vnc` (bool) - Whether to create a VNC connection or not. A boot_command cannot be used + when this is true. Defaults to false. + +- `boot_key_interval` (duration string | ex: "1h5m2s") - Time in ms to wait between each key press diff --git a/website/pages/partials/common/bootcommand/VNCConfig.mdx b/website/pages/partials/common/bootcommand/VNCConfig.mdx index dcd5e5328..34a6748ac 100644 --- a/website/pages/partials/common/bootcommand/VNCConfig.mdx +++ b/website/pages/partials/common/bootcommand/VNCConfig.mdx @@ -1,4 +1,5 @@ + The boot command "typed" character for character over a VNC connection to the machine, simulating a human actually typing the keyboard. diff --git a/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx b/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx index 6d65b9e46..2b705dd61 100644 --- a/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx +++ b/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx @@ -1,16 +1,15 @@ -- `shutdown_command` (string) - The command to use to gracefully shut down the machine once all - provisioning is complete. By default this is an empty string, which - tells Packer to just forcefully shut down the machine. This setting can - be safely omitted if for example, a shutdown command to gracefully halt - the machine is configured inside a provisioning script. If one or more - scripts require a reboot it is suggested to leave this blank (since - reboots may fail) and instead specify the final shutdown command in your - last script. - -- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the shutdown_command for the - virtual machine to actually shut down. If the machine doesn't shut down - in this time it is considered an error. By default, the time out is "5m" - (five minutes). - \ No newline at end of file +- `shutdown_command` (string) - The command to use to gracefully shut down the machine once all + provisioning is complete. By default this is an empty string, which + tells Packer to just forcefully shut down the machine. This setting can + be safely omitted if for example, a shutdown command to gracefully halt + the machine is configured inside a provisioning script. If one or more + scripts require a reboot it is suggested to leave this blank (since + reboots may fail) and instead specify the final shutdown command in your + last script. + +- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the shutdown_command for the + virtual machine to actually shut down. If the machine doesn't shut down + in this time it is considered an error. By default, the time out is "5m" + (five minutes). diff --git a/website/pages/partials/from-1.5/beta-hcl2-note.mdx b/website/pages/partials/from-1.5/beta-hcl2-note.mdx index c9f996646..ed557ed52 100644 --- a/website/pages/partials/from-1.5/beta-hcl2-note.mdx +++ b/website/pages/partials/from-1.5/beta-hcl2-note.mdx @@ -2,4 +2,4 @@ Packer is still in Beta. Please see the [Packer Issue Tracker](https://github.com/hashicorp/packer/issues/9176) for a list of supported features. For the old-style stable configuration language see -[template docs](/docs/templates). \ No newline at end of file +[template docs](/docs/templates). diff --git a/website/pages/partials/from-1.5/builds/example-block.mdx b/website/pages/partials/from-1.5/builds/example-block.mdx index 52e44eb00..67525f29e 100644 --- a/website/pages/partials/from-1.5/builds/example-block.mdx +++ b/website/pages/partials/from-1.5/builds/example-block.mdx @@ -2,7 +2,7 @@ # build.pkr.hcl build { # use the `name` field to name a build in the logs. - # For example this present config will display + # For example this present config will display # "buildname.amazon-ebs.example-1" and "buildname.amazon-ebs.example-2" name = "buildname" @@ -14,7 +14,7 @@ build { source "source.amazon-ebs.example-2" { # Use the singular `source` block set specific fields. - # Note that fields cannot be overwritten, in other words, you cannot + # Note that fields cannot be overwritten, in other words, you cannot # set the 'output' field from the top-level source block and here. output = "different value" name = var.foo @@ -28,4 +28,4 @@ build { inline = ["echo Hello World"] } } -``` \ No newline at end of file +``` diff --git a/website/pages/partials/from-1.5/locals/example-block.mdx b/website/pages/partials/from-1.5/locals/example-block.mdx index b6adfa115..59ea91777 100644 --- a/website/pages/partials/from-1.5/locals/example-block.mdx +++ b/website/pages/partials/from-1.5/locals/example-block.mdx @@ -6,4 +6,4 @@ locals { # locals can also be set with other variables : baz = "Foo is '${var.foo}' but not '${local.wee}'" } -``` \ No newline at end of file +``` diff --git a/website/pages/partials/from-1.5/sources/example-block.mdx b/website/pages/partials/from-1.5/sources/example-block.mdx index fcd948430..d4d2797b9 100644 --- a/website/pages/partials/from-1.5/sources/example-block.mdx +++ b/website/pages/partials/from-1.5/sources/example-block.mdx @@ -3,4 +3,4 @@ source "amazon-ebs" "example-1" { // ... } -``` \ No newline at end of file +``` diff --git a/website/pages/partials/from-1.5/variables/assignment.mdx b/website/pages/partials/from-1.5/variables/assignment.mdx index c4cc41297..49bdcf9a2 100644 --- a/website/pages/partials/from-1.5/variables/assignment.mdx +++ b/website/pages/partials/from-1.5/variables/assignment.mdx @@ -5,4 +5,4 @@ Once a variable is declared in your configuration, you can set it: - Individually, with the `-var foo=bar` command line option. - In variable definitions (`.pkrvars.hcl`) files, either specified on the command line or automatically loaded. -- As environment variables, for example: `PKR_VAR_foo=bar` \ No newline at end of file +- As environment variables, for example: `PKR_VAR_foo=bar` diff --git a/website/pages/partials/from-1.5/variables/foo-block.mdx b/website/pages/partials/from-1.5/variables/foo-block.mdx index ca6601526..63cb2351d 100644 --- a/website/pages/partials/from-1.5/variables/foo-block.mdx +++ b/website/pages/partials/from-1.5/variables/foo-block.mdx @@ -5,4 +5,4 @@ variable "foo" { default = "the default value of the `foo` variable" description = "description of the `foo` variable" } -``` \ No newline at end of file +``` diff --git a/website/pages/partials/from-1.5/variables/must-be-set.mdx b/website/pages/partials/from-1.5/variables/must-be-set.mdx index 1413aeab2..9ae63bc01 100644 --- a/website/pages/partials/from-1.5/variables/must-be-set.mdx +++ b/website/pages/partials/from-1.5/variables/must-be-set.mdx @@ -31,4 +31,4 @@ source "example" "foo" { } ``` -In the above case, as long as "arg" is optional for an "example" source, there is no error and arg won’t be set. \ No newline at end of file +In the above case, as long as "arg" is optional for an "example" source, there is no error and arg won’t be set. diff --git a/website/pages/partials/helper/communicator/Config-not-required.mdx b/website/pages/partials/helper/communicator/Config-not-required.mdx index 8fe3aa7f3..5ad952f90 100644 --- a/website/pages/partials/helper/communicator/Config-not-required.mdx +++ b/website/pages/partials/helper/communicator/Config-not-required.mdx @@ -1,36 +1,35 @@ -- `communicator` (string) - Packer currently supports three kinds of communicators: - - - `none` - No communicator will be used. If this is set, most - provisioners also can't be used. - - - `ssh` - An SSH connection will be established to the machine. This - is usually the default. - - - `winrm` - A WinRM connection will be established. - - In addition to the above, some builders have custom communicators they - can use. For example, the Docker builder has a "docker" communicator - that uses `docker exec` and `docker cp` to execute scripts and copy - files. - -- `pause_before_connecting` (duration string | ex: "1h5m2s") - We recommend that you enable SSH or WinRM as the very last step in your - guest's bootstrap script, but sometimes you may have a race condition where - you need Packer to wait before attempting to connect to your guest. - - If you end up in this situation, you can use the template option - `pause_before_connecting`. By default, there is no pause. For example: - - ```json - { - "communicator": "ssh", - "ssh_username": "myuser", - "pause_before_connecting": "10m" - } - ``` - - In this example, Packer will check whether it can connect, as normal. But once - a connection attempt is successful, it will disconnect and then wait 10 minutes - before connecting to the guest and beginning provisioning. - \ No newline at end of file +- `communicator` (string) - Packer currently supports three kinds of communicators: + + - `none` - No communicator will be used. If this is set, most + provisioners also can't be used. + + - `ssh` - An SSH connection will be established to the machine. This + is usually the default. + + - `winrm` - A WinRM connection will be established. + + In addition to the above, some builders have custom communicators they + can use. For example, the Docker builder has a "docker" communicator + that uses `docker exec` and `docker cp` to execute scripts and copy + files. + +- `pause_before_connecting` (duration string | ex: "1h5m2s") - We recommend that you enable SSH or WinRM as the very last step in your + guest's bootstrap script, but sometimes you may have a race condition where + you need Packer to wait before attempting to connect to your guest. + + If you end up in this situation, you can use the template option + `pause_before_connecting`. By default, there is no pause. For example: + + ```json + { + "communicator": "ssh", + "ssh_username": "myuser", + "pause_before_connecting": "10m" + } + ``` + + In this example, Packer will check whether it can connect, as normal. But once + a connection attempt is successful, it will disconnect and then wait 10 minutes + before connecting to the guest and beginning provisioning. diff --git a/website/pages/partials/helper/communicator/Config.mdx b/website/pages/partials/helper/communicator/Config.mdx index 2a07eba25..fa251ad0c 100644 --- a/website/pages/partials/helper/communicator/Config.mdx +++ b/website/pages/partials/helper/communicator/Config.mdx @@ -1,3 +1,4 @@ + Config is the common configuration that communicators allow within a builder. diff --git a/website/pages/partials/helper/communicator/SSH-Agent-Auth-not-required.mdx b/website/pages/partials/helper/communicator/SSH-Agent-Auth-not-required.mdx index 3039120dd..efc409dcb 100644 --- a/website/pages/partials/helper/communicator/SSH-Agent-Auth-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSH-Agent-Auth-not-required.mdx @@ -1,7 +1,6 @@ - -- `ssh_agent_auth` (bool) - If true, the local SSH agent will be used to authenticate connections to - the source instance. No temporary keypair will be created, and the - values of [`ssh_password`](#ssh_password) and - [`ssh_private_key_file`](#ssh_private_key_file) will be ignored. The - environment variable `SSH_AUTH_SOCK` must be set for this option to work - properly. +- `ssh_agent_auth` (bool) - If true, the local SSH agent will be used to authenticate connections to + the source instance. No temporary keypair will be created, and the + values of [`ssh_password`](#ssh_password) and + [`ssh_private_key_file`](#ssh_private_key_file) will be ignored. The + environment variable `SSH_AUTH_SOCK` must be set for this option to work + properly. diff --git a/website/pages/partials/helper/communicator/SSH-Key-Pair-Name-not-required.mdx b/website/pages/partials/helper/communicator/SSH-Key-Pair-Name-not-required.mdx index 2bb1ecc51..88e5a7a93 100644 --- a/website/pages/partials/helper/communicator/SSH-Key-Pair-Name-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSH-Key-Pair-Name-not-required.mdx @@ -1,9 +1,7 @@ - -- `ssh_keypair_name` (string) - If specified, this is the key that will be used for SSH with the - machine. The key must match a key pair name loaded up into the remote. - By default, this is blank, and Packer will generate a temporary keypair - unless [`ssh_password`](#ssh_password) is used. - [`ssh_private_key_file`](#ssh_private_key_file) or - [`ssh_agent_auth`](#ssh_agent_auth) must be specified when - [`ssh_keypair_name`](#ssh_keypair_name) is utilized. - +- `ssh_keypair_name` (string) - If specified, this is the key that will be used for SSH with the + machine. The key must match a key pair name loaded up into the remote. + By default, this is blank, and Packer will generate a temporary keypair + unless [`ssh_password`](#ssh_password) is used. + [`ssh_private_key_file`](#ssh_private_key_file) or + [`ssh_agent_auth`](#ssh_agent_auth) must be specified when + [`ssh_keypair_name`](#ssh_keypair_name) is utilized. diff --git a/website/pages/partials/helper/communicator/SSH-Private-Key-File-not-required.mdx b/website/pages/partials/helper/communicator/SSH-Private-Key-File-not-required.mdx index 92d185f36..a1925982a 100644 --- a/website/pages/partials/helper/communicator/SSH-Private-Key-File-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSH-Private-Key-File-not-required.mdx @@ -1,4 +1,3 @@ - -- `ssh_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with SSH. - The `~` can be used in path and will be expanded to the home directory - of current user. +- `ssh_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with SSH. + The `~` can be used in path and will be expanded to the home directory + of current user. diff --git a/website/pages/partials/helper/communicator/SSH-Temporary-Key-Pair-not-required.mdx b/website/pages/partials/helper/communicator/SSH-Temporary-Key-Pair-not-required.mdx index 133f946de..98c2a7637 100644 --- a/website/pages/partials/helper/communicator/SSH-Temporary-Key-Pair-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSH-Temporary-Key-Pair-not-required.mdx @@ -1,4 +1,3 @@ - -- `temporary_key_pair_name` (string) - The name of the temporary key pair to generate. By default, Packer - generates a name that looks like `packer_`, where <UUID> is - a 36 character unique identifier. +- `temporary_key_pair_name` (string) - The name of the temporary key pair to generate. By default, Packer + generates a name that looks like `packer_`, where <UUID> is + a 36 character unique identifier. diff --git a/website/pages/partials/helper/communicator/SSH-not-required.mdx b/website/pages/partials/helper/communicator/SSH-not-required.mdx index 3027c2f35..42ebeb1b7 100644 --- a/website/pages/partials/helper/communicator/SSH-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSH-not-required.mdx @@ -1,87 +1,88 @@ -- `ssh_host` (string) - The address to SSH to. This usually is automatically configured by the - builder. - -- `ssh_port` (int) - The port to connect to SSH. This defaults to `22`. - -- `ssh_username` (string) - The username to connect to SSH with. Required if using SSH. - -- `ssh_password` (string) - A plaintext password to use to authenticate with SSH. - -- `ssh_ciphers` ([]string) - This overrides the value of ciphers supported by default by golang. - The default value is [ - "aes128-gcm@openssh.com", - "chacha20-poly1305@openssh.com", - "aes128-ctr", "aes192-ctr", "aes256-ctr", - ] - - Valid options for ciphers include: - "aes128-ctr", "aes192-ctr", "aes256-ctr", "aes128-gcm@openssh.com", +- `ssh_host` (string) - The address to SSH to. This usually is automatically configured by the + builder. + +- `ssh_port` (int) - The port to connect to SSH. This defaults to `22`. + +- `ssh_username` (string) - The username to connect to SSH with. Required if using SSH. + +- `ssh_password` (string) - A plaintext password to use to authenticate with SSH. + +- `ssh_ciphers` ([]string) - This overrides the value of ciphers supported by default by golang. + The default value is [ + "aes128-gcm@openssh.com", "chacha20-poly1305@openssh.com", - "arcfour256", "arcfour128", "arcfour", "aes128-cbc", "3des-cbc", - -- `ssh_clear_authorized_keys` (bool) - If true, Packer will attempt to remove its temporary key from - `~/.ssh/authorized_keys` and `/root/.ssh/authorized_keys`. This is a - mostly cosmetic option, since Packer will delete the temporary private - key from the host system regardless of whether this is set to true - (unless the user has set the `-debug` flag). Defaults to "false"; - currently only works on guests with `sed` installed. - -- `ssh_certificate_file` (string) - Path to user certificate used to authenticate with SSH. - The `~` can be used in path and will be expanded to the - home directory of current user. - -- `ssh_pty` (bool) - If `true`, a PTY will be requested for the SSH connection. This defaults - to `false`. - -- `ssh_timeout` (duration string | ex: "1h5m2s") - The time to wait for SSH to become available. Packer uses this to - determine when the machine has booted so this is usually quite long. - Example value: `10m`. - -- `ssh_disable_agent_forwarding` (bool) - If true, SSH agent forwarding will be disabled. Defaults to `false`. - -- `ssh_handshake_attempts` (int) - The number of handshakes to attempt with SSH once it can connect. This - defaults to `10`. - -- `ssh_bastion_host` (string) - A bastion host to use for the actual SSH connection. - -- `ssh_bastion_port` (int) - The port of the bastion host. Defaults to `22`. - -- `ssh_bastion_agent_auth` (bool) - If `true`, the local SSH agent will be used to authenticate with the - bastion host. Defaults to `false`. - -- `ssh_bastion_username` (string) - The username to connect to the bastion host. - -- `ssh_bastion_password` (string) - The password to use to authenticate with the bastion host. - -- `ssh_bastion_interactive` (bool) - If `true`, the keyboard-interactive used to authenticate with bastion host. - -- `ssh_bastion_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with the - bastion host. The `~` can be used in path and will be expanded to the - home directory of current user. - -- `ssh_bastion_certificate_file` (string) - Path to user certificate used to authenticate with bastion host. - The `~` can be used in path and will be expanded to the - home directory of current user. - -- `ssh_file_transfer_method` (string) - `scp` or `sftp` - How to transfer files, Secure copy (default) or SSH - File Transfer Protocol. - -- `ssh_proxy_host` (string) - A SOCKS proxy host to use for SSH connection - -- `ssh_proxy_port` (int) - A port of the SOCKS proxy. Defaults to `1080`. - -- `ssh_proxy_username` (string) - The optional username to authenticate with the proxy server. - -- `ssh_proxy_password` (string) - The optional password to use to authenticate with the proxy server. - -- `ssh_keep_alive_interval` (duration string | ex: "1h5m2s") - How often to send "keep alive" messages to the server. Set to a negative - value (`-1s`) to disable. Example value: `10s`. Defaults to `5s`. - -- `ssh_read_write_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for a remote command to end. This might be - useful if, for example, packer hangs on a connection after a reboot. - Example: `5m`. Disabled by default. - -- `ssh_remote_tunnels` ([]string) - -- `ssh_local_tunnels` ([]string) - \ No newline at end of file + "aes128-ctr", "aes192-ctr", "aes256-ctr", + ] + + Valid options for ciphers include: + "aes128-ctr", "aes192-ctr", "aes256-ctr", "aes128-gcm@openssh.com", + "chacha20-poly1305@openssh.com", + "arcfour256", "arcfour128", "arcfour", "aes128-cbc", "3des-cbc", + +- `ssh_clear_authorized_keys` (bool) - If true, Packer will attempt to remove its temporary key from + `~/.ssh/authorized_keys` and `/root/.ssh/authorized_keys`. This is a + mostly cosmetic option, since Packer will delete the temporary private + key from the host system regardless of whether this is set to true + (unless the user has set the `-debug` flag). Defaults to "false"; + currently only works on guests with `sed` installed. + +- `ssh_certificate_file` (string) - Path to user certificate used to authenticate with SSH. + The `~` can be used in path and will be expanded to the + home directory of current user. + +- `ssh_pty` (bool) - If `true`, a PTY will be requested for the SSH connection. This defaults + to `false`. + +- `ssh_timeout` (duration string | ex: "1h5m2s") - The time to wait for SSH to become available. Packer uses this to + determine when the machine has booted so this is usually quite long. + Example value: `10m`. + +- `ssh_disable_agent_forwarding` (bool) - If true, SSH agent forwarding will be disabled. Defaults to `false`. + +- `ssh_handshake_attempts` (int) - The number of handshakes to attempt with SSH once it can connect. This + defaults to `10`. + +- `ssh_bastion_host` (string) - A bastion host to use for the actual SSH connection. + +- `ssh_bastion_port` (int) - The port of the bastion host. Defaults to `22`. + +- `ssh_bastion_agent_auth` (bool) - If `true`, the local SSH agent will be used to authenticate with the + bastion host. Defaults to `false`. + +- `ssh_bastion_username` (string) - The username to connect to the bastion host. + +- `ssh_bastion_password` (string) - The password to use to authenticate with the bastion host. + +- `ssh_bastion_interactive` (bool) - If `true`, the keyboard-interactive used to authenticate with bastion host. + +- `ssh_bastion_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with the + bastion host. The `~` can be used in path and will be expanded to the + home directory of current user. + +- `ssh_bastion_certificate_file` (string) - Path to user certificate used to authenticate with bastion host. + The `~` can be used in path and will be expanded to the + home directory of current user. + +- `ssh_file_transfer_method` (string) - `scp` or `sftp` - How to transfer files, Secure copy (default) or SSH + File Transfer Protocol. + +- `ssh_proxy_host` (string) - A SOCKS proxy host to use for SSH connection + +- `ssh_proxy_port` (int) - A port of the SOCKS proxy. Defaults to `1080`. + +- `ssh_proxy_username` (string) - The optional username to authenticate with the proxy server. + +- `ssh_proxy_password` (string) - The optional password to use to authenticate with the proxy server. + +- `ssh_keep_alive_interval` (duration string | ex: "1h5m2s") - How often to send "keep alive" messages to the server. Set to a negative + value (`-1s`) to disable. Example value: `10s`. Defaults to `5s`. + +- `ssh_read_write_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for a remote command to end. This might be + useful if, for example, packer hangs on a connection after a reboot. + Example: `5m`. Disabled by default. + +- `ssh_remote_tunnels` ([]string) - + +- `ssh_local_tunnels` ([]string) - diff --git a/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx b/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx index 64502023b..a2efb98b7 100644 --- a/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx @@ -1,19 +1,18 @@ -- `ssh_interface` (string) - One of `public_ip`, `private_ip`, `public_dns`, or `private_dns`. If - set, either the public IP address, private IP address, public DNS name - or private DNS name will used as the host for SSH. The default behaviour - if inside a VPC is to use the public IP address if available, otherwise - the private IP address will be used. If not in a VPC the public DNS name - will be used. Also works for WinRM. - - Where Packer is configured for an outbound proxy but WinRM traffic - should be direct, `ssh_interface` must be set to `private_dns` and - `.compute.internal` included in the `NO_PROXY` environment - variable. - -- `ssh_ip_version` (string) - The IP version to use for SSH connections, valid values are `4` and `6`. - Useful on dual stacked instances where the default behavior is to - connect via whichever IP address is returned first from the OpenStack - API. - \ No newline at end of file +- `ssh_interface` (string) - One of `public_ip`, `private_ip`, `public_dns`, or `private_dns`. If + set, either the public IP address, private IP address, public DNS name + or private DNS name will used as the host for SSH. The default behaviour + if inside a VPC is to use the public IP address if available, otherwise + the private IP address will be used. If not in a VPC the public DNS name + will be used. Also works for WinRM. + + Where Packer is configured for an outbound proxy but WinRM traffic + should be direct, `ssh_interface` must be set to `private_dns` and + `.compute.internal` included in the `NO_PROXY` environment + variable. + +- `ssh_ip_version` (string) - The IP version to use for SSH connections, valid values are `4` and `6`. + Useful on dual stacked instances where the default behavior is to + connect via whichever IP address is returned first from the OpenStack + API. diff --git a/website/pages/partials/helper/communicator/WinRM-not-required.mdx b/website/pages/partials/helper/communicator/WinRM-not-required.mdx index 7aee05b63..028b8b8a8 100644 --- a/website/pages/partials/helper/communicator/WinRM-not-required.mdx +++ b/website/pages/partials/helper/communicator/WinRM-not-required.mdx @@ -1,34 +1,33 @@ -- `winrm_username` (string) - The username to use to connect to WinRM. - -- `winrm_password` (string) - The password to use to connect to WinRM. - -- `winrm_host` (string) - The address for WinRM to connect to. - - NOTE: If using an Amazon EBS builder, you can specify the interface - WinRM connects to via - [`ssh_interface`](/docs/builders/amazon-ebs#ssh_interface) - -- `winrm_no_proxy` (bool) - Setting this to `true` adds the remote - `host:port` to the `NO_PROXY` environment variable. This has the effect of - bypassing any configured proxies when connecting to the remote host. - Default to `false`. - -- `winrm_port` (int) - The WinRM port to connect to. This defaults to `5985` for plain - unencrypted connection and `5986` for SSL when `winrm_use_ssl` is set to - true. - -- `winrm_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for WinRM to become available. This defaults - to `30m` since setting up a Windows machine generally takes a long time. - -- `winrm_use_ssl` (bool) - If `true`, use HTTPS for WinRM. - -- `winrm_insecure` (bool) - If `true`, do not check server certificate chain and host name. - -- `winrm_use_ntlm` (bool) - If `true`, NTLMv2 authentication (with session security) will be used - for WinRM, rather than default (basic authentication), removing the - requirement for basic authentication to be enabled within the target - guest. Further reading for remote connection authentication can be found - [here](https://msdn.microsoft.com/en-us/library/aa384295(v=vs.85).aspx). - \ No newline at end of file +- `winrm_username` (string) - The username to use to connect to WinRM. + +- `winrm_password` (string) - The password to use to connect to WinRM. + +- `winrm_host` (string) - The address for WinRM to connect to. + + NOTE: If using an Amazon EBS builder, you can specify the interface + WinRM connects to via + [`ssh_interface`](/docs/builders/amazon-ebs#ssh_interface) + +- `winrm_no_proxy` (bool) - Setting this to `true` adds the remote + `host:port` to the `NO_PROXY` environment variable. This has the effect of + bypassing any configured proxies when connecting to the remote host. + Default to `false`. + +- `winrm_port` (int) - The WinRM port to connect to. This defaults to `5985` for plain + unencrypted connection and `5986` for SSL when `winrm_use_ssl` is set to + true. + +- `winrm_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for WinRM to become available. This defaults + to `30m` since setting up a Windows machine generally takes a long time. + +- `winrm_use_ssl` (bool) - If `true`, use HTTPS for WinRM. + +- `winrm_insecure` (bool) - If `true`, do not check server certificate chain and host name. + +- `winrm_use_ntlm` (bool) - If `true`, NTLMv2 authentication (with session security) will be used + for WinRM, rather than default (basic authentication), removing the + requirement for basic authentication to be enabled within the target + guest. Further reading for remote connection authentication can be found + [here](https://msdn.microsoft.com/en-us/library/aa384295(v=vs.85).aspx). diff --git a/website/pages/partials/post-processor/alicloud-import/Config-not-required.mdx b/website/pages/partials/post-processor/alicloud-import/Config-not-required.mdx index 05f16b42d..35508c41a 100644 --- a/website/pages/partials/post-processor/alicloud-import/Config-not-required.mdx +++ b/website/pages/partials/post-processor/alicloud-import/Config-not-required.mdx @@ -1,31 +1,33 @@ -- `oss_key_name` (string) - The name of the object key in `oss_bucket_name` where the RAW or VHD - file will be copied to for import. This is treated as a [template - engine](/docs/templates/engine), and you may access any of the variables - stored in the generated data using the [build](/docs/templates/engine) - template function. - -- `skip_clean` (bool) - Whether we should skip removing the RAW or VHD file uploaded to OSS - after the import process has completed. `true` means that we should - leave it in the OSS bucket, `false` means to clean it out. Defaults to - `false`. - -- `tags` (map[string]string) - Tags -- `image_description` (string) - The description of the image, with a length limit of `0` to `256` - characters. Leaving it blank means null, which is the default value. It - cannot begin with `http://` or `https://`. - -- `image_share_account` ([]string) - Alicloud Image Share Accounts -- `image_copy_regions` ([]string) - Alicloud Image Destination Regions -- `image_system_size` (string) - Size of the system disk, in GB, values - range: - - cloud - 5 \~ 2000 - - cloud_efficiency - 20 \~ 2048 - - cloud_ssd - 20 \~ 2048 - -- `image_force_delete` (bool) - If this value is true, when the target image name is duplicated with an - existing image, it will delete the existing image and then create the - target image, otherwise, the creation will fail. The default value is - false. - \ No newline at end of file +- `oss_key_name` (string) - The name of the object key in `oss_bucket_name` where the RAW or VHD + file will be copied to for import. This is treated as a [template + engine](/docs/templates/engine), and you may access any of the variables + stored in the generated data using the [build](/docs/templates/engine) + template function. + +- `skip_clean` (bool) - Whether we should skip removing the RAW or VHD file uploaded to OSS + after the import process has completed. `true` means that we should + leave it in the OSS bucket, `false` means to clean it out. Defaults to + `false`. + +- `tags` (map[string]string) - Tags + +- `image_description` (string) - The description of the image, with a length limit of `0` to `256` + characters. Leaving it blank means null, which is the default value. It + cannot begin with `http://` or `https://`. + +- `image_share_account` ([]string) - Alicloud Image Share Accounts + +- `image_copy_regions` ([]string) - Alicloud Image Destination Regions + +- `image_system_size` (string) - Size of the system disk, in GB, values + range: + - cloud - 5 \~ 2000 + - cloud_efficiency - 20 \~ 2048 + - cloud_ssd - 20 \~ 2048 + +- `image_force_delete` (bool) - If this value is true, when the target image name is duplicated with an + existing image, it will delete the existing image and then create the + target image, otherwise, the creation will fail. The default value is + false. diff --git a/website/pages/partials/post-processor/alicloud-import/Config-required.mdx b/website/pages/partials/post-processor/alicloud-import/Config-required.mdx index 002ca92be..c8f3fb4ec 100644 --- a/website/pages/partials/post-processor/alicloud-import/Config-required.mdx +++ b/website/pages/partials/post-processor/alicloud-import/Config-required.mdx @@ -1,15 +1,14 @@ -- `oss_bucket_name` (string) - The name of the OSS bucket where the RAW or VHD file will be copied to - for import. If the Bucket doesn't exist, the post-process will create it for - you. - -- `image_os_type` (string) - Type of the OS, like linux/windows - -- `image_platform` (string) - Platform such as `CentOS` - -- `image_architecture` (string) - Platform type of the image system: `i386` or `x86_64` - -- `format` (string) - The format of the image for import, now alicloud only support RAW and - VHD. - \ No newline at end of file +- `oss_bucket_name` (string) - The name of the OSS bucket where the RAW or VHD file will be copied to + for import. If the Bucket doesn't exist, the post-process will create it for + you. + +- `image_os_type` (string) - Type of the OS, like linux/windows + +- `image_platform` (string) - Platform such as `CentOS` + +- `image_architecture` (string) - Platform type of the image system: `i386` or `x86_64` + +- `format` (string) - The format of the image for import, now alicloud only support RAW and + VHD. diff --git a/website/pages/partials/post-processor/alicloud-import/Config.mdx b/website/pages/partials/post-processor/alicloud-import/Config.mdx index f6de1b236..0d7a7b85b 100644 --- a/website/pages/partials/post-processor/alicloud-import/Config.mdx +++ b/website/pages/partials/post-processor/alicloud-import/Config.mdx @@ -1,2 +1,3 @@ + Configuration of this post processor diff --git a/website/pages/partials/post-processor/manifest/Config-not-required.mdx b/website/pages/partials/post-processor/manifest/Config-not-required.mdx index f94208521..b02e4ef85 100644 --- a/website/pages/partials/post-processor/manifest/Config-not-required.mdx +++ b/website/pages/partials/post-processor/manifest/Config-not-required.mdx @@ -1,14 +1,13 @@ -- `output` (string) - The manifest will be written to this file. This defaults to - `packer-manifest.json`. - -- `strip_path` (bool) - Write only filename without the path to the manifest file. This defaults - to false. - -- `strip_time` (bool) - Don't write the `build_time` field from the output. - -- `custom_data` (map[string]string) - Arbitrary data to add to the manifest. This is a [template - engine](https://packer.io/docs/templates/engine.html). Therefore, you - may use user variables and template functions in this field. - \ No newline at end of file +- `output` (string) - The manifest will be written to this file. This defaults to + `packer-manifest.json`. + +- `strip_path` (bool) - Write only filename without the path to the manifest file. This defaults + to false. + +- `strip_time` (bool) - Don't write the `build_time` field from the output. + +- `custom_data` (map[string]string) - Arbitrary data to add to the manifest. This is a [template + engine](https://packer.io/docs/templates/engine.html). Therefore, you + may use user variables and template functions in this field. diff --git a/website/pages/partials/post-processor/ucloud-import/Config-not-required.mdx b/website/pages/partials/post-processor/ucloud-import/Config-not-required.mdx index d87a2eaa1..e19c56ae6 100644 --- a/website/pages/partials/post-processor/ucloud-import/Config-not-required.mdx +++ b/website/pages/partials/post-processor/ucloud-import/Config-not-required.mdx @@ -1,15 +1,14 @@ -- `ufile_key_name` (string) - The name of the object key in - `ufile_bucket_name` where the RAW, VHD, VMDK, or qcow2 file will be copied - to import. This is a [template engine](/docs/templates/engine). - Therefore, you may use user variables and template functions in this field. - -- `skip_clean` (bool) - Whether we should skip removing the RAW, VHD, VMDK, or qcow2 file uploaded to - UFile after the import process has completed. Possible values are: `true` to - leave it in the UFile bucket, `false` to remove it. (Default: `false`). - -- `image_description` (string) - The description of the image. - -- `wait_image_ready_timeout` (int) - Timeout of importing image. The default timeout is 3600 seconds if this option is not set or is set. - \ No newline at end of file +- `ufile_key_name` (string) - The name of the object key in + `ufile_bucket_name` where the RAW, VHD, VMDK, or qcow2 file will be copied + to import. This is a [template engine](/docs/templates/engine). + Therefore, you may use user variables and template functions in this field. + +- `skip_clean` (bool) - Whether we should skip removing the RAW, VHD, VMDK, or qcow2 file uploaded to + UFile after the import process has completed. Possible values are: `true` to + leave it in the UFile bucket, `false` to remove it. (Default: `false`). + +- `image_description` (string) - The description of the image. + +- `wait_image_ready_timeout` (int) - Timeout of importing image. The default timeout is 3600 seconds if this option is not set or is set. diff --git a/website/pages/partials/post-processor/ucloud-import/Config-required.mdx b/website/pages/partials/post-processor/ucloud-import/Config-required.mdx index 1d1934a6c..b075f37c3 100644 --- a/website/pages/partials/post-processor/ucloud-import/Config-required.mdx +++ b/website/pages/partials/post-processor/ucloud-import/Config-required.mdx @@ -1,16 +1,15 @@ -- `ufile_bucket_name` (string) - The name of the UFile bucket where the RAW, VHD, VMDK, or qcow2 file will be copied to for import. - This bucket must exist when the post-processor is run. - -- `image_name` (string) - The name of the user-defined image, which contains 1-63 characters and only - supports Chinese, English, numbers, '-\_,.:[]'. - -- `image_os_type` (string) - Type of the OS. Possible values are: `CentOS`, `Ubuntu`, `Windows`, `RedHat`, `Debian`, `Other`. - You may refer to [ucloud_api_docs](https://docs.ucloud.cn/api/uhost-api/import_custom_image) for detail. - -- `image_os_name` (string) - The name of OS. Such as: `CentOS 7.2 64位`, set `Other` When `image_os_type` is `Other`. - You may refer to [ucloud_api_docs](https://docs.ucloud.cn/api/uhost-api/import_custom_image) for detail. - -- `format` (string) - The format of the import image , Possible values are: `raw`, `vhd`, `vmdk`, or `qcow2`. - \ No newline at end of file +- `ufile_bucket_name` (string) - The name of the UFile bucket where the RAW, VHD, VMDK, or qcow2 file will be copied to for import. + This bucket must exist when the post-processor is run. + +- `image_name` (string) - The name of the user-defined image, which contains 1-63 characters and only + supports Chinese, English, numbers, '-\_,.:[]'. + +- `image_os_type` (string) - Type of the OS. Possible values are: `CentOS`, `Ubuntu`, `Windows`, `RedHat`, `Debian`, `Other`. + You may refer to [ucloud_api_docs](https://docs.ucloud.cn/api/uhost-api/import_custom_image) for detail. + +- `image_os_name` (string) - The name of OS. Such as: `CentOS 7.2 64位`, set `Other` When `image_os_type` is `Other`. + You may refer to [ucloud_api_docs](https://docs.ucloud.cn/api/uhost-api/import_custom_image) for detail. + +- `format` (string) - The format of the import image , Possible values are: `raw`, `vhd`, `vmdk`, or `qcow2`. diff --git a/website/pages/partials/post-processor/ucloud-import/Config.mdx b/website/pages/partials/post-processor/ucloud-import/Config.mdx index 21fd4b736..a427d0ef4 100644 --- a/website/pages/partials/post-processor/ucloud-import/Config.mdx +++ b/website/pages/partials/post-processor/ucloud-import/Config.mdx @@ -1,2 +1,3 @@ + Configuration of this post processor diff --git a/website/pages/partials/post-processor/yandex-export/Config-not-required.mdx b/website/pages/partials/post-processor/yandex-export/Config-not-required.mdx index 632c272d4..9b340a951 100644 --- a/website/pages/partials/post-processor/yandex-export/Config-not-required.mdx +++ b/website/pages/partials/post-processor/yandex-export/Config-not-required.mdx @@ -1,21 +1,20 @@ -- `disk_size` (int) - The size of the disk in GB. This defaults to `100`, which is 100GB. - -- `disk_type` (string) - Specify disk type for the launched instance. Defaults to `network-ssd`. - -- `platform_id` (string) - Identifier of the hardware platform configuration for the instance. This defaults to `standard-v2`. - -- `subnet_id` (string) - The Yandex VPC subnet id to use for - the launched instance. Note, the zone of the subnet must match the - zone in which the VM is launched. - -- `zone` (string) - The name of the zone to launch the instance. This defaults to `ru-central1-a`. - -- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. Alternatively you may set - value by environment variable YC_TOKEN. - -- `service_account_key_file` (string) - Path to file with Service Account key in json format. This - is an alternative method to authenticate to Yandex.Cloud. Alternatively you may set environment variable - YC_SERVICE_ACCOUNT_KEY_FILE. - \ No newline at end of file +- `disk_size` (int) - The size of the disk in GB. This defaults to `100`, which is 100GB. + +- `disk_type` (string) - Specify disk type for the launched instance. Defaults to `network-ssd`. + +- `platform_id` (string) - Identifier of the hardware platform configuration for the instance. This defaults to `standard-v2`. + +- `subnet_id` (string) - The Yandex VPC subnet id to use for + the launched instance. Note, the zone of the subnet must match the + zone in which the VM is launched. + +- `zone` (string) - The name of the zone to launch the instance. This defaults to `ru-central1-a`. + +- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. Alternatively you may set + value by environment variable YC_TOKEN. + +- `service_account_key_file` (string) - Path to file with Service Account key in json format. This + is an alternative method to authenticate to Yandex.Cloud. Alternatively you may set environment variable + YC_SERVICE_ACCOUNT_KEY_FILE. diff --git a/website/pages/partials/post-processor/yandex-export/Config-required.mdx b/website/pages/partials/post-processor/yandex-export/Config-required.mdx index 13c6311e7..b86fb95c7 100644 --- a/website/pages/partials/post-processor/yandex-export/Config-required.mdx +++ b/website/pages/partials/post-processor/yandex-export/Config-required.mdx @@ -1,13 +1,12 @@ -- `paths` ([]string) - List of paths to Yandex Object Storage where exported image will be uploaded. - Please be aware that use of space char inside path not supported. - Also this param support [build](/docs/templates/engine) template function. - Check available template data for [Yandex](/docs/builders/yandex#build-template-data) builder. - -- `folder_id` (string) - The folder ID that will be used to launch a temporary instance. - Alternatively you may set value by environment variable YC_FOLDER_ID. - -- `service_account_id` (string) - Service Account ID with proper permission to modify an instance, create and attach disk and - make upload to specific Yandex Object Storage paths - \ No newline at end of file +- `paths` ([]string) - List of paths to Yandex Object Storage where exported image will be uploaded. + Please be aware that use of space char inside path not supported. + Also this param support [build](/docs/templates/engine) template function. + Check available template data for [Yandex](/docs/builders/yandex#build-template-data) builder. + +- `folder_id` (string) - The folder ID that will be used to launch a temporary instance. + Alternatively you may set value by environment variable YC_FOLDER_ID. + +- `service_account_id` (string) - Service Account ID with proper permission to modify an instance, create and attach disk and + make upload to specific Yandex Object Storage paths diff --git a/website/pages/partials/post-processor/yandex-import/Config-not-required.mdx b/website/pages/partials/post-processor/yandex-import/Config-not-required.mdx index e30939ef7..28352f5c3 100644 --- a/website/pages/partials/post-processor/yandex-import/Config-not-required.mdx +++ b/website/pages/partials/post-processor/yandex-import/Config-not-required.mdx @@ -1,24 +1,23 @@ -- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. - -- `service_account_key_file` (string) - Path to file with Service Account key in json format. This - is an alternative method to authenticate to Yandex.Cloud. - -- `object_name` (string) - The name of the object key in - `bucket` where the qcow2 file will be copied to import. This is a [template engine](/docs/templates/engine). - Therefore, you may use user variables and template functions in this field. - -- `skip_clean` (bool) - Whether skip removing the qcow2 file uploaded to Storage - after the import process has completed. Possible values are: `true` to - leave it in the bucket, `false` to remove it. (Default: `false`). - -- `image_name` (string) - The name of the image, which contains 1-63 characters and only - supports lowercase English characters, numbers and hyphen. - -- `image_description` (string) - The description of the image. - -- `image_family` (string) - The family name of the imported image. - -- `image_labels` (map[string]string) - Key/value pair labels to apply to the imported image. - \ No newline at end of file +- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. + +- `service_account_key_file` (string) - Path to file with Service Account key in json format. This + is an alternative method to authenticate to Yandex.Cloud. + +- `object_name` (string) - The name of the object key in + `bucket` where the qcow2 file will be copied to import. This is a [template engine](/docs/templates/engine). + Therefore, you may use user variables and template functions in this field. + +- `skip_clean` (bool) - Whether skip removing the qcow2 file uploaded to Storage + after the import process has completed. Possible values are: `true` to + leave it in the bucket, `false` to remove it. (Default: `false`). + +- `image_name` (string) - The name of the image, which contains 1-63 characters and only + supports lowercase English characters, numbers and hyphen. + +- `image_description` (string) - The description of the image. + +- `image_family` (string) - The family name of the imported image. + +- `image_labels` (map[string]string) - Key/value pair labels to apply to the imported image. diff --git a/website/pages/partials/post-processor/yandex-import/Config-required.mdx b/website/pages/partials/post-processor/yandex-import/Config-required.mdx index 4d0a007cb..3ce5a6242 100644 --- a/website/pages/partials/post-processor/yandex-import/Config-required.mdx +++ b/website/pages/partials/post-processor/yandex-import/Config-required.mdx @@ -1,10 +1,9 @@ -- `folder_id` (string) - The folder ID that will be used to store imported Image. - -- `service_account_id` (string) - Service Account ID with proper permission to use Storage service - for operations 'upload' and 'delete' object to `bucket` - -- `bucket` (string) - The name of the bucket where the qcow2 file will be copied to for import. - This bucket must exist when the post-processor is run. - \ No newline at end of file +- `folder_id` (string) - The folder ID that will be used to store imported Image. + +- `service_account_id` (string) - Service Account ID with proper permission to use Storage service + for operations 'upload' and 'delete' object to `bucket` + +- `bucket` (string) - The name of the bucket where the qcow2 file will be copied to for import. + This bucket must exist when the post-processor is run. diff --git a/website/pages/partials/provisioner/ansible/Config-not-required.mdx b/website/pages/partials/provisioner/ansible/Config-not-required.mdx index e1b37071b..ed44b56ba 100644 --- a/website/pages/partials/provisioner/ansible/Config-not-required.mdx +++ b/website/pages/partials/provisioner/ansible/Config-not-required.mdx @@ -1,146 +1,146 @@ -- `extra_arguments` ([]string) - Extra arguments to pass to Ansible. - These arguments _will not_ be passed through a shell and arguments should - not be quoted. Usage example: - +- `extra_arguments` ([]string) - Extra arguments to pass to Ansible. + These arguments _will not_ be passed through a shell and arguments should + not be quoted. Usage example: + + ```json + "extra_arguments": [ "--extra-vars", "Region={{user `Region`}} Stage={{user `Stage`}}" ] + ``` + + If you are running a Windows build on AWS, Azure, Google Compute, or OpenStack + and would like to access the auto-generated password that Packer uses to + connect to a Windows instance via WinRM, you can use the template variable + `{{.WinRMPassword}}` in this option. For example: + + ```json + "extra_arguments": [ + "--extra-vars", "winrm_password={{ .WinRMPassword }}" + ] + ``` + +- `ansible_env_vars` ([]string) - Environment variables to set before + running Ansible. Usage example: + ```json - "extra_arguments": [ "--extra-vars", "Region={{user `Region`}} Stage={{user `Stage`}}" ] + "ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SSH_ARGS='-o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s'", "ANSIBLE_NOCOLOR=True" ] ``` - - If you are running a Windows build on AWS, Azure, Google Compute, or OpenStack - and would like to access the auto-generated password that Packer uses to - connect to a Windows instance via WinRM, you can use the template variable - `{{.WinRMPassword}}` in this option. For example: - + + This is a [template engine](/docs/templates/engine). Therefore, you + may use user variables and template functions in this field. + + For example, if you are running a Windows build on AWS, Azure, + Google Compute, or OpenStack and would like to access the auto-generated + password that Packer uses to connect to a Windows instance via WinRM, you + can use the template variable `{{.WinRMPassword}}` in this option. Example: + ```json - "extra_arguments": [ - "--extra-vars", "winrm_password={{ .WinRMPassword }}" - ] + "ansible_env_vars": [ "WINRM_PASSWORD={{.WinRMPassword}}" ], ``` - -- `ansible_env_vars` ([]string) - Environment variables to set before - running Ansible. Usage example: - - ```json - "ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SSH_ARGS='-o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s'", "ANSIBLE_NOCOLOR=True" ] - ``` - - This is a [template engine](/docs/templates/engine). Therefore, you - may use user variables and template functions in this field. - - For example, if you are running a Windows build on AWS, Azure, - Google Compute, or OpenStack and would like to access the auto-generated - password that Packer uses to connect to a Windows instance via WinRM, you - can use the template variable `{{.WinRMPassword}}` in this option. Example: - - ```json - "ansible_env_vars": [ "WINRM_PASSWORD={{.WinRMPassword}}" ], - ``` - -- `groups` ([]string) - The groups into which the Ansible host should - be placed. When unspecified, the host is not associated with any groups. - -- `empty_groups` ([]string) - The groups which should be present in - inventory file but remain empty. - -- `host_alias` (string) - The alias by which the Ansible host should be - known. Defaults to `default`. This setting is ignored when using a custom - inventory file. - -- `user` (string) - The `ansible_user` to use. Defaults to the user running - packer, NOT the user set for your communicator. If you want to use the same - user as the communicator, you will need to manually set it again in this - field. - -- `local_port` (int) - The port on which to attempt to listen for SSH - connections. This value is a starting point. The provisioner will attempt - listen for SSH connections on the first available of ten ports, starting at - `local_port`. A system-chosen port is used when `local_port` is missing or - empty. - -- `ssh_host_key_file` (string) - The SSH key that will be used to run the SSH - server on the host machine to forward commands to the target machine. - Ansible connects to this server and will validate the identity of the - server using the system known_hosts. The default behavior is to generate - and use a onetime key. Host key checking is disabled via the - `ANSIBLE_HOST_KEY_CHECKING` environment variable if the key is generated. - -- `ssh_authorized_key_file` (string) - The SSH public key of the Ansible - `ssh_user`. The default behavior is to generate and use a onetime key. If - this key is generated, the corresponding private key is passed to - `ansible-playbook` with the `-e ansible_ssh_private_key_file` option. - -- `sftp_command` (string) - The command to run on the machine being - provisioned by Packer to handle the SFTP protocol that Ansible will use to - transfer files. The command should read and write on stdin and stdout, - respectively. Defaults to `/usr/lib/sftp-server -e`. - -- `skip_version_check` (bool) - Check if ansible is installed prior to - running. Set this to `true`, for example, if you're going to install - ansible during the packer run. - -- `use_sftp` (bool) - Use SFTP -- `inventory_directory` (string) - The directory in which to place the - temporary generated Ansible inventory file. By default, this is the - system-specific temporary file location. The fully-qualified name of this - temporary file will be passed to the `-i` argument of the `ansible` command - when this provisioner runs ansible. Specify this if you have an existing - inventory directory with `host_vars` `group_vars` that you would like to - use in the playbook that this provisioner will run. - -- `inventory_file_template` (string) - This template represents the format for the lines added to the temporary - inventory file that Packer will create to run Ansible against your image. - The default for recent versions of Ansible is: - "{{ .HostAlias }} ansible_host={{ .Host }} ansible_user={{ .User }} ansible_port={{ .Port }}\n" - Available template engines are: This option is a template engine; - variables available to you include the examples in the default (Host, - HostAlias, User, Port) as well as any variables available to you via the - "build" template engine. - -- `inventory_file` (string) - The inventory file to use during provisioning. - When unspecified, Packer will create a temporary inventory file and will - use the `host_alias`. - -- `keep_inventory_file` (bool) - If `true`, the Ansible provisioner will - not delete the temporary inventory file it creates in order to connect to - the instance. This is useful if you are trying to debug your ansible run - and using "--on-error=ask" in order to leave your instance running while you - test your playbook. this option is not used if you set an `inventory_file`. - -- `galaxy_file` (string) - A requirements file which provides a way to - install roles with the [ansible-galaxy - cli](http://docs.ansible.com/ansible/galaxy.html#the-ansible-galaxy-command-line-tool) - on the local machine before executing `ansible-playbook`. By default, this is empty. - -- `galaxy_command` (string) - The command to invoke ansible-galaxy. By default, this is - `ansible-galaxy`. - -- `galaxy_force_install` (bool) - Force overwriting an existing role. - Adds `--force` option to `ansible-galaxy` command. By default, this is - `false`. - -- `roles_path` (string) - The path to the directory on your local system to - install the roles in. Adds `--roles-path /path/to/your/roles` to - `ansible-galaxy` command. By default, this is empty, and thus `--roles-path` - option is not added to the command. - -- `use_proxy` (boolean) - When `true`, set up a localhost proxy adapter - so that Ansible has an IP address to connect to, even if your guest does not - have an IP address. For example, the adapter is necessary for Docker builds - to use the Ansible provisioner. If you set this option to `false`, but - Packer cannot find an IP address to connect Ansible to, it will - automatically set up the adapter anyway. - - In order for Ansible to connect properly even when use_proxy is false, you - need to make sure that you are either providing a valid username and ssh key - to the ansible provisioner directly, or that the username and ssh key - being used by the ssh communicator will work for your needs. If you do not - provide a user to ansible, it will use the user associated with your - builder, not the user running Packer. - use_proxy=false is currently only supported for SSH and WinRM. - - Currently, this defaults to `true` for all connection types. In the future, - this option will be changed to default to `false` for SSH and WinRM - connections where the provisioner has access to a host IP. - \ No newline at end of file + +- `groups` ([]string) - The groups into which the Ansible host should + be placed. When unspecified, the host is not associated with any groups. + +- `empty_groups` ([]string) - The groups which should be present in + inventory file but remain empty. + +- `host_alias` (string) - The alias by which the Ansible host should be + known. Defaults to `default`. This setting is ignored when using a custom + inventory file. + +- `user` (string) - The `ansible_user` to use. Defaults to the user running + packer, NOT the user set for your communicator. If you want to use the same + user as the communicator, you will need to manually set it again in this + field. + +- `local_port` (int) - The port on which to attempt to listen for SSH + connections. This value is a starting point. The provisioner will attempt + listen for SSH connections on the first available of ten ports, starting at + `local_port`. A system-chosen port is used when `local_port` is missing or + empty. + +- `ssh_host_key_file` (string) - The SSH key that will be used to run the SSH + server on the host machine to forward commands to the target machine. + Ansible connects to this server and will validate the identity of the + server using the system known_hosts. The default behavior is to generate + and use a onetime key. Host key checking is disabled via the + `ANSIBLE_HOST_KEY_CHECKING` environment variable if the key is generated. + +- `ssh_authorized_key_file` (string) - The SSH public key of the Ansible + `ssh_user`. The default behavior is to generate and use a onetime key. If + this key is generated, the corresponding private key is passed to + `ansible-playbook` with the `-e ansible_ssh_private_key_file` option. + +- `sftp_command` (string) - The command to run on the machine being + provisioned by Packer to handle the SFTP protocol that Ansible will use to + transfer files. The command should read and write on stdin and stdout, + respectively. Defaults to `/usr/lib/sftp-server -e`. + +- `skip_version_check` (bool) - Check if ansible is installed prior to + running. Set this to `true`, for example, if you're going to install + ansible during the packer run. + +- `use_sftp` (bool) - Use SFTP + +- `inventory_directory` (string) - The directory in which to place the + temporary generated Ansible inventory file. By default, this is the + system-specific temporary file location. The fully-qualified name of this + temporary file will be passed to the `-i` argument of the `ansible` command + when this provisioner runs ansible. Specify this if you have an existing + inventory directory with `host_vars` `group_vars` that you would like to + use in the playbook that this provisioner will run. + +- `inventory_file_template` (string) - This template represents the format for the lines added to the temporary + inventory file that Packer will create to run Ansible against your image. + The default for recent versions of Ansible is: + "{{ .HostAlias }} ansible_host={{ .Host }} ansible_user={{ .User }} ansible_port={{ .Port }}\n" + Available template engines are: This option is a template engine; + variables available to you include the examples in the default (Host, + HostAlias, User, Port) as well as any variables available to you via the + "build" template engine. + +- `inventory_file` (string) - The inventory file to use during provisioning. + When unspecified, Packer will create a temporary inventory file and will + use the `host_alias`. + +- `keep_inventory_file` (bool) - If `true`, the Ansible provisioner will + not delete the temporary inventory file it creates in order to connect to + the instance. This is useful if you are trying to debug your ansible run + and using "--on-error=ask" in order to leave your instance running while you + test your playbook. this option is not used if you set an `inventory_file`. + +- `galaxy_file` (string) - A requirements file which provides a way to + install roles with the [ansible-galaxy + cli](http://docs.ansible.com/ansible/galaxy.html#the-ansible-galaxy-command-line-tool) + on the local machine before executing `ansible-playbook`. By default, this is empty. + +- `galaxy_command` (string) - The command to invoke ansible-galaxy. By default, this is + `ansible-galaxy`. + +- `galaxy_force_install` (bool) - Force overwriting an existing role. + Adds `--force` option to `ansible-galaxy` command. By default, this is + `false`. + +- `roles_path` (string) - The path to the directory on your local system to + install the roles in. Adds `--roles-path /path/to/your/roles` to + `ansible-galaxy` command. By default, this is empty, and thus `--roles-path` + option is not added to the command. + +- `use_proxy` (boolean) - When `true`, set up a localhost proxy adapter + so that Ansible has an IP address to connect to, even if your guest does not + have an IP address. For example, the adapter is necessary for Docker builds + to use the Ansible provisioner. If you set this option to `false`, but + Packer cannot find an IP address to connect Ansible to, it will + automatically set up the adapter anyway. + + In order for Ansible to connect properly even when use_proxy is false, you + need to make sure that you are either providing a valid username and ssh key + to the ansible provisioner directly, or that the username and ssh key + being used by the ssh communicator will work for your needs. If you do not + provide a user to ansible, it will use the user associated with your + builder, not the user running Packer. + use_proxy=false is currently only supported for SSH and WinRM. + + Currently, this defaults to `true` for all connection types. In the future, + this option will be changed to default to `false` for SSH and WinRM + connections where the provisioner has access to a host IP. diff --git a/website/pages/partials/provisioner/ansible/Config-required.mdx b/website/pages/partials/provisioner/ansible/Config-required.mdx index b868545c2..b9d422c51 100644 --- a/website/pages/partials/provisioner/ansible/Config-required.mdx +++ b/website/pages/partials/provisioner/ansible/Config-required.mdx @@ -1,4 +1,3 @@ -- `playbook_file` (string) - The playbook to be run by Ansible. - \ No newline at end of file +- `playbook_file` (string) - The playbook to be run by Ansible. diff --git a/website/pages/partials/provisioners/unmaintained-plugin.mdx b/website/pages/partials/provisioners/unmaintained-plugin.mdx index eff38ab92..6f92a3339 100644 --- a/website/pages/partials/provisioners/unmaintained-plugin.mdx +++ b/website/pages/partials/provisioners/unmaintained-plugin.mdx @@ -1,2 +1 @@ - ~> **This community-supported provisioner is unmaintained**, read more details in the [README](https://github.com/hashicorp/packer/blob/master/README.md#unmaintained-plugins) diff --git a/website/pages/style.css b/website/pages/style.css index cb866824e..43eba179f 100644 --- a/website/pages/style.css +++ b/website/pages/style.css @@ -98,15 +98,15 @@ padding-top: 96px; padding-bottom: 96px; -& > .g-section-header + *, -& > .g-container > .g-section-header + * { - margin-top: 72px; -} + & > .g-section-header + *, + & > .g-container > .g-section-header + * { + margin-top: 72px; + } -& > * + *, -& > .g-container > * + * { - margin-top: 96px; -} + & > * + *, + & > .g-container > * + * { + margin-top: 96px; + } } .g-section-block .button-container {