@cdktf/provider-acme 3.0.11 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/.gitattributes CHANGED
@@ -3,7 +3,6 @@
3
3
  /.gitattributes linguist-generated
4
4
  /.github/ISSUE_TEMPLATE/config.yml linguist-generated
5
5
  /.github/pull_request_template.md linguist-generated
6
- /.github/workflows/automerge.yml linguist-generated
7
6
  /.github/workflows/build.yml linguist-generated
8
7
  /.github/workflows/next-cdktf-version-pr.yml linguist-generated
9
8
  /.github/workflows/provider-upgrade.yml linguist-generated
@@ -11,6 +10,7 @@
11
10
  /.github/workflows/release.yml linguist-generated
12
11
  /.github/workflows/upgrade-main.yml linguist-generated
13
12
  /.gitignore linguist-generated
13
+ /.mergify.yml linguist-generated
14
14
  /.npmignore linguist-generated
15
15
  /.projen/** linguist-generated
16
16
  /.projen/deps.json linguist-generated
@@ -21,5 +21,7 @@
21
21
  /LICENSE linguist-generated
22
22
  /package.json linguist-generated
23
23
  /README.md linguist-generated
24
+ /scripts/check-for-upgrades.js linguist-generated
25
+ /scripts/should-release.js linguist-generated
24
26
  /tsconfig.dev.json linguist-generated
25
27
  /yarn.lock linguist-generated
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://hashicorp.com"
9
9
  },
10
10
  "dependencies": {
11
- "cdktf": "^0.13.0",
11
+ "cdktf": "^0.14.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -72,7 +72,7 @@
72
72
  "stability": "stable"
73
73
  },
74
74
  "homepage": "https://github.com/cdktf/cdktf-provider-acme.git",
75
- "jsiiVersion": "1.69.0 (build f656c31)",
75
+ "jsiiVersion": "1.71.0 (build f1f58ae)",
76
76
  "keywords": [
77
77
  "acme",
78
78
  "cdk",
@@ -3363,6 +3363,6 @@
3363
3363
  "symbolId": "src/registration/index:RegistrationExternalAccountBindingOutputReference"
3364
3364
  }
3365
3365
  },
3366
- "version": "3.0.11",
3367
- "fingerprint": "YZ6CfQGE+A08SWgLemEENZ/HG/rmq/MX01vxmdseAaM="
3366
+ "version": "4.0.0",
3367
+ "fingerprint": "B4GV2ZUiQlyg3PT5przLU6Bk4jr7jfTgs7AmR/S8cqg="
3368
3368
  }
@@ -88,7 +88,7 @@ class CertificateDnsChallengeOutputReference extends cdktf.ComplexObject {
88
88
  }
89
89
  exports.CertificateDnsChallengeOutputReference = CertificateDnsChallengeOutputReference;
90
90
  _a = JSII_RTTI_SYMBOL_1;
91
- CertificateDnsChallengeOutputReference[_a] = { fqn: "@cdktf/provider-acme.certificate.CertificateDnsChallengeOutputReference", version: "3.0.11" };
91
+ CertificateDnsChallengeOutputReference[_a] = { fqn: "@cdktf/provider-acme.certificate.CertificateDnsChallengeOutputReference", version: "4.0.0" };
92
92
  class CertificateDnsChallengeList extends cdktf.ComplexList {
93
93
  /**
94
94
  * @param terraformResource The parent resource
@@ -110,7 +110,7 @@ class CertificateDnsChallengeList extends cdktf.ComplexList {
110
110
  }
111
111
  exports.CertificateDnsChallengeList = CertificateDnsChallengeList;
112
112
  _b = JSII_RTTI_SYMBOL_1;
113
- CertificateDnsChallengeList[_b] = { fqn: "@cdktf/provider-acme.certificate.CertificateDnsChallengeList", version: "3.0.11" };
113
+ CertificateDnsChallengeList[_b] = { fqn: "@cdktf/provider-acme.certificate.CertificateDnsChallengeList", version: "4.0.0" };
114
114
  function certificateHttpChallengeToTerraform(struct) {
115
115
  if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
116
116
  return struct;
@@ -187,7 +187,7 @@ class CertificateHttpChallengeOutputReference extends cdktf.ComplexObject {
187
187
  }
188
188
  exports.CertificateHttpChallengeOutputReference = CertificateHttpChallengeOutputReference;
189
189
  _c = JSII_RTTI_SYMBOL_1;
190
- CertificateHttpChallengeOutputReference[_c] = { fqn: "@cdktf/provider-acme.certificate.CertificateHttpChallengeOutputReference", version: "3.0.11" };
190
+ CertificateHttpChallengeOutputReference[_c] = { fqn: "@cdktf/provider-acme.certificate.CertificateHttpChallengeOutputReference", version: "4.0.0" };
191
191
  function certificateHttpMemcachedChallengeToTerraform(struct) {
192
192
  if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
193
193
  return struct;
@@ -241,7 +241,7 @@ class CertificateHttpMemcachedChallengeOutputReference extends cdktf.ComplexObje
241
241
  }
242
242
  exports.CertificateHttpMemcachedChallengeOutputReference = CertificateHttpMemcachedChallengeOutputReference;
243
243
  _d = JSII_RTTI_SYMBOL_1;
244
- CertificateHttpMemcachedChallengeOutputReference[_d] = { fqn: "@cdktf/provider-acme.certificate.CertificateHttpMemcachedChallengeOutputReference", version: "3.0.11" };
244
+ CertificateHttpMemcachedChallengeOutputReference[_d] = { fqn: "@cdktf/provider-acme.certificate.CertificateHttpMemcachedChallengeOutputReference", version: "4.0.0" };
245
245
  function certificateHttpWebrootChallengeToTerraform(struct) {
246
246
  if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
247
247
  return struct;
@@ -295,7 +295,7 @@ class CertificateHttpWebrootChallengeOutputReference extends cdktf.ComplexObject
295
295
  }
296
296
  exports.CertificateHttpWebrootChallengeOutputReference = CertificateHttpWebrootChallengeOutputReference;
297
297
  _e = JSII_RTTI_SYMBOL_1;
298
- CertificateHttpWebrootChallengeOutputReference[_e] = { fqn: "@cdktf/provider-acme.certificate.CertificateHttpWebrootChallengeOutputReference", version: "3.0.11" };
298
+ CertificateHttpWebrootChallengeOutputReference[_e] = { fqn: "@cdktf/provider-acme.certificate.CertificateHttpWebrootChallengeOutputReference", version: "4.0.0" };
299
299
  function certificateTlsChallengeToTerraform(struct) {
300
300
  if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
301
301
  return struct;
@@ -352,7 +352,7 @@ class CertificateTlsChallengeOutputReference extends cdktf.ComplexObject {
352
352
  }
353
353
  exports.CertificateTlsChallengeOutputReference = CertificateTlsChallengeOutputReference;
354
354
  _f = JSII_RTTI_SYMBOL_1;
355
- CertificateTlsChallengeOutputReference[_f] = { fqn: "@cdktf/provider-acme.certificate.CertificateTlsChallengeOutputReference", version: "3.0.11" };
355
+ CertificateTlsChallengeOutputReference[_f] = { fqn: "@cdktf/provider-acme.certificate.CertificateTlsChallengeOutputReference", version: "4.0.0" };
356
356
  /**
357
357
  * Represents a {@link https://www.terraform.io/docs/providers/acme/r/certificate acme_certificate}
358
358
  */
