terraform: revamp the providers list (#29097)

This fixes the ./update-all script to actually fetch all the available
providers (thanks pagination). It was also improver to user a more
compact representation of the data.
This commit is contained in:
zimbatm 2017-09-08 19:36:43 +01:00 committed by GitHub
parent 913c245d91
commit 9f2ff1d31a
4 changed files with 417 additions and 253 deletions

View File

@ -1,333 +1,486 @@
# Generated with ./update-all
{ {
alicloud =
{
owner = "terraform-providers";
repo = "terraform-provider-alicloud";
version = "0.1.0";
sha256 = "199zrpmi1hqy80nrvdhh5pn7vlcvpjcsf0hpwgzb1r9vnydpz7cj";
};
archive =
{
owner = "terraform-providers";
repo = "terraform-provider-archive";
version = "0.1.0";
sha256 = "1g7bjak1vgxpnmp4b9cb3mq8gqp1a7738fj0sxzflfk8k35p27ri";
};
arukas =
{
owner = "terraform-providers";
repo = "terraform-provider-arukas";
version = "0.1.0";
sha256 = "1msfr0rlzjfds02h35p99d1f541a1fzndjcpgijb41yx74h2v5dl";
};
atlas =
{
owner = "terraform-providers";
repo = "terraform-provider-atlas";
version = "0.1.1";
sha256 = "0k73vv14vnjl5qm33w54s5zzi0mmk1kn2zs3qkfq71aqi9ml7d14";
};
aws = aws =
{ {
pname = "terraform-provider-aws";
version = "0.1.4";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-aws"; repo = "terraform-provider-aws";
rev = "v0.1.4"; version = "0.1.4";
sha256 = "0hqyvp1bgyfqq2lkjq5m5qxybagnxl9zrqiqfnlrfigdp0y31iz8"; sha256 = "0hqyvp1bgyfqq2lkjq5m5qxybagnxl9zrqiqfnlrfigdp0y31iz8";
}; };
azure =
{
owner = "terraform-providers";
repo = "terraform-provider-azure";
version = "0.1.1";
sha256 = "11myqq3wnxvpysjycvwg7b14ll8d9vkn06xb3r26kmc42fkl5xv1";
}; };
azurerm = azurerm =
{ {
pname = "terraform-provider-azurerm";
version = "0.1.6";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-azurerm"; repo = "terraform-provider-azurerm";
rev = "v0.1.6"; version = "0.1.6";
sha256 = "01hjr42gpkpwpz0chnkw8pf0yid0hqpdnfz65q5h2p8h627hg0c6"; sha256 = "01hjr42gpkpwpz0chnkw8pf0yid0hqpdnfz65q5h2p8h627hg0c6";
}; };
};
bitbucket = bitbucket =
{ {
pname = "terraform-provider-bitbucket";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-bitbucket"; repo = "terraform-provider-bitbucket";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "0c5aiq0p425h7c600wg5h3601l40airwz6cs724lc72fycbb4s43"; sha256 = "0c5aiq0p425h7c600wg5h3601l40airwz6cs724lc72fycbb4s43";
}; };
};
chef = chef =
{ {
pname = "terraform-provider-chef";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-chef"; repo = "terraform-provider-chef";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "17fppyhxi0rd5v8khw2psdn2hdv5j79hxhinwkzrq5s4iccqk5dw"; sha256 = "17fppyhxi0rd5v8khw2psdn2hdv5j79hxhinwkzrq5s4iccqk5dw";
}; };
};
circonus = circonus =
{ {
pname = "terraform-provider-circonus";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-circonus"; repo = "terraform-provider-circonus";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "0v05g91yg2zh4wczp8mi3hmvwb35z0y9044bwy67nm1l624xlj64"; sha256 = "0v05g91yg2zh4wczp8mi3hmvwb35z0y9044bwy67nm1l624xlj64";
}; };
clc =
{
owner = "terraform-providers";
repo = "terraform-provider-clc";
version = "0.1.0";
sha256 = "0gvsjnwk6xkgxai1gxsjf0hsjxbv8d8jg5hq8yd3hjhc6785fgnf";
};
cloudflare =
{
owner = "terraform-providers";
repo = "terraform-provider-cloudflare";
version = "0.1.0";
sha256 = "073j0kqkccj7yrqz6j4vx722vmy6mmvmgidamkjnhhjcwm6g1jbq";
}; };
cloudstack = cloudstack =
{ {
pname = "terraform-provider-cloudstack";
version = "0.1.1";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-cloudstack"; repo = "terraform-provider-cloudstack";
rev = "v0.1.1"; version = "0.1.1";
sha256 = "09iqxpc5a6938qj1js2y9s4dcgk7hw69xga56ixpbbknms2yrhnb"; sha256 = "09iqxpc5a6938qj1js2y9s4dcgk7hw69xga56ixpbbknms2yrhnb";
}; };
};
cobbler = cobbler =
{ {
pname = "terraform-provider-cobbler";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-cobbler"; repo = "terraform-provider-cobbler";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1867aqlz1v7scybaia9yakaxw76lh6y2whhajv5pqy1ng58rcgiz"; sha256 = "1867aqlz1v7scybaia9yakaxw76lh6y2whhajv5pqy1ng58rcgiz";
}; };
};
consul = consul =
{ {
pname = "terraform-provider-consul";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-consul"; repo = "terraform-provider-consul";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1d179m42iv2dy6wjzldllffwg6qxbg6gnvxrp6nzy75v7qp2aq94"; sha256 = "1d179m42iv2dy6wjzldllffwg6qxbg6gnvxrp6nzy75v7qp2aq94";
}; };
};
datadog = datadog =
{ {
pname = "terraform-provider-datadog";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-datadog"; repo = "terraform-provider-datadog";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1k3p0zxffhabs1xb6aw9189vbmh3ax10q4xi1qgjfjvla22byqmk"; sha256 = "1k3p0zxffhabs1xb6aw9189vbmh3ax10q4xi1qgjfjvla22byqmk";
}; };
digitalocean =
{
owner = "terraform-providers";
repo = "terraform-provider-digitalocean";
version = "0.1.2";
sha256 = "0wn2bx9zk0fqvrn7a76rffin7f1b70p66h5bs9073szhr3zph7hg";
}; };
dme = dme =
{ {
pname = "terraform-provider-dme";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-dme"; repo = "terraform-provider-dme";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv"; sha256 = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv";
}; };
dns =
{
owner = "terraform-providers";
repo = "terraform-provider-dns";
version = "0.1.1";
sha256 = "0ccp02rbvfvrb808mg053q5y7ghvxsl7p1gzw7pkm934i6j90g9n";
}; };
dnsimple = dnsimple =
{ {
pname = "terraform-provider-dnsimple";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-dnsimple"; repo = "terraform-provider-dnsimple";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "0gkd5i69ldm5zn34p3k68aqk798g6g0d60gw7yp316l7mskvrx7h"; sha256 = "0gkd5i69ldm5zn34p3k68aqk798g6g0d60gw7yp316l7mskvrx7h";
}; };
docker =
{
owner = "terraform-providers";
repo = "terraform-provider-docker";
version = "0.1.0";
sha256 = "1nacxkyy12w4rj1bdf5ayqmmm47nwh362pcksr227rkwmsjlmg1m";
}; };
dyn = dyn =
{ {
pname = "terraform-provider-dyn";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-dyn"; repo = "terraform-provider-dyn";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1w727r2gz5hjmbzw9zir0n5nrr818adh4qj50n3vijqwbxciyq2p"; sha256 = "1w727r2gz5hjmbzw9zir0n5nrr818adh4qj50n3vijqwbxciyq2p";
}; };
external =
{
owner = "terraform-providers";
repo = "terraform-provider-external";
version = "0.1.0";
sha256 = "160f0avv6wbh11z54wy0qcq0zrcj4s31kn7a9x6zikv7v4hfnbza";
};
fastly =
{
owner = "terraform-providers";
repo = "terraform-provider-fastly";
version = "0.1.2";
sha256 = "1z7nsgqqzvily9rxr79yjv6jfx56896c9lxb8flmzwjz6b6mvnz7";
};
github =
{
owner = "terraform-providers";
repo = "terraform-provider-github";
version = "0.1.1";
sha256 = "0f6nk9nb8h8247rz7x1w11amp0qdcmy1alr8jgd2chrjv9f8nif0";
};
gitlab =
{
owner = "terraform-providers";
repo = "terraform-provider-gitlab";
version = "0.1.0";
sha256 = "1xjhpaq2agdshrl5jbq9ak2nxdy86iay5bw16zww2qc5ah21sdg2";
}; };
google = google =
{ {
pname = "terraform-provider-google";
version = "0.1.3";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-google"; repo = "terraform-provider-google";
rev = "v0.1.3"; version = "0.1.3";
sha256 = "1aa1hz0yc4g746m6dl04hc70rcrzx0py8kpdch3kim475bspclnf"; sha256 = "1aa1hz0yc4g746m6dl04hc70rcrzx0py8kpdch3kim475bspclnf";
}; };
grafana =
{
owner = "terraform-providers";
repo = "terraform-provider-grafana";
version = "0.1.0";
sha256 = "1m2anc5cyn2p3yh4zn0y6wvzb0s2fz3sfdqm9psvx53266c2c81q";
};
heroku =
{
owner = "terraform-providers";
repo = "terraform-provider-heroku";
version = "0.1.0";
sha256 = "1f72lm95bnkhaf2accypdn7xsxcgkqri5fq5mriya4n34c61z3l6";
}; };
http = http =
{ {
pname = "terraform-provider-http";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-http"; repo = "terraform-provider-http";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1iy5fsl1j4wswbajnw0k6lagc2sz52idnswj1vmfc66x87ls0mah"; sha256 = "1iy5fsl1j4wswbajnw0k6lagc2sz52idnswj1vmfc66x87ls0mah";
}; };
icinga2 =
{
owner = "terraform-providers";
repo = "terraform-provider-icinga2";
version = "0.1.1";
sha256 = "0z7lxrspm33j7bkkm2n7ac0jgyaz3y3lql3gd30p10nvpilrg07v";
}; };
ignition = ignition =
{ {
pname = "terraform-provider-ignition";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-ignition"; repo = "terraform-provider-ignition";
rev = "v0.1.0"; version = "0.2.0";
sha256 = "03jvngd3fjyqmdzg2847p0k2fjyqykgmdng5vss4rcsn0n3b9d39"; sha256 = "07qsyjzbz34nh7qrmw97sg0zrqbchky9r3ywrdz96pmpr1yjmwr7";
};
}; };
influxdb = influxdb =
{ {
pname = "terraform-provider-influxdb";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-influxdb"; repo = "terraform-provider-influxdb";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "0msc6maxsiwmsg8ppdfj1397c66llhaf15nc4hmr2h6dxqkb5wl5"; sha256 = "0msc6maxsiwmsg8ppdfj1397c66llhaf15nc4hmr2h6dxqkb5wl5";
}; };
kubernetes =
{
owner = "terraform-providers";
repo = "terraform-provider-kubernetes";
version = "1.0.0";
sha256 = "1kh7a83f98v6b4v3zj84ddhrg2hya4nmvrw0mjc26q12g4z2d5g6";
};
librato =
{
owner = "terraform-providers";
repo = "terraform-provider-librato";
version = "0.1.0";
sha256 = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923";
};
local =
{
owner = "terraform-providers";
repo = "terraform-provider-local";
version = "0.1.0";
sha256 = "02m0wg0jasnzrayamjsc2hzi0ibj83v4d0hmw2xbrxk7vmk71lgq";
}; };
logentries = logentries =
{ {
pname = "terraform-provider-logentries";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-logentries"; repo = "terraform-provider-logentries";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa"; sha256 = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa";
}; };
};
mailgun = mailgun =
{ {
pname = "terraform-provider-mailgun";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-mailgun"; repo = "terraform-provider-mailgun";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1hjhjfxqbr43wa248c6hc91lx5b2gdw4vl92l2i6aqp17rbc0wfj"; sha256 = "1hjhjfxqbr43wa248c6hc91lx5b2gdw4vl92l2i6aqp17rbc0wfj";
}; };
mysql =
{
owner = "terraform-providers";
repo = "terraform-provider-mysql";
version = "0.1.0";
sha256 = "0vjr97xf15va9qypjb9318h1nxr0sd6ydcy7ijnqb8538v3581mv";
};
newrelic =
{
owner = "terraform-providers";
repo = "terraform-provider-newrelic";
version = "0.1.1";
sha256 = "1fqgxcspkgm3ncsqbvw79h5n09agba7q80nz0mrq09x0pyk8y051";
}; };
nomad = nomad =
{ {
pname = "terraform-provider-nomad";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-nomad"; repo = "terraform-provider-nomad";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "03sb31l59hxpp6zmnizxdm21jipz4mrzz9czk6ahhx7c8q0n0na8"; sha256 = "03sb31l59hxpp6zmnizxdm21jipz4mrzz9czk6ahhx7c8q0n0na8";
}; };
ns1 =
{
owner = "terraform-providers";
repo = "terraform-provider-ns1";
version = "0.1.0";
sha256 = "1in9ggrvxfb3maxhgiv997hndkpnqpgx1c1365lfizhp7km5ncvj";
};
null =
{
owner = "terraform-providers";
repo = "terraform-provider-null";
version = "0.1.0";
sha256 = "069yhsqi4jc14cay1gk7mwwmrg8xv90kj1k5qy3a2ypfbss4fcjp";
}; };
oneandone = oneandone =
{ {
pname = "terraform-provider-oneandone";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-oneandone"; repo = "terraform-provider-oneandone";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "18bbpcprjib4d4skjdr76xjxi9091h5b3dls68y6bxkk6sh6av1i"; sha256 = "18bbpcprjib4d4skjdr76xjxi9091h5b3dls68y6bxkk6sh6av1i";
}; };
opc =
{
owner = "terraform-providers";
repo = "terraform-provider-opc";
version = "0.1.2";
sha256 = "0c4ywav89lln9417zwflrp3qhcs7qf96rgcvm1msmpgglrhzwp2i";
};
openstack =
{
owner = "terraform-providers";
repo = "terraform-provider-openstack";
version = "0.2.1";
sha256 = "1zsswsgv7lzhfd0v8llbm18gsfg6xji0r3f9rnvpjqkffj4088ca";
}; };
opsgenie = opsgenie =
{ {
pname = "terraform-provider-opsgenie";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-opsgenie"; repo = "terraform-provider-opsgenie";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm"; sha256 = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm";
}; };
};
ovh = ovh =
{ {
pname = "terraform-provider-ovh";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-ovh"; repo = "terraform-provider-ovh";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "052bnfw146h9nh3cw77clwwxbmw1gvaich2yw39v4b1ca8brm5dr"; sha256 = "052bnfw146h9nh3cw77clwwxbmw1gvaich2yw39v4b1ca8brm5dr";
}; };
packet =
{
owner = "terraform-providers";
repo = "terraform-provider-packet";
version = "0.1.0";
sha256 = "0dk10d4b10pdlhqgm6fqg0cn0ff78ss1x76inj6gfwrnbn2amhp0";
}; };
pagerduty = pagerduty =
{ {
pname = "terraform-provider-pagerduty";
version = "0.1.2";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-pagerduty"; repo = "terraform-provider-pagerduty";
rev = "v0.1.2"; version = "0.1.2";
sha256 = "1dqzi53bnk4qcjhlimr13352nzb1nsij7354zapz2sgnz21v89mm"; sha256 = "1dqzi53bnk4qcjhlimr13352nzb1nsij7354zapz2sgnz21v89mm";
}; };
};
postgresql = postgresql =
{ {
pname = "terraform-provider-postgresql";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-postgresql"; repo = "terraform-provider-postgresql";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "0gg48b2zn18ynvhnabvyfvw5wif0m1a852798wahv8fbv5d1vh7j"; sha256 = "0gg48b2zn18ynvhnabvyfvw5wif0m1a852798wahv8fbv5d1vh7j";
}; };
powerdns =
{
owner = "terraform-providers";
repo = "terraform-provider-powerdns";
version = "0.1.0";
sha256 = "1k9xjx2smk6478dsrcnqk1k6r2pddpa9n8aghq5d1a5yhfsq5zzz";
}; };
profitbricks = profitbricks =
{ {
pname = "terraform-provider-profitbricks";
version = "0.1.2";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-profitbricks"; repo = "terraform-provider-profitbricks";
rev = "v0.1.2"; version = "0.1.2";
sha256 = "105l0rijqmp7kmd7wygnhnj02q7y1rz0r8pj2mjzncb5pr48m3qp"; sha256 = "105l0rijqmp7kmd7wygnhnj02q7y1rz0r8pj2mjzncb5pr48m3qp";
}; };
rabbitmq =
{
owner = "terraform-providers";
repo = "terraform-provider-rabbitmq";
version = "0.1.0";
sha256 = "0vn8456f2al1f6rs1gn157c86qz1fxz8sqphbr9lvdhy1jw1q2vp";
};
rancher =
{
owner = "terraform-providers";
repo = "terraform-provider-rancher";
version = "0.2.0";
sha256 = "05aci6cjrs7rv6hqhvcqy1i0nr8azds8flnrc7vba0nyy6v192qg";
};
random =
{
owner = "terraform-providers";
repo = "terraform-provider-random";
version = "0.1.0";
sha256 = "1lbv5yiw4qfsqm3gxf37gwadgp7g6ki0n70mj00d8l6v6jd0mdl5";
};
rundeck =
{
owner = "terraform-providers";
repo = "terraform-provider-rundeck";
version = "0.1.0";
sha256 = "0rp8cgnp8in52g7zkl2lj42hns0g27m8f7l42lhfnv6n2vv5qxcg";
}; };
scaleway = scaleway =
{ {
pname = "terraform-provider-scaleway";
version = "0.1.1";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-scaleway"; repo = "terraform-provider-scaleway";
rev = "v0.1.1"; version = "0.1.1";
sha256 = "145wfcr5zjjk8vgx5xjf1hqh6h8jqxkhxbvv9x1w34i5bv809ch6"; sha256 = "145wfcr5zjjk8vgx5xjf1hqh6h8jqxkhxbvv9x1w34i5bv809ch6";
}; };
softlayer =
{
owner = "terraform-providers";
repo = "terraform-provider-softlayer";
version = "0.0.1";
sha256 = "1xcg5zm2n1pc3l7ng94k589r7ykv6fxsmr5qn9xmmpdf912rdnfq";
};
spotinst =
{
owner = "terraform-providers";
repo = "terraform-provider-spotinst";
version = "0.1.0";
sha256 = "04sxdbx6qjxixrv9shnp8fxkss6pylqmphlm1l4q5c83dwk96pka";
};
statuscake =
{
owner = "terraform-providers";
repo = "terraform-provider-statuscake";
version = "0.1.0";
sha256 = "084520cak2krwpks2ipqcjfw3k4rrzn6gqqncz8c4i6g01f1m7yg";
};
template =
{
owner = "terraform-providers";
repo = "terraform-provider-template";
version = "0.1.1";
sha256 = "1qrslnkvcj18jzxmsbf72gm54s8dnw5k5z15nffwgy09vv7mzpcn";
};
terraform =
{
owner = "terraform-providers";
repo = "terraform-provider-terraform";
version = "0.1.0";
sha256 = "1w465853gwffpydb7idvg7bk8ygadgy08s04fxsqc8i2683jbpiz";
}; };
tls = tls =
{ {
pname = "terraform-provider-tls";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-tls"; repo = "terraform-provider-tls";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "1n1k4dcqm8lp7mgj88xj8xc09mn769np4wg3cggnpcs6igbgdgg7"; sha256 = "1n1k4dcqm8lp7mgj88xj8xc09mn769np4wg3cggnpcs6igbgdgg7";
}; };
};
triton = triton =
{ {
pname = "terraform-provider-triton";
version = "0.1.2";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-triton"; repo = "terraform-provider-triton";
rev = "v0.1.2"; version = "0.1.2";
sha256 = "1jyrmc7932w7d8q96lmd0axf32psfic5d7hmwm1a25vzjzfn9nlw"; sha256 = "1jyrmc7932w7d8q96lmd0axf32psfic5d7hmwm1a25vzjzfn9nlw";
}; };
};
ultradns = ultradns =
{ {
pname = "terraform-provider-ultradns";
version = "0.1.0";
src = {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-ultradns"; repo = "terraform-provider-ultradns";
rev = "v0.1.0"; version = "0.1.0";
sha256 = "0bq2y6bxdax7qnmq6vxh8pz9sqy1r3m05dv7q5dbv2xvba1b88hj"; sha256 = "0bq2y6bxdax7qnmq6vxh8pz9sqy1r3m05dv7q5dbv2xvba1b88hj";
}; };
vault =
{
owner = "terraform-providers";
repo = "terraform-provider-vault";
version = "0.1.0";
sha256 = "1rr4gaqfr6panjjdb5xx9vbq7701zjps0l75zi526kij1pph98p1";
};
vcd =
{
owner = "terraform-providers";
repo = "terraform-provider-vcd";
version = "1.0.0";
sha256 = "0sjqdb37lalvizf4imxwn7nmry1c76dw2fpnrfmal34gghddm91p";
};
vsphere =
{
owner = "terraform-providers";
repo = "terraform-provider-vsphere";
version = "0.2.2";
sha256 = "0d5d4wip57zmv9kqh4zr9mz8ylffa2qcf1vmx827rwyqdr25xvaz";
}; };
# Broken with go/src/github.com/terraform-providers/terraform-provider-vsphere/vendor/github.com/hashicorp/terraform/config/testing.go:9: t.Helper undefined (type *testing.T has no field or method Helper)
# vsphere =
# {
# pname = "terraform-provider-vsphere";
# version = "0.2.1";
# src = {
# owner = "terraform-providers";
# repo = "terraform-provider-vsphere";
# rev = "v0.2.1";
# sha256 = "04vz34w28nx7j6wlikgjabrb2l5fxj9icfm8d34w2fffz63nk77l";
# };
# };
} }

