{ "title": "Vercel Terraform Provider", "description": "A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.", "date": "2021-03-16T00:00:00.000Z", "url": "https://registry.terraform.io/providers/chronark/vercel/latest", "repository": "chronark/terraform-provider-vercel", "body": { "raw": "\n\n\nBack in the day when Vercel didn't have an official Terraform provider, I wrote one. \nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.\n\n```hcl\nterraform {\n required_providers {\n vercel = {\n source = \"registry.terraform.io/chronark/vercel\"\n version = \">=0.10.3\"\n }\n }\n}\n\nprovider \"vercel\" {\n token = \"\"\n}\n\nresource \"vercel_project\" \"my_project\" {\n name = \"project-via-terraform\"\n git_repository {\n type = \"github\"\n repo = \"chronark/terraform-provider-vercel\"\n }\n}\n```\n\nIt was a fun project and I learned a lot about Terraform and Vercel's API. \nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.\n\nThere have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\n\nNow that Vercel have stepped in, I have decided to [deprecate](https://twitter.com/chronark_/status/1517759708983177218) this one on April 23rd 2022. \n\nPlease use the [official provider](https://registry.terraform.io/providers/vercel/vercel/latest) instead.", "code": "var Component=(()=>{var p=Object.create;var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var F=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),f=(n,e)=>{for(var l in e)a(n,l,{get:e[l],enumerable:!0})},o=(n,e,l,c)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of E(e))!m.call(n,s)&&s!==l&&a(n,s,{get:()=>e[s],enumerable:!(c=h(e,s))||c.enumerable});return n};var v=(n,e,l)=>(l=n!=null?p(y(n)):{},o(e||!n||!n.__esModule?a(l,\"default\",{value:n,enumerable:!0}):l,n)),u=n=>o(a({},\"__esModule\",{value:!0}),n);var i=F((_,t)=>{t.exports=_jsx_runtime});var w={};f(w,{default:()=>g,frontmatter:()=>B});var r=v(i()),B={title:\"Vercel Terraform Provider\",description:\"A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.\",date:\"2021-03-16\",repository:\"chronark/terraform-provider-vercel\",url:\"https://registry.terraform.io/providers/chronark/vercel/latest\"};function d(n){let e=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},n.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.p,{children:`Back in the day when Vercel didn't have an official Terraform provider, I wrote one.\nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.`}),`\n`,(0,r.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsx)(e.pre,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:(0,r.jsxs)(e.code,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:[(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"terraform\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"required_providers\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" vercel\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"{\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" source \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"registry.terraform.io/chronark/vercel\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" version \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\">=0.10.3\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"provider\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"vercel\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" token\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"resource\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"vercel_project\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"my_project\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" name\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"project-via-terraform\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"git_repository\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" type\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"github\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" repo\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"chronark/terraform-provider-vercel\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})})]})})}),`\n`,(0,r.jsx)(e.p,{children:`It was a fun project and I learned a lot about Terraform and Vercel's API.\nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.`}),`\n`,(0,r.jsx)(e.p,{children:\"There have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\"}),`\n`,(0,r.jsxs)(e.p,{children:[\"Now that Vercel have stepped in, I have decided to \",(0,r.jsx)(e.a,{href:\"https://twitter.com/chronark_/status/1517759708983177218\",children:\"deprecate\"}),\" this one on April 23rd 2022.\"]}),`\n`,(0,r.jsxs)(e.p,{children:[\"Please use the \",(0,r.jsx)(e.a,{href:\"https://registry.terraform.io/providers/vercel/vercel/latest\",children:\"official provider\"}),\" instead.\"]})]})}function N(n={}){let{wrapper:e}=n.components||{};return e?(0,r.jsx)(e,Object.assign({},n,{children:(0,r.jsx)(d,n)})):d(n)}var g=N;return u(w);})();\n;return Component;" }, "_id": "projects/terraform-provider-vercel.mdx", "_raw": { "sourceFilePath": "projects/terraform-provider-vercel.mdx", "sourceFileName": "terraform-provider-vercel.mdx", "sourceFileDir": "projects", "contentType": "mdx", "flattenedPath": "projects/terraform-provider-vercel" }, "type": "Project", "path": "/projects/terraform-provider-vercel", "slug": "terraform-provider-vercel" }