@@ -714,7 +714,7 @@ class Certificate extends cdktf.TerraformResource {
714
714
  }
715
715
  exports.Certificate = Certificate;
716
716
  _g = JSII_RTTI_SYMBOL_1;
717
- Certificate[_g] = { fqn: "@cdktf/provider-acme.certificate.Certificate", version: "3.0.11" };
717
+ Certificate[_g] = { fqn: "@cdktf/provider-acme.certificate.Certificate", version: "4.0.0" };
718
718
  // =================
719
719
  // STATIC PROPERTIES
720
720
  // =================
@@ -66,7 +66,7 @@ class AcmeProvider extends cdktf.TerraformProvider {
66
66
  }
67
67
  exports.AcmeProvider = AcmeProvider;
68
68
  _a = JSII_RTTI_SYMBOL_1;
69
- AcmeProvider[_a] = { fqn: "@cdktf/provider-acme.provider.AcmeProvider", version: "3.0.11" };
69
+ AcmeProvider[_a] = { fqn: "@cdktf/provider-acme.provider.AcmeProvider", version: "4.0.0" };
70
70
  // =================
71
71
  // STATIC PROPERTIES
72
72
  // =================
@@ -74,7 +74,7 @@ class RegistrationExternalAccountBindingOutputReference extends cdktf.ComplexObj
74
74
  }
75
75
  exports.RegistrationExternalAccountBindingOutputReference = RegistrationExternalAccountBindingOutputReference;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- RegistrationExternalAccountBindingOutputReference[_a] = { fqn: "@cdktf/provider-acme.registration.RegistrationExternalAccountBindingOutputReference", version: "3.0.11" };