View File

@ -1,12 +1,21 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub }: { stdenv, lib, buildGoPackage, fetchFromGitHub }:
let let
list = import ./data.nix; list = import ./data.nix;
toDrv = _: data:
toDrv = data:
buildGoPackage rec { buildGoPackage rec {
inherit (data) pname version; inherit (data) owner repo version sha256;
name = "${pname}-${version}"; name = "${repo}-${version}";
goPackagePath = "github.com/${data.src.owner}/${data.src.repo}"; goPackagePath = "github.com/${owner}/${repo}";
src = fetchFromGitHub data.src; src = fetchFromGitHub {
inherit owner repo sha256;
rev = "v${version}";
}; };
};
maybeDrv = name: data:
# vsphere is currently broken
if name == "vsphere" then null
else toDrv data;
in in
lib.mapAttrs toDrv list lib.mapAttrs maybeDrv list

View File

@ -1,16 +0,0 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
pname = "terraform-provider-template";
name = "${pname}-${version}";
version = "0.1.1";
goPackagePath = "github.com/terraform-providers/terraform-provider-template";
src = fetchFromGitHub {
owner = "terraform-providers";
repo = pname;
rev = "v${version}";
sha256 = "1qrslnkvcj18jzxmsbf72gm54s8dnw5k5z15nffwgy09vv7mzpcn";
};
}

