@ingram-cloud/pulumi 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/resources.js +12 -1
  2. package/package.json +1 -1
package/dist/resources.js CHANGED
@@ -889,7 +889,13 @@ const telegramProvider = makePutResource({
889
889
  botId: res.bot_id,
890
890
  webhookUrl: res.webhook_url,
891
891
  }),
892
- diff: { scalarKeys: ["botToken", "token", "baseUrl"] },
892
+ // The token is write-only, so refresh can only see whether a bot is set at
893
+ // all. An unconfigured tenant reads back as a missing botToken, which diffs
894
+ // and makes the next `up` PUT it again instead of reporting a clean state.
895
+ readProps: (_i, res) => (res.configured ? {} : { botToken: undefined }),
896
+ // A fixed-path singleton: create-before-delete would PUT the new config and
897
+ // then DELETE the same path, leaving the tenant with no bot.
898
+ diff: { scalarKeys: ["botToken", "token", "baseUrl"], deleteBeforeReplace: true },
893
899
  });
894
900
  class IcTelegramBot extends pulumi.dynamic.Resource {
895
901
  constructor(name, args, opts) {
@@ -991,6 +997,9 @@ const emailProvider = makePutResource({
991
997
  inboundUrl: res.inbound_url,
992
998
  configured: res.configured,
993
999
  }),
1000
+ // Same refresh rule as Telegram: the API token is write-only, so an
1001
+ // unconfigured tenant reads back as a missing token and the next `up` re-PUTs.
1002
+ readProps: (_i, res) => (res.configured ? {} : { cloudflareApiToken: undefined }),
994
1003
  // inboundSecret excluded — IC may generate it, so it's an output, not drift.
995
1004
  diff: {
996
1005
  scalarKeys: [
@@ -1001,6 +1010,8 @@ const emailProvider = makePutResource({
1001
1010
  "token",
1002
1011
  "baseUrl",
1003
1012
  ],
1013
+ // Fixed-path singleton, see the Telegram provider.
1014
+ deleteBeforeReplace: true,
1004
1015
  },
1005
1016
  });
1006
1017
  class IcEmail extends pulumi.dynamic.Resource {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ingram-cloud/pulumi",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Pulumi dynamic resources for the Ingram Cloud /v1 API — projects, project tokens, agents, MCP servers, channels, webhooks, model keys.",
5
5
  "keywords": [
6
6
  "ingram",