77
+ RegistrationExternalAccountBindingOutputReference[_a] = { fqn: "@cdktf/provider-acme.registration.RegistrationExternalAccountBindingOutputReference", version: "4.0.0" };
78
78
  /**
79
79
  * Represents a {@link https://www.terraform.io/docs/providers/acme/r/registration acme_registration}
80
80
  */
@@ -176,7 +176,7 @@ class Registration extends cdktf.TerraformResource {
176
176
  }
177
177
  exports.Registration = Registration;
178
178
  _b = JSII_RTTI_SYMBOL_1;
179
- Registration[_b] = { fqn: "@cdktf/provider-acme.registration.Registration", version: "3.0.11" };
179
+ Registration[_b] = { fqn: "@cdktf/provider-acme.registration.Registration", version: "4.0.0" };
180
180
  // =================
181
181
  // STATIC PROPERTIES
182
182
  // =================
package/package.json CHANGED
@@ -8,6 +8,7 @@
8
8
  "scripts": {
9
9
  "build": "npx projen build",
10
10
  "bump": "npx projen bump",
11
+ "check-if-new-provider-version": "npx projen check-if-new-provider-version",
11
12
  "clobber": "npx projen clobber",
12
13
  "compat": "npx projen compat",
13
14
  "compile": "jsii --silence-warnings=reserved-word",
@@ -42,23 +43,25 @@
42
43
  "organization": true
43
44
  },
44
45
  "devDependencies": {
46
+ "@actions/core": "^1.1.0",
45
47
  "@cdktf/provider-project": "^0.2.8",
46
48
  "@types/node": "^14",
47
- "cdktf": "^0.13.0",
48
- "cdktf-cli": "^0.13.0",
49
+ "cdktf": "^0.14.0",
50
+ "cdktf-cli": "^0.14.0",
49
51
  "constructs": "^10.0.0",
50
52
  "dot-prop": "^5.2.0",
51
53
  "jsii": "^1.53.0",
52
- "jsii-diff": "^1.69.0",
54
+ "jsii-diff": "^1.71.0",
53
55
  "jsii-docgen": "^4.2.44",
54
- "jsii-pacmak": "^1.69.0",
55
- "npm-check-updates": "^15",
56
- "projen": "^0.63.13",
56
+ "jsii-pacmak": "^1.71.0",
57
+ "node-fetch": "cjs",
58
+ "npm-check-updates": "^16",
59
+ "projen": "^0.65.24",
57
60
  "standard-version": "^9",
58
- "typescript": "^4.8.4"
61
+ "typescript": "^4.9.3"
59
62
  },
60
63
  "peerDependencies": {
61
- "cdktf": "^0.13.0",
64
+ "cdktf": "^0.14.0",
62
65
  "constructs": "^10.0.0"
63
66
  },
64
67
  "keywords": [
@@ -76,7 +79,7 @@
76
79
  "publishConfig": {
77
80
  "access": "public"
78
81
  },
79
- "version": "3.0.11",
82
+ "version": "4.0.0",
80
83
  "types": "lib/index.d.ts",
81
84
  "stability": "stable",
82
85
  "jsii": {
@@ -107,6 +110,42 @@
107
110
  "rootDir": "src"
108
111
  }
109
112
  },
113
+ "standard-version": {
114
+ "types": [
115
+ {
116
+ "type": "feat",
117
+ "section": "Features"
118
+ },
119
+ {
120
+ "type": "fix",
121
+ "section": "Bug Fixes"
122
+ },
123
+ {
124
+ "type": "chore",
125
+ "section": "Updates"
126
+ },
127
+ {
128
+ "type": "docs",
129
+ "hidden": true
130
+ },
131
+ {
132
+ "type": "style",
133
+ "hidden": true
134
+ },
135
+ {
136
+ "type": "refactor",
137
+ "hidden": true
138
+ },
139
+ {
140
+ "type": "perf",
141
+ "hidden": true
142
+ },
143
+ {
144
+ "type": "test",
145
+ "hidden": true
146
+ }
147
+ ]
148
+ },
110
149
  "cdktf": {
111
150
  "provider": {
112
151
  "name": "registry.terraform.io/vancluever/acme",
@@ -114,8 +153,6 @@
114
153
  }
115
154
  },
116
155
  "resolutions": {
117
- "@types/responselike": "1.0.0",
118
- "got": "12.3.1",
119
156
  "@types/prettier": "2.6.0"
120
157
  },