View File

@ -10,18 +10,19 @@ set -euo pipefail
GET() { GET() {
local url=$1 local url=$1
echo "fetching $url" >&2 echo "fetching $url" >&2
curl -#fL "$url" curl -#fL -u "$GITHUB_AUTH" "$url"
} }
get_org_repos() { get_org_repos() {
local org=$1 local org=$1
GET "https://api.github.com/orgs/$org/repos" | jq -r '.[].name' local page=1
GET "https://api.github.com/orgs/$org/repos?per_page=100" | jq -r '.[].name'
} }
get_repo_tags() { get_repo_tags() {
local owner=$1 local owner=$1
local repo=$2 local repo=$2
GET "https://api.github.com/repos/$owner/$repo/git/refs/tags" | \ GET "https://api.github.com/repos/$owner/$repo/git/refs/tags?per_page=100" | \
jq -r '.[].ref' | \ jq -r '.[].ref' | \
cut -d '/' -f 3- | \ cut -d '/' -f 3- | \
sort --version-sort sort --version-sort
@ -37,25 +38,37 @@ prefetch_github() {
echo_entry() { echo_entry() {
local owner=$1 local owner=$1
local repo=$2 local repo=$2
local rev=$3
local sha256=$4
local version=${3:1} local version=${3:1}
local sha256=$4
cat <<EOF cat <<EOF
{ {
pname = "$repo";
version = "$version";
src = {
owner = "$owner"; owner = "$owner";
repo = "$repo"; repo = "$repo";
rev = "$rev"; version = "$version";
sha256 = "$sha256"; sha256 = "$sha256";
}; };
};
EOF EOF
} }
indent() { sed 's/^/ /'; } indent() { sed 's/^/ /'; }
## Main ##
cd "$(dirname "$0")"
if [[ -z "${GITHUB_AUTH:-}" ]]; then
cat <<'HELP'
Missing the GITHUB_AUTH env. Thi is required to work around the 60 request
per hour rate-limit.
Go to https://github.com/settings/tokens and create a new token with the
"public_repo" scope.
Then `export GITHUB_AUTH=<your user>:<your token>` and run this script again.
HELP
exit 1
fi
org=terraform-providers org=terraform-providers
repos=$(get_org_repos "$org" | grep terraform-provider- | sort) repos=$(get_org_repos "$org" | grep terraform-provider- | sort)
@ -63,9 +76,11 @@ repos=$(get_org_repos "$org" | grep terraform-provider- | sort)
# Get all the providers with index # Get all the providers with index
echo -n > data.nix cat <<HEADER > data.nix
# Generated with ./update-all
{
HEADER
echo "{" >> data.nix
for repo in $repos; do for repo in $repos; do
echo "*** $repo ***" echo "*** $repo ***"
name=$(echo "$repo" | cut -d - -f 3-) name=$(echo "$repo" | cut -d - -f 3-)
@ -77,6 +92,9 @@ for repo in $repos; do
echo_entry "$org" "$repo" "$last_tag" "$last_tag_sha256" | indent echo_entry "$org" "$repo" "$last_tag" "$last_tag_sha256" | indent
} >> data.nix } >> data.nix
done done
echo "}" >> data.nix
cat <<FOOTER >> data.nix
}
FOOTER
echo Done. echo Done.