121
158
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
@@ -0,0 +1,148 @@
1
+
2
+ const fetch = require("node-fetch");
3
+ const semver = require("semver");
4
+ const actions = require("@actions/core");
5
+
6
+ // Code is inlined below, as this import requires us to add all dev dependencies of cdktf-cli as we're not
7
+ // using the bundle. A better alternative would be to refactor this method to move to its own package, that
8
+ // the cdktf-cli and others can use (we have the same "problem" with some other code in cdktf, cdktf-cli and
9
+ // the @cdktf/provider-generator package, too)
10
+ // const { versionMatchesConstraint } = require('cdktf-cli/lib/dependencies/version-constraints');
11
+
12
+ // set by the projen file that generates this script
13
+ const CONSTRAINT = "~> 2.10";
14
+ const FQ_PROVIDER_NAME = "vancluever/acme";
15
+
16
+ (async function main() {
17
+ if (await newerMatchingProviderVersionExists()) {
18
+ console.log(
19
+ `Found newer Terraform provider version matching the current constraint: ${CONSTRAINT}`
20
+ );
21
+ setGithubStepOutput("new_version", "available");
22
+ } else {
23
+ console.log("No changes detected.");
24
+ setGithubStepOutput("new_version", "unavailable");
25
+ }
26
+ })();
27
+
28
+ function setGithubStepOutput(name, value) {
29
+ actions.setOutput(name, value);
30
+ }
31
+
32
+ async function newerMatchingProviderVersionExists() {
33
+ const res = await fetch(
34
+ `https://registry.terraform.io/v2/providers/${FQ_PROVIDER_NAME}/provider-versions`
35
+ );
36
+ const body = await res.json();
37
+
38
+ const currentVersion = await getCurrentProviderVersion();
39
+
40
+ const availableVersions = body.data.map((it) => it.attributes.version);
41
+ const versionsMatching = availableVersions.filter((v) =>
42
+ versionMatchesConstraint(v, CONSTRAINT)
43
+ );
44
+ if (versionsMatching.length <= 0) {
45
+ throw new Error(
46
+ `Unexpected Error: Found no matching versions for constraint ${CONSTRAINT} in [${availableVersions.join(
47
+ ", "
48
+ )}]`
49
+ );
50
+ }
51
+
52
+ const versionsGreaterThanCurrent = versionsMatching.filter((v) =>
53
+ semver.gt(v, currentVersion)
54
+ );
55
+ if (versionsGreaterThanCurrent.length > 0) {
56
+ console.log(
57
+ `One or more matching versions (${CONSTRAINT}) are greater than the current version (${currentVersion}): [${versionsGreaterThanCurrent.join(
58
+ ", "
59
+ )}]`
60
+ );
61
+ return true;
62
+ } else {
63
+ console.log(
64
+ `Found no matching versions (${CONSTRAINT}) greater than the current version (${currentVersion}). Matching versions: [${versionsMatching.join(
65
+ ", "
66
+ )}]`
67
+ );
68
+ }
69
+ return false;
70
+ }
71
+
72
+ // e.g. cdktf 0.12.x -> 0.13.x but not 0.12.y -> 0.12.z
73
+ async function cdktfVersionMajorChanged() {
74
+ throw new Error("todo implement");
75
+ }
76
+
77
+ async function getCurrentProviderVersion() {
78
+ const json = require("../src/version.json");
79
+ return json[`registry.terraform.io/${FQ_PROVIDER_NAME.toLowerCase()}`];
80
+ }
81
+
82
+ // SEE NOTICE AT THE TOP WHY THIS IS INLINED CURRENTLY
83
+ // copied from https://github.com/hashicorp/terraform-cdk/blob/b23fc173715e90c0a5b8c8633d9ec7f71edf9ed4/packages/cdktf-cli/lib/dependencies/version-constraints.ts
84
+ // and converted to JavaScript
85
+
86
+ // constraints can be prefixed with "~>", ">", "<", "=", ">=", "<=" or "!="
87
+ // no prefix means "="
88
+ function parseConstraint(constraint) {
89
+ const cleaned = constraint.trim();
90
+
91
+ const operator = cleaned.match(/(~>|>=|<=|>|<|=|!=)/)?.[0] || "=";
92
+ const version = cleaned.replace(operator, "").trim();
93
+
94
+ return {
95
+ operator,
96
+ version,
97
+ };
98
+ }
99
+
100
+ function versionMatchesConstraint(version, constraint) {
101
+ // https://www.terraform.io/language/expressions/version-constraints
102
+ // version can contain multiple constraints split by ","
103
+
104
+ const constraints = constraint.split(",");
105
+ version = semver.coerce(version)?.version ?? version;
106
+
107
+ // each constraint needs to be satisfied
108
+ return constraints.every((c) => {
109
+ const parsed = parseConstraint(c);
110
+
111
+ const cleanedParsedVersion =
112
+ semver.coerce(parsed.version)?.version ?? parsed.version;
113
+
114
+ switch (parsed.operator) {
115
+ case "=":
116
+ return version === cleanedParsedVersion;
117
+ case "!=":
118
+ return version !== cleanedParsedVersion;
119
+ case "~>": {
120
+ // allows rightmost version component to increment
121
+
122
+ // ~>2.0 which allows 2.1 and 2.1.1 needs special handling as
123
+ // npm semver handles "~" differently for ~2.0 than for ~2 or ~2.1.0
124
+ // So we need to use "^" (e.g. ^2.0) for this case
125
+ // see: https://github.com/npm/node-semver/issues/11
126
+ const allowMinorAndPatchOnly = parsed.version.split(".").length === 2;
127
+
128
+ const range = allowMinorAndPatchOnly
129
+ ? `^${parsed.version}`
130
+ : `~${parsed.version}`;
131
+
132
+ return semver.satisfies(version, range);
133
+ }
134
+ case ">=":
135
+ return semver.gte(version, cleanedParsedVersion);
136
+ case "<=":
137
+ return semver.lte(version, cleanedParsedVersion);
138
+ case ">":
139
+ return semver.gt(version, cleanedParsedVersion);
140
+ case "<":
141
+ return semver.lt(version, cleanedParsedVersion);
142
+ default:
143
+ throw Errors.External(
144
+ `Unknown constraint operator: ${parsed.operator} in version constraint ${constraint}`
145
+ );
146
+ }
147
+ });
148
+ }
@@ -0,0 +1,74 @@
1
+
2
+ // Note: This script is currently not handling pre-releases
3
+ const execSync = require("child_process").execSync;
4
+
5
+ (async function main() {
6
+ console.log(
7
+ "Determining whether changes warrant a new release. Non-zero exit code indicates that a release should be skipped"
8
+ );
9
+
10
+ // inspired by https://github.com/projen/projen/blob/08378c40d1453288053abcddce82475329b4506e/src/release/bump-version.ts#L281
11
+ const prefixFilter = `v*`;
12
+ const listGitTags = [
13
+ "git",
14
+ '-c "versionsort.suffix=-"', // makes sure pre-release versions are listed after the primary version
15
+ "tag",
16
+ '--sort="-version:refname"', // sort as versions and not lexicographically
17
+ "--list",
18
+ `"${prefixFilter}"`,
19
+ ].join(" ");
20
+
21
+ const stdout = execSync(listGitTags).toString();
22
+ const tags = stdout.split("\n");
23
+
24
+ if (tags.length > 0 && tags[0].trim() !== "") {
25
+ const latestTag = tags[0];
26
+ console.log(`Found latest tag ${latestTag}`);
27
+
28
+ const previousPackageJsonGit = [
29
+ "git",
30
+ "show",
31
+ `${latestTag}:package.json`,
32
+ ].join(" ");
33
+ const prevPackageJson = JSON.parse(
34
+ execSync(previousPackageJsonGit).toString()
35
+ );
36
+ const currPackageJson = require("../package.json");
37
+
38
+ const thingsToDiff = [
39
+ {
40
+ name: "Terraform provider version",
41
+ previous: prevPackageJson.cdktf.provider.version,
42
+ current: currPackageJson.cdktf.provider.version,
43
+ },
44
+ {
45
+ name: "cdktf peer dependency",
46
+ previous: prevPackageJson.peerDependencies.cdktf,
47
+ current: currPackageJson.peerDependencies.cdktf,
48
+ },
49
+ ];
50
+
51
+ thingsToDiff.forEach((x) =>
52
+ console.log(
53
+ `${x.name}: ${x.previous} => ${x.current} ${
54
+ x.current !== x.previous ? "<<CHANGED" : ""
55
+ }`
56
+ )
57
+ );
58
+ const changes = thingsToDiff.some((x) => x.previous !== x.current);
59
+ if (changes) {
60
+ console.log(
61
+ "Found one or more relevant changes, not skipping the release."
62
+ );
63
+ } else {
64
+ console.log(
65
+ "No changes in versions detected, skipping the release via exit code 1"
66
+ );
67
+ process.exit(1);
68
+ }
69
+ } else {
70
+ console.log(
71
+ "No git tags found, this seems to be the first release, hence not skipping it."
72
+ );
73
+ }
74
+ })();