Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update npm non-major dependencies #1189

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 14, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@types/node (source) 22.8.7 -> 22.10.3 age adoption passing confidence
chalk 5.3.0 -> 5.4.1 age adoption passing confidence
eslint (source) 9.14.0 -> 9.17.0 age adoption passing confidence
prettier (source) 3.3.3 -> 3.4.2 age adoption passing confidence
typescript (source) 5.6.3 -> 5.7.2 age adoption passing confidence
yarn (source) 4.5.1 -> 4.6.0 age adoption passing confidence
zx (source) 8.2.0 -> 8.3.0 age adoption passing confidence

Release Notes

chalk/chalk (chalk)

v5.4.1

Compare Source

v5.4.0

Compare Source

  • Update CIRCLECI environments to return level 3 color support f838120
eslint/eslint (eslint)

v9.17.0

Compare Source

v9.16.0

Compare Source

Features

  • 8f70eb1 feat: Add ignoreComputedKeys option in sort-keys rule (#​19162) (Milos Djermanovic)

Documentation

  • 9eefc8f docs: fix typos in use-isnan (#​19190) (루밀LuMir)
  • 0c8cea8 docs: switch the order of words in no-unreachable (#​19189) (루밀LuMir)
  • 0c19417 docs: add missing backtick to no-async-promise-executor (#​19188) (루밀LuMir)
  • 8df9276 docs: add backtick in -0 in description of no-compare-neg-zero (#​19186) (루밀LuMir)
  • 7e16e3f docs: fix caseSensitive option's title of sort-keys (#​19183) (Tanuj Kanti)
  • 0c6b842 docs: fix typos in migration-guide.md (#​19180) (루밀LuMir)
  • 353266e docs: fix a typo in debug.md (#​19179) (루밀LuMir)
  • 5ff318a docs: delete unnecessary horizontal rule(---) in nodejs-api (#​19175) (루밀LuMir)
  • 576bcc5 docs: mark more rules as handled by TypeScript (#​19164) (Tanuj Kanti)
  • 742d054 docs: note that no-restricted-syntax can be used with any language (#​19148) (Milos Djermanovic)

Chores

v9.15.0

Compare Source

prettier/prettier (prettier)

v3.4.2

Compare Source

diff

Treat U+30A0 & U+30FB in Katakana Block as CJK (#​16796 by @​tats-u)

Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese.

<!-- Input (--prose-wrap=never) -->

C言
語
・
C++
・
Go
・
Rust

<!-- Prettier 3.4.1 -->
C言語・ C++ ・ Go ・ Rust

<!-- Prettier 3.4.2 -->
C言語・C++・Go・Rust

U+30A0 can be used as the replacement of the - in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”).

Fix comments print on class methods with decorators (#​16891 by @​fisker)
// Input
class A {
  @&#8203;decorator
  /** 
   * The method description
   *
  */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.1
class A {
  @&#8203;decorator
  async /**
   * The method description
   *
   */
  method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.2
class A {
  @&#8203;decorator
  /**
   * The method description
   *
   */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}
Fix non-idempotent formatting (#​16899 by @​seiyab)

This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3.

// Input
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.1 (first)
<div>
  foo
  <span>
    longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo
  </span>, abc
</div>;

// Prettier 3.4.1 (second)
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.2
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

v3.4.1

Compare Source

diff

Remove unnecessary parentheses around assignment in v-on (#​16887 by @​fisker)
<!-- Input -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

<!-- Prettier 3.4.0 -->
<template>
  <button @&#8203;click="(foo += 2)">Click</button>
</template>

<!-- Prettier 3.4.1 -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

v3.4.0

Compare Source

diff

🔗 Release Notes

microsoft/TypeScript (typescript)

v5.7.2

Compare Source

yarnpkg/berry (yarn)

v4.6.0

Compare Source

v4.5.3

Compare Source

v4.5.2

Compare Source

google/zx (zx)

v8.3.0: – Pipes of Steel

Compare Source

A few weeks ago zx took a part in OSS Library Night 🎉
Many thanks to the organizers and contributors who have boosted the project with their pull requests!

Today we are releasing the zx with a huge bunch of new features and improvements.

Features

API
  • Implemented [Symbol.asyncIterator] API for ProcessPromise #​984 #​998 #​1000
    Now you can iterate over the process output using for await loop from any point of the process execution.
const process = $`sleep 0.1; echo Chunk1; sleep 0.1; echo Chunk2; sleep 0.2; echo Chunk3; sleep 0.1; echo Chunk4;`
const chunks = []

await new Promise((resolve) => setTimeout(resolve, 250))
for await (const chunk of process) {
  chunks.push(chunk)
}

chunks.length //  4
chunks[0]     // 'Chunk1'
chunks[3]     // 'Chunk4'
  • zx version is available via JS API #​986
import { version } from 'zx'
const [major] = (version || '').split('.').map(Number)
if (major < 6)
  throw new Error('zx >= 6 is required')
Pipes
  • Enabled stream picking for pipe() #​1023
const p = $`echo foo >&2; echo bar`
const o1 = (await p.pipe.stderr`cat`).toString()
const o2 = (await p.pipe.stdout`cat`).toString()

assert.equal(o1, 'foo\n')  // <- piped from stderr
assert.equal(o2, 'bar\n')  // <- stdout
  • Added signal handling on piping #​992
const ac = new AbortController()
const { signal } = ac
const p = $({ signal, nothrow: true })`echo test`.pipe`sleep 999`
setTimeout(() => ac.abort(), 50)

try {
  await p
} catch ({ message }) {
  message // The operation was aborted
}
  • Added direct piping to file shortcut #​1001
// before
await $`echo "Hello, stdout!"`.pipe(fs.createWriteStream('/tmp/output.txt'))

// after
await $`echo "Hello, stdout!"`.pipe('/tmp/output.txt')
CLI
  • Provided $.defaults setting via ZX_-prefixed environment variables #​988 #​998
ZX_VERBOSE=true ZX_SHELL='/bin/bash' zx script.mjs
zx --env=/path/to/some.env script
  • Landed installation registry customization #​994
zx --install --registry=https://registry.yarnpkg.com script.mjs

Fixes

Docs

Chores

Merry Christmas! 🎄🎅🎁

v8.2.4: – Leaky Faucet

Compare Source

  • Fixed bun async_hooks compatibility #​959

v8.2.3: – Golden Wrench

Compare Source

This release continues the work on pipe API enhancements:

const { stdout } = await $({ halt: true })`echo "hello"`
 .pipe`awk '{print $1" world"}'`
 .pipe`tr '[a-z]' '[A-Z]'`
 .run()

stdout // 'HELLO WORLD'
  • Let $ be piped directly from streams #​953
const getUpperCaseTransform = () =>
  new Transform({
    transform(chunk, encoding, callback) {
      callback(null, String(chunk).toUpperCase())
    },
  })

// $ > stream (promisified) > $ 
const o1 = await $`echo "hello"`
  .pipe(getUpperCaseTransform())
  .pipe($`cat`)

o1.stdout //  'HELLO\n'

// stream > $
const file = tempfile()
await fs.writeFile(file, 'test')
const o2 = await fs
  .createReadStream(file)
  .pipe(getUpperCaseTransform())
  .pipe($`cat`)

o2.stdout //  'TEST'
const file = tempfile()
const fileStream = fs.createWriteStream(file)
const p = $`echo "hello"`
  .pipe(getUpperCaseTransform())
  .pipe(fileStream)
const o = await p

p instanceof WriteStream             // true
o instanceof WriteStream             // true
o.stdout                             // 'hello\n'
o.exitCode;                          // 0
(await fs.readFile(file)).toString() // 'HELLO\n'

We've also slightly tweaked up dist contents for better compatibility with bundlers #​957

v8.2.2

Compare Source

What's Changed

Full Changelog: google/zx@8.2.1...8.2.2

v8.2.1

Compare Source

  • #​936 fixes endless streams piping
  • #​930 enables custom extensions support

Configuration

📅 Schedule: Branch creation - "before 07:00 on Thursday" in timezone Europe/Oslo, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

github-actions bot commented Nov 14, 2024

Terraform environment AT23

Format and Style 🖌success

Initialization ⚙️success

Validation 🤖success

Validation Output

Success! The configuration is valid.


Plan 📖success

Show Plan

[Lines containing Refreshing state removed]
[Maybe further truncated see logs for complete plan output]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # azurerm_resource_group.shared will be created
  + resource "azurerm_resource_group" "shared" {
      + id       = (known after apply)
      + location = "norwayeast"
      + name     = "rgshared001at23"
    }

  # module.dns.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at23"
      + tags       = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.azconfig.io"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at23"
    }

  # module.dns.azurerm_private_dns_zone.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.vaultcore.azure.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at23"
    }

  # module.dns.azurerm_private_dns_zone.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.postgres.database.azure.com"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at23"
    }

  # module.dns.azurerm_private_dns_zone.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.servicebus.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at23"
    }

  # module.dns.azurerm_private_dns_zone.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.blob.core.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at23"
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "app_configuration"
      + private_dns_zone_name = "privatelink.azconfig.io"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at23"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "key_vault"
      + private_dns_zone_name = "privatelink.vaultcore.azure.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at23"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "postgres"
      + private_dns_zone_name = "privatelink.postgres.database.azure.com"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at23"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "service_bus"
      + private_dns_zone_name = "privatelink.servicebus.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at23"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "storage_account_blob"
      + private_dns_zone_name = "privatelink.blob.core.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at23"
      + virtual_network_id    = (known after apply)
    }

  # module.key_vault.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.key_vault.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at23"
      + tags       = (known after apply)
    }

  # module.key_vault.data.azurerm_role_definition.key_vault_administrator will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_administrator" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "00482a5a-887f-4fb3-b363-3b7fe8e74483"
      + type               = (known after apply)
    }

  # module.key_vault.azurerm_key_vault.key_vault will be created
  + resource "azurerm_key_vault" "key_vault" {
      + access_policy                 = (known after apply)
      + enable_rbac_authorization     = true
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + public_network_access_enabled = true
      + purge_protection_enabled      = true
      + resource_group_name           = "rgshared001at23"
      + sku_name                      = "standard"
      + soft_delete_retention_days    = 30
      + tenant_id                     = (known after apply)
      + vault_uri                     = (known after apply)

      + network_acls {
          + bypass         = "AzureServices"
          + default_action = "Allow"
        }
    }

  # module.key_vault.azurerm_private_endpoint.key_vault will be created
  + resource "azurerm_private_endpoint" "key_vault" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = (known after apply)
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at23"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = (known after apply)
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = (known after apply)
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "vault",
            ]
        }
    }

  # module.key_vault.azurerm_role_assignment.key_vault_administrator will be created
  + resource "azurerm_role_assignment" "key_vault_administrator" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = (known after apply)
    }

  # module.key_vault.random_string.key_vault_name_prefix will be created
  + resource "random_string" "key_vault_name_prefix" {
      + id          = (known after apply)
      + length      = 4
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = false
      + numeric     = false
      + result      = (known after apply)
      + special     = false
      + upper       = false
    }

  # module.nat.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at23"
      + tags       = (known after apply)
    }

  # module.nat.azurerm_nat_gateway.nat_gateway will be created
  + resource "azurerm_nat_gateway" "nat_gateway" {
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + location                = (known after apply)
      + name                    = "natgwshared001at23"
      + resource_group_name     = "rgshared001at23"
      + resource_guid           = (known after apply)
      + sku_name                = "Standard"
    }

  # module.nat.azurerm_nat_gateway_public_ip_association.nat_gateway will be created
  + resource "azurerm_nat_gateway_public_ip_association" "nat_gateway" {
      + id                   = (known after apply)
      + nat_gateway_id       = (known after apply)
      + public_ip_address_id = (known after apply)
    }

  # module.nat.azurerm_public_ip.nat_gateway will be created
  + resource "azurerm_public_ip" "nat_gateway" {
      + allocation_method       = "Static"
      + ddos_protection_mode    = "VirtualNetworkInherited"
      + fqdn                    = (known after apply)
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + ip_address              = (known after apply)
      + ip_version              = "IPv4"
      + location                = (known after apply)
      + name                    = "pipegressshared001at23"
      + resource_group_name     = "rgshared001at23"
      + sku                     = "Standard"
      + sku_tier                = "Regional"
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["default"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["postgres"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.postgres_server.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.postgres_server.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at23"
      + tags       = (known after apply)
    }

  # module.postgres_server.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.postgres_server.azurerm_key_vault_key.postgres_server will be created
  + resource "azurerm_key_vault_key" "postgres_server" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "psqlsrvshared001at23"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.postgres_server.azurerm_postgresql_flexible_server.postgres_server will be created
  + resource "azurerm_postgresql_flexible_server" "postgres_server" {
      + administrator_login           = (known after apply)
      + auto_grow_enabled             = true
      + backup_retention_days         = (known after apply)
      + delegated_subnet_id           = (known after apply)
      + fqdn                          = (known after apply)
      + geo_redundant_backup_enabled  = false
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "psqlsrvshared001at23"
      + private_dns_zone_id           = (known after apply)
      + public_network_access_enabled = false
      + resource_group_name           = "rgshared001at23"
      + sku_name                      = "GP_Standard_D4s_v3"
      + storage_mb                    = 32768
      + storage_tier                  = "P30"
      + version                       = "12"
      + zone                          = "1"

      + authentication {
          + active_directory_auth_enabled = true
          + password_auth_enabled         = false
          + tenant_id                     = (known after apply)
        }

      + customer_managed_key {
          + key_vault_key_id                  = (known after apply)
          + primary_user_assigned_identity_id = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + type         = "UserAssigned"
        }
    }

  # module.postgres_server.azurerm_postgresql_flexible_server_active_directory_administrator.admin will be created
  + resource "azurerm_postgresql_flexible_server_active_directory_administrator" "admin" {
      + id                  = (known after apply)
      + object_id           = (known after apply)
      + principal_name      = "mipsqlsrvadminshared001at23"
      + principal_type      = "ServicePrincipal"
      + resource_group_name = "rgshared001at23"
      + server_name         = "psqlsrvshared001at23"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server will be created
  + resource "azurerm_user_assigned_identity" "postgres_server" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvshared001at23"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at23"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server_admin will be created
  + resource "azurerm_user_assigned_identity" "postgres_server_admin" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvadminshared001at23"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at23"
      + tenant_id           = (known after apply)
    }

  # module.service_bus.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at23"
      + tags       = (known after apply)
    }

  # module.service_bus.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.service_bus.azurerm_key_vault_key.service_bus[0] will be created
  + resource "azurerm_key_vault_key" "service_bus" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "sbshared001at23"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.service_bus.azurerm_private_endpoint.service_bus_private_endpoint[0] will be created
  + resource "azurerm_private_endpoint" "service_bus_private_endpoint" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = "nicsbshared001at23"
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "pesbshared001at23"
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at23"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = "sbshared001at23"
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = "sbshared001at23"
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "namespace",
            ]
        }
    }

  # module.service_bus.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.service_bus.azurerm_role_definition.service_bus_masstransit will be created
  + resource "azurerm_role_definition" "service_bus_masstransit" {
      + assignable_scopes           = (known after apply)
      + description                 = "Allow C# Applications use MassTransit with Azure Service Bus"
      + id                          = (known after apply)
      + name                        = "Azure Service Bus Mass Transit"
      + role_definition_id          = (known after apply)
      + role_definition_resource_id = (known after apply)
      + scope                       = (known after apply)

      + permissions {
          + actions = [
              + "Microsoft.ServiceBus/namespaces/read",
              + "Microsoft.ServiceBus/namespaces/queues/*",
              + "Microsoft.ServiceBus/namespaces/topics/*",
            ]
        }
    }

  # module.service_bus.azurerm_servicebus_namespace.service_bus will be created
  + resource "azurerm_servicebus_namespace" "service_bus" {
      + capacity                            = 1
      + default_primary_connection_string   = (sensitive value)
      + default_primary_key                 = (sensitive value)
      + default_secondary_connection_string = (sensitive value)
      + default_secondary_key               = (sensitive value)
      + endpoint                            = (known after apply)
      + id                                  = (known after apply)
      + local_auth_enabled                  = false
      + location                            = (known after apply)
      + minimum_tls_version                 = "1.2"
      + name                                = "sbshared001at23"
      + premium_messaging_partitions        = 1
      + public_network_access_enabled       = true
      + resource_group_name                 = "rgshared001at23"
      + sku                                 = "Premium"

      + customer_managed_key {
          + identity_id                       = (known after apply)
          + infrastructure_encryption_enabled = true
          + key_vault_key_id                  = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + principal_id = (known after apply)
          + tenant_id    = (known after apply)
          + type         = "UserAssigned"
        }

      + network_rule_set {
          + default_action                = "Deny"
          + ip_rules                      = (sensitive value)
          + public_network_access_enabled = false
          + trusted_services_allowed      = true
        }
    }

  # module.service_bus.azurerm_user_assigned_identity.service_bus will be created
  + resource "azurerm_user_assigned_identity" "service_bus" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "misbshared001at23"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at23"
      + tenant_id           = (known after apply)
    }

  # module.vnet.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at23"
      + tags       = (known after apply)
    }

  # module.vnet.azurerm_subnet.vnet["default"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.0.0/23",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "default"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at23"
      + virtual_network_name                          = "vnetshared001at23"
    }

  # module.vnet.azurerm_subnet.vnet["postgres"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.2.0/28",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "postgres"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at23"
      + virtual_network_name                          = "vnetshared001at23"

      + delegation {
          + name = "fs"

          + service_delegation {
              + actions = [
                  + "Microsoft.Network/virtualNetworks/subnets/join/action",
                ]
              + name    = "Microsoft.DBforPostgreSQL/flexibleServers"
            }
        }
    }

  # module.vnet.azurerm_virtual_network.vnet will be created
  + resource "azurerm_virtual_network" "vnet" {
      + address_space       = [
          + "10.202.0.0/22",
        ]
      + dns_servers         = (known after apply)
      + guid                = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "vnetshared001at23"
      + resource_group_name = "rgshared001at23"
      + subnet              = (known after apply)
    }

Plan: 35 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Saved the plan to: tfplan.out

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan.out"

Context Values
Pusher @renovate[bot]
Action push
Working Directory ./infrastructure/shared
State File github.com/altinn/altinn-authorization/environments/at23/infrastructure.tfstate
Plan File github.com_altinn_altinn-authorization_environments_at23_infrastructure.tfstate.tfplan

Copy link

github-actions bot commented Nov 14, 2024

Terraform environment AT21

Format and Style 🖌success

Initialization ⚙️success

Validation 🤖success

Validation Output

Success! The configuration is valid.


Plan 📖success

Show Plan

[Lines containing Refreshing state removed]
[Maybe further truncated see logs for complete plan output]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # azurerm_resource_group.shared will be created
  + resource "azurerm_resource_group" "shared" {
      + id       = (known after apply)
      + location = "norwayeast"
      + name     = "rgshared001at21"
    }

  # module.dns.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at21"
      + tags       = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.azconfig.io"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at21"
    }

  # module.dns.azurerm_private_dns_zone.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.vaultcore.azure.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at21"
    }

  # module.dns.azurerm_private_dns_zone.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.postgres.database.azure.com"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at21"
    }

  # module.dns.azurerm_private_dns_zone.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.servicebus.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at21"
    }

  # module.dns.azurerm_private_dns_zone.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.blob.core.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at21"
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "app_configuration"
      + private_dns_zone_name = "privatelink.azconfig.io"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at21"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "key_vault"
      + private_dns_zone_name = "privatelink.vaultcore.azure.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at21"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "postgres"
      + private_dns_zone_name = "privatelink.postgres.database.azure.com"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at21"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "service_bus"
      + private_dns_zone_name = "privatelink.servicebus.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at21"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "storage_account_blob"
      + private_dns_zone_name = "privatelink.blob.core.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at21"
      + virtual_network_id    = (known after apply)
    }

  # module.key_vault.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.key_vault.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at21"
      + tags       = (known after apply)
    }

  # module.key_vault.data.azurerm_role_definition.key_vault_administrator will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_administrator" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "00482a5a-887f-4fb3-b363-3b7fe8e74483"
      + type               = (known after apply)
    }

  # module.key_vault.azurerm_key_vault.key_vault will be created
  + resource "azurerm_key_vault" "key_vault" {
      + access_policy                 = (known after apply)
      + enable_rbac_authorization     = true
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + public_network_access_enabled = true
      + purge_protection_enabled      = true
      + resource_group_name           = "rgshared001at21"
      + sku_name                      = "standard"
      + soft_delete_retention_days    = 30
      + tenant_id                     = (known after apply)
      + vault_uri                     = (known after apply)

      + network_acls {
          + bypass         = "AzureServices"
          + default_action = "Allow"
        }
    }

  # module.key_vault.azurerm_private_endpoint.key_vault will be created
  + resource "azurerm_private_endpoint" "key_vault" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = (known after apply)
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at21"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = (known after apply)
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = (known after apply)
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "vault",
            ]
        }
    }

  # module.key_vault.azurerm_role_assignment.key_vault_administrator will be created
  + resource "azurerm_role_assignment" "key_vault_administrator" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = (known after apply)
    }

  # module.key_vault.random_string.key_vault_name_prefix will be created
  + resource "random_string" "key_vault_name_prefix" {
      + id          = (known after apply)
      + length      = 4
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = false
      + numeric     = false
      + result      = (known after apply)
      + special     = false
      + upper       = false
    }

  # module.nat.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at21"
      + tags       = (known after apply)
    }

  # module.nat.azurerm_nat_gateway.nat_gateway will be created
  + resource "azurerm_nat_gateway" "nat_gateway" {
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + location                = (known after apply)
      + name                    = "natgwshared001at21"
      + resource_group_name     = "rgshared001at21"
      + resource_guid           = (known after apply)
      + sku_name                = "Standard"
    }

  # module.nat.azurerm_nat_gateway_public_ip_association.nat_gateway will be created
  + resource "azurerm_nat_gateway_public_ip_association" "nat_gateway" {
      + id                   = (known after apply)
      + nat_gateway_id       = (known after apply)
      + public_ip_address_id = (known after apply)
    }

  # module.nat.azurerm_public_ip.nat_gateway will be created
  + resource "azurerm_public_ip" "nat_gateway" {
      + allocation_method       = "Static"
      + ddos_protection_mode    = "VirtualNetworkInherited"
      + fqdn                    = (known after apply)
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + ip_address              = (known after apply)
      + ip_version              = "IPv4"
      + location                = (known after apply)
      + name                    = "pipegressshared001at21"
      + resource_group_name     = "rgshared001at21"
      + sku                     = "Standard"
      + sku_tier                = "Regional"
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["default"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["postgres"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.postgres_server.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.postgres_server.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at21"
      + tags       = (known after apply)
    }

  # module.postgres_server.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.postgres_server.azurerm_key_vault_key.postgres_server will be created
  + resource "azurerm_key_vault_key" "postgres_server" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "psqlsrvshared001at21"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.postgres_server.azurerm_postgresql_flexible_server.postgres_server will be created
  + resource "azurerm_postgresql_flexible_server" "postgres_server" {
      + administrator_login           = (known after apply)
      + auto_grow_enabled             = true
      + backup_retention_days         = (known after apply)
      + delegated_subnet_id           = (known after apply)
      + fqdn                          = (known after apply)
      + geo_redundant_backup_enabled  = false
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "psqlsrvshared001at21"
      + private_dns_zone_id           = (known after apply)
      + public_network_access_enabled = false
      + resource_group_name           = "rgshared001at21"
      + sku_name                      = "GP_Standard_D4s_v3"
      + storage_mb                    = 32768
      + storage_tier                  = "P30"
      + version                       = "12"
      + zone                          = "1"

      + authentication {
          + active_directory_auth_enabled = true
          + password_auth_enabled         = false
          + tenant_id                     = (known after apply)
        }

      + customer_managed_key {
          + key_vault_key_id                  = (known after apply)
          + primary_user_assigned_identity_id = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + type         = "UserAssigned"
        }
    }

  # module.postgres_server.azurerm_postgresql_flexible_server_active_directory_administrator.admin will be created
  + resource "azurerm_postgresql_flexible_server_active_directory_administrator" "admin" {
      + id                  = (known after apply)
      + object_id           = (known after apply)
      + principal_name      = "mipsqlsrvadminshared001at21"
      + principal_type      = "ServicePrincipal"
      + resource_group_name = "rgshared001at21"
      + server_name         = "psqlsrvshared001at21"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server will be created
  + resource "azurerm_user_assigned_identity" "postgres_server" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvshared001at21"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at21"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server_admin will be created
  + resource "azurerm_user_assigned_identity" "postgres_server_admin" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvadminshared001at21"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at21"
      + tenant_id           = (known after apply)
    }

  # module.service_bus.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at21"
      + tags       = (known after apply)
    }

  # module.service_bus.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.service_bus.azurerm_key_vault_key.service_bus[0] will be created
  + resource "azurerm_key_vault_key" "service_bus" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "sbshared001at21"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.service_bus.azurerm_private_endpoint.service_bus_private_endpoint[0] will be created
  + resource "azurerm_private_endpoint" "service_bus_private_endpoint" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = "nicsbshared001at21"
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "pesbshared001at21"
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at21"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = "sbshared001at21"
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = "sbshared001at21"
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "namespace",
            ]
        }
    }

  # module.service_bus.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.service_bus.azurerm_role_definition.service_bus_masstransit will be created
  + resource "azurerm_role_definition" "service_bus_masstransit" {
      + assignable_scopes           = (known after apply)
      + description                 = "Allow C# Applications use MassTransit with Azure Service Bus"
      + id                          = (known after apply)
      + name                        = "Azure Service Bus Mass Transit"
      + role_definition_id          = (known after apply)
      + role_definition_resource_id = (known after apply)
      + scope                       = (known after apply)

      + permissions {
          + actions = [
              + "Microsoft.ServiceBus/namespaces/read",
              + "Microsoft.ServiceBus/namespaces/queues/*",
              + "Microsoft.ServiceBus/namespaces/topics/*",
            ]
        }
    }

  # module.service_bus.azurerm_servicebus_namespace.service_bus will be created
  + resource "azurerm_servicebus_namespace" "service_bus" {
      + capacity                            = 1
      + default_primary_connection_string   = (sensitive value)
      + default_primary_key                 = (sensitive value)
      + default_secondary_connection_string = (sensitive value)
      + default_secondary_key               = (sensitive value)
      + endpoint                            = (known after apply)
      + id                                  = (known after apply)
      + local_auth_enabled                  = false
      + location                            = (known after apply)
      + minimum_tls_version                 = "1.2"
      + name                                = "sbshared001at21"
      + premium_messaging_partitions        = 1
      + public_network_access_enabled       = true
      + resource_group_name                 = "rgshared001at21"
      + sku                                 = "Premium"

      + customer_managed_key {
          + identity_id                       = (known after apply)
          + infrastructure_encryption_enabled = true
          + key_vault_key_id                  = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + principal_id = (known after apply)
          + tenant_id    = (known after apply)
          + type         = "UserAssigned"
        }

      + network_rule_set {
          + default_action                = "Deny"
          + ip_rules                      = (sensitive value)
          + public_network_access_enabled = false
          + trusted_services_allowed      = true
        }
    }

  # module.service_bus.azurerm_user_assigned_identity.service_bus will be created
  + resource "azurerm_user_assigned_identity" "service_bus" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "misbshared001at21"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at21"
      + tenant_id           = (known after apply)
    }

  # module.vnet.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at21"
      + tags       = (known after apply)
    }

  # module.vnet.azurerm_subnet.vnet["default"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.0.0/23",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "default"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at21"
      + virtual_network_name                          = "vnetshared001at21"
    }

  # module.vnet.azurerm_subnet.vnet["postgres"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.2.0/28",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "postgres"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at21"
      + virtual_network_name                          = "vnetshared001at21"

      + delegation {
          + name = "fs"

          + service_delegation {
              + actions = [
                  + "Microsoft.Network/virtualNetworks/subnets/join/action",
                ]
              + name    = "Microsoft.DBforPostgreSQL/flexibleServers"
            }
        }
    }

  # module.vnet.azurerm_virtual_network.vnet will be created
  + resource "azurerm_virtual_network" "vnet" {
      + address_space       = [
          + "10.202.0.0/22",
        ]
      + dns_servers         = (known after apply)
      + guid                = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "vnetshared001at21"
      + resource_group_name = "rgshared001at21"
      + subnet              = (known after apply)
    }

Plan: 35 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Saved the plan to: tfplan.out

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan.out"

Context Values
Pusher @renovate[bot]
Action push
Working Directory ./infrastructure/shared
State File github.com/altinn/altinn-authorization/environments/at21/infrastructure.tfstate
Plan File github.com_altinn_altinn-authorization_environments_at21_infrastructure.tfstate.tfplan

Copy link

github-actions bot commented Nov 14, 2024

Terraform environment AT22

Format and Style 🖌success

Initialization ⚙️success

Validation 🤖success

Validation Output

Success! The configuration is valid.


Plan 📖success

Show Plan

[Lines containing Refreshing state removed]
[Maybe further truncated see logs for complete plan output]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # azurerm_resource_group.shared will be created
  + resource "azurerm_resource_group" "shared" {
      + id       = (known after apply)
      + location = "norwayeast"
      + name     = "rgshared001at22"
    }

  # module.dns.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at22"
      + tags       = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.azconfig.io"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at22"
    }

  # module.dns.azurerm_private_dns_zone.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.vaultcore.azure.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at22"
    }

  # module.dns.azurerm_private_dns_zone.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.postgres.database.azure.com"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at22"
    }

  # module.dns.azurerm_private_dns_zone.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.servicebus.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at22"
    }

  # module.dns.azurerm_private_dns_zone.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.blob.core.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at22"
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "app_configuration"
      + private_dns_zone_name = "privatelink.azconfig.io"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at22"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "key_vault"
      + private_dns_zone_name = "privatelink.vaultcore.azure.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at22"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "postgres"
      + private_dns_zone_name = "privatelink.postgres.database.azure.com"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at22"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "service_bus"
      + private_dns_zone_name = "privatelink.servicebus.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at22"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "storage_account_blob"
      + private_dns_zone_name = "privatelink.blob.core.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at22"
      + virtual_network_id    = (known after apply)
    }

  # module.key_vault.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.key_vault.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at22"
      + tags       = (known after apply)
    }

  # module.key_vault.data.azurerm_role_definition.key_vault_administrator will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_administrator" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "00482a5a-887f-4fb3-b363-3b7fe8e74483"
      + type               = (known after apply)
    }

  # module.key_vault.azurerm_key_vault.key_vault will be created
  + resource "azurerm_key_vault" "key_vault" {
      + access_policy                 = (known after apply)
      + enable_rbac_authorization     = true
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + public_network_access_enabled = true
      + purge_protection_enabled      = true
      + resource_group_name           = "rgshared001at22"
      + sku_name                      = "standard"
      + soft_delete_retention_days    = 30
      + tenant_id                     = (known after apply)
      + vault_uri                     = (known after apply)

      + network_acls {
          + bypass         = "AzureServices"
          + default_action = "Allow"
        }
    }

  # module.key_vault.azurerm_private_endpoint.key_vault will be created
  + resource "azurerm_private_endpoint" "key_vault" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = (known after apply)
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at22"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = (known after apply)
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = (known after apply)
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "vault",
            ]
        }
    }

  # module.key_vault.azurerm_role_assignment.key_vault_administrator will be created
  + resource "azurerm_role_assignment" "key_vault_administrator" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = (known after apply)
    }

  # module.key_vault.random_string.key_vault_name_prefix will be created
  + resource "random_string" "key_vault_name_prefix" {
      + id          = (known after apply)
      + length      = 4
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = false
      + numeric     = false
      + result      = (known after apply)
      + special     = false
      + upper       = false
    }

  # module.nat.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at22"
      + tags       = (known after apply)
    }

  # module.nat.azurerm_nat_gateway.nat_gateway will be created
  + resource "azurerm_nat_gateway" "nat_gateway" {
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + location                = (known after apply)
      + name                    = "natgwshared001at22"
      + resource_group_name     = "rgshared001at22"
      + resource_guid           = (known after apply)
      + sku_name                = "Standard"
    }

  # module.nat.azurerm_nat_gateway_public_ip_association.nat_gateway will be created
  + resource "azurerm_nat_gateway_public_ip_association" "nat_gateway" {
      + id                   = (known after apply)
      + nat_gateway_id       = (known after apply)
      + public_ip_address_id = (known after apply)
    }

  # module.nat.azurerm_public_ip.nat_gateway will be created
  + resource "azurerm_public_ip" "nat_gateway" {
      + allocation_method       = "Static"
      + ddos_protection_mode    = "VirtualNetworkInherited"
      + fqdn                    = (known after apply)
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + ip_address              = (known after apply)
      + ip_version              = "IPv4"
      + location                = (known after apply)
      + name                    = "pipegressshared001at22"
      + resource_group_name     = "rgshared001at22"
      + sku                     = "Standard"
      + sku_tier                = "Regional"
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["default"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["postgres"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.postgres_server.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.postgres_server.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at22"
      + tags       = (known after apply)
    }

  # module.postgres_server.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.postgres_server.azurerm_key_vault_key.postgres_server will be created
  + resource "azurerm_key_vault_key" "postgres_server" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "psqlsrvshared001at22"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.postgres_server.azurerm_postgresql_flexible_server.postgres_server will be created
  + resource "azurerm_postgresql_flexible_server" "postgres_server" {
      + administrator_login           = (known after apply)
      + auto_grow_enabled             = true
      + backup_retention_days         = (known after apply)
      + delegated_subnet_id           = (known after apply)
      + fqdn                          = (known after apply)
      + geo_redundant_backup_enabled  = false
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "psqlsrvshared001at22"
      + private_dns_zone_id           = (known after apply)
      + public_network_access_enabled = false
      + resource_group_name           = "rgshared001at22"
      + sku_name                      = "GP_Standard_D4s_v3"
      + storage_mb                    = 32768
      + storage_tier                  = "P30"
      + version                       = "12"
      + zone                          = "1"

      + authentication {
          + active_directory_auth_enabled = true
          + password_auth_enabled         = false
          + tenant_id                     = (known after apply)
        }

      + customer_managed_key {
          + key_vault_key_id                  = (known after apply)
          + primary_user_assigned_identity_id = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + type         = "UserAssigned"
        }
    }

  # module.postgres_server.azurerm_postgresql_flexible_server_active_directory_administrator.admin will be created
  + resource "azurerm_postgresql_flexible_server_active_directory_administrator" "admin" {
      + id                  = (known after apply)
      + object_id           = (known after apply)
      + principal_name      = "mipsqlsrvadminshared001at22"
      + principal_type      = "ServicePrincipal"
      + resource_group_name = "rgshared001at22"
      + server_name         = "psqlsrvshared001at22"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server will be created
  + resource "azurerm_user_assigned_identity" "postgres_server" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvshared001at22"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at22"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server_admin will be created
  + resource "azurerm_user_assigned_identity" "postgres_server_admin" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvadminshared001at22"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at22"
      + tenant_id           = (known after apply)
    }

  # module.service_bus.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at22"
      + tags       = (known after apply)
    }

  # module.service_bus.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.service_bus.azurerm_key_vault_key.service_bus[0] will be created
  + resource "azurerm_key_vault_key" "service_bus" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "sbshared001at22"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.service_bus.azurerm_private_endpoint.service_bus_private_endpoint[0] will be created
  + resource "azurerm_private_endpoint" "service_bus_private_endpoint" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = "nicsbshared001at22"
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "pesbshared001at22"
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at22"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = "sbshared001at22"
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = "sbshared001at22"
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "namespace",
            ]
        }
    }

  # module.service_bus.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.service_bus.azurerm_role_definition.service_bus_masstransit will be created
  + resource "azurerm_role_definition" "service_bus_masstransit" {
      + assignable_scopes           = (known after apply)
      + description                 = "Allow C# Applications use MassTransit with Azure Service Bus"
      + id                          = (known after apply)
      + name                        = "Azure Service Bus Mass Transit"
      + role_definition_id          = (known after apply)
      + role_definition_resource_id = (known after apply)
      + scope                       = (known after apply)

      + permissions {
          + actions = [
              + "Microsoft.ServiceBus/namespaces/read",
              + "Microsoft.ServiceBus/namespaces/queues/*",
              + "Microsoft.ServiceBus/namespaces/topics/*",
            ]
        }
    }

  # module.service_bus.azurerm_servicebus_namespace.service_bus will be created
  + resource "azurerm_servicebus_namespace" "service_bus" {
      + capacity                            = 1
      + default_primary_connection_string   = (sensitive value)
      + default_primary_key                 = (sensitive value)
      + default_secondary_connection_string = (sensitive value)
      + default_secondary_key               = (sensitive value)
      + endpoint                            = (known after apply)
      + id                                  = (known after apply)
      + local_auth_enabled                  = false
      + location                            = (known after apply)
      + minimum_tls_version                 = "1.2"
      + name                                = "sbshared001at22"
      + premium_messaging_partitions        = 1
      + public_network_access_enabled       = true
      + resource_group_name                 = "rgshared001at22"
      + sku                                 = "Premium"

      + customer_managed_key {
          + identity_id                       = (known after apply)
          + infrastructure_encryption_enabled = true
          + key_vault_key_id                  = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + principal_id = (known after apply)
          + tenant_id    = (known after apply)
          + type         = "UserAssigned"
        }

      + network_rule_set {
          + default_action                = "Deny"
          + ip_rules                      = (sensitive value)
          + public_network_access_enabled = false
          + trusted_services_allowed      = true
        }
    }

  # module.service_bus.azurerm_user_assigned_identity.service_bus will be created
  + resource "azurerm_user_assigned_identity" "service_bus" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "misbshared001at22"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at22"
      + tenant_id           = (known after apply)
    }

  # module.vnet.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at22"
      + tags       = (known after apply)
    }

  # module.vnet.azurerm_subnet.vnet["default"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.0.0/23",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "default"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at22"
      + virtual_network_name                          = "vnetshared001at22"
    }

  # module.vnet.azurerm_subnet.vnet["postgres"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.2.0/28",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "postgres"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at22"
      + virtual_network_name                          = "vnetshared001at22"

      + delegation {
          + name = "fs"

          + service_delegation {
              + actions = [
                  + "Microsoft.Network/virtualNetworks/subnets/join/action",
                ]
              + name    = "Microsoft.DBforPostgreSQL/flexibleServers"
            }
        }
    }

  # module.vnet.azurerm_virtual_network.vnet will be created
  + resource "azurerm_virtual_network" "vnet" {
      + address_space       = [
          + "10.202.0.0/22",
        ]
      + dns_servers         = (known after apply)
      + guid                = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "vnetshared001at22"
      + resource_group_name = "rgshared001at22"
      + subnet              = (known after apply)
    }

Plan: 35 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Saved the plan to: tfplan.out

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan.out"

Context Values
Pusher @renovate[bot]
Action push
Working Directory ./infrastructure/shared
State File github.com/altinn/altinn-authorization/environments/at22/infrastructure.tfstate
Plan File github.com_altinn_altinn-authorization_environments_at22_infrastructure.tfstate.tfplan

Copy link

github-actions bot commented Nov 14, 2024

Terraform environment AT24

Format and Style 🖌success

Initialization ⚙️success

Validation 🤖success

Validation Output

Success! The configuration is valid.


Plan 📖success

Show Plan

[Lines containing Refreshing state removed]
[Maybe further truncated see logs for complete plan output]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # azurerm_resource_group.shared will be created
  + resource "azurerm_resource_group" "shared" {
      + id       = (known after apply)
      + location = "norwayeast"
      + name     = "rgshared001at24"
    }

  # module.dns.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at24"
      + tags       = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.azconfig.io"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at24"
    }

  # module.dns.azurerm_private_dns_zone.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.vaultcore.azure.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at24"
    }

  # module.dns.azurerm_private_dns_zone.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.postgres.database.azure.com"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at24"
    }

  # module.dns.azurerm_private_dns_zone.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.servicebus.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at24"
    }

  # module.dns.azurerm_private_dns_zone.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone" "dns" {
      + id                                                    = (known after apply)
      + max_number_of_record_sets                             = (known after apply)
      + max_number_of_virtual_network_links                   = (known after apply)
      + max_number_of_virtual_network_links_with_registration = (known after apply)
      + name                                                  = "privatelink.blob.core.windows.net"
      + number_of_record_sets                                 = (known after apply)
      + resource_group_name                                   = "rgshared001at24"
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["app_configuration"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "app_configuration"
      + private_dns_zone_name = "privatelink.azconfig.io"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at24"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["key_vault"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "key_vault"
      + private_dns_zone_name = "privatelink.vaultcore.azure.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at24"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["postgres"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "postgres"
      + private_dns_zone_name = "privatelink.postgres.database.azure.com"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at24"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["service_bus"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "service_bus"
      + private_dns_zone_name = "privatelink.servicebus.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at24"
      + virtual_network_id    = (known after apply)
    }

  # module.dns.azurerm_private_dns_zone_virtual_network_link.dns["storage_account_blob"] will be created
  + resource "azurerm_private_dns_zone_virtual_network_link" "dns" {
      + id                    = (known after apply)
      + name                  = "storage_account_blob"
      + private_dns_zone_name = "privatelink.blob.core.windows.net"
      + registration_enabled  = false
      + resource_group_name   = "rgshared001at24"
      + virtual_network_id    = (known after apply)
    }

  # module.key_vault.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.key_vault.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at24"
      + tags       = (known after apply)
    }

  # module.key_vault.data.azurerm_role_definition.key_vault_administrator will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_administrator" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "00482a5a-887f-4fb3-b363-3b7fe8e74483"
      + type               = (known after apply)
    }

  # module.key_vault.azurerm_key_vault.key_vault will be created
  + resource "azurerm_key_vault" "key_vault" {
      + access_policy                 = (known after apply)
      + enable_rbac_authorization     = true
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + public_network_access_enabled = true
      + purge_protection_enabled      = true
      + resource_group_name           = "rgshared001at24"
      + sku_name                      = "standard"
      + soft_delete_retention_days    = 30
      + tenant_id                     = (known after apply)
      + vault_uri                     = (known after apply)

      + network_acls {
          + bypass         = "AzureServices"
          + default_action = "Allow"
        }
    }

  # module.key_vault.azurerm_private_endpoint.key_vault will be created
  + resource "azurerm_private_endpoint" "key_vault" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = (known after apply)
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = (known after apply)
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at24"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = (known after apply)
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = (known after apply)
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "vault",
            ]
        }
    }

  # module.key_vault.azurerm_role_assignment.key_vault_administrator will be created
  + resource "azurerm_role_assignment" "key_vault_administrator" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = (known after apply)
    }

  # module.key_vault.random_string.key_vault_name_prefix will be created
  + resource "random_string" "key_vault_name_prefix" {
      + id          = (known after apply)
      + length      = 4
      + lower       = true
      + min_lower   = 0
      + min_numeric = 0
      + min_special = 0
      + min_upper   = 0
      + number      = false
      + numeric     = false
      + result      = (known after apply)
      + special     = false
      + upper       = false
    }

  # module.nat.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at24"
      + tags       = (known after apply)
    }

  # module.nat.azurerm_nat_gateway.nat_gateway will be created
  + resource "azurerm_nat_gateway" "nat_gateway" {
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + location                = (known after apply)
      + name                    = "natgwshared001at24"
      + resource_group_name     = "rgshared001at24"
      + resource_guid           = (known after apply)
      + sku_name                = "Standard"
    }

  # module.nat.azurerm_nat_gateway_public_ip_association.nat_gateway will be created
  + resource "azurerm_nat_gateway_public_ip_association" "nat_gateway" {
      + id                   = (known after apply)
      + nat_gateway_id       = (known after apply)
      + public_ip_address_id = (known after apply)
    }

  # module.nat.azurerm_public_ip.nat_gateway will be created
  + resource "azurerm_public_ip" "nat_gateway" {
      + allocation_method       = "Static"
      + ddos_protection_mode    = "VirtualNetworkInherited"
      + fqdn                    = (known after apply)
      + id                      = (known after apply)
      + idle_timeout_in_minutes = 4
      + ip_address              = (known after apply)
      + ip_version              = "IPv4"
      + location                = (known after apply)
      + name                    = "pipegressshared001at24"
      + resource_group_name     = "rgshared001at24"
      + sku                     = "Standard"
      + sku_tier                = "Regional"
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["default"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.nat.azurerm_subnet_nat_gateway_association.nat_gateway["postgres"] will be created
  + resource "azurerm_subnet_nat_gateway_association" "nat_gateway" {
      + id             = (known after apply)
      + nat_gateway_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # module.postgres_server.data.azurerm_client_config.current will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_client_config" "current" {
      + client_id       = (known after apply)
      + id              = (known after apply)
      + object_id       = (known after apply)
      + subscription_id = (known after apply)
      + tenant_id       = (known after apply)
    }

  # module.postgres_server.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at24"
      + tags       = (known after apply)
    }

  # module.postgres_server.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.postgres_server.azurerm_key_vault_key.postgres_server will be created
  + resource "azurerm_key_vault_key" "postgres_server" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "psqlsrvshared001at24"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.postgres_server.azurerm_postgresql_flexible_server.postgres_server will be created
  + resource "azurerm_postgresql_flexible_server" "postgres_server" {
      + administrator_login           = (known after apply)
      + auto_grow_enabled             = true
      + backup_retention_days         = (known after apply)
      + delegated_subnet_id           = (known after apply)
      + fqdn                          = (known after apply)
      + geo_redundant_backup_enabled  = false
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "psqlsrvshared001at24"
      + private_dns_zone_id           = (known after apply)
      + public_network_access_enabled = false
      + resource_group_name           = "rgshared001at24"
      + sku_name                      = "GP_Standard_D4s_v3"
      + storage_mb                    = 32768
      + storage_tier                  = "P30"
      + version                       = "12"
      + zone                          = "1"

      + authentication {
          + active_directory_auth_enabled = true
          + password_auth_enabled         = false
          + tenant_id                     = (known after apply)
        }

      + customer_managed_key {
          + key_vault_key_id                  = (known after apply)
          + primary_user_assigned_identity_id = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + type         = "UserAssigned"
        }
    }

  # module.postgres_server.azurerm_postgresql_flexible_server_active_directory_administrator.admin will be created
  + resource "azurerm_postgresql_flexible_server_active_directory_administrator" "admin" {
      + id                  = (known after apply)
      + object_id           = (known after apply)
      + principal_name      = "mipsqlsrvadminshared001at24"
      + principal_type      = "ServicePrincipal"
      + resource_group_name = "rgshared001at24"
      + server_name         = "psqlsrvshared001at24"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server will be created
  + resource "azurerm_user_assigned_identity" "postgres_server" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvshared001at24"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at24"
      + tenant_id           = (known after apply)
    }

  # module.postgres_server.azurerm_user_assigned_identity.postgres_server_admin will be created
  + resource "azurerm_user_assigned_identity" "postgres_server_admin" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "mipsqlsrvadminshared001at24"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at24"
      + tenant_id           = (known after apply)
    }

  # module.service_bus.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at24"
      + tags       = (known after apply)
    }

  # module.service_bus.data.azurerm_role_definition.key_vault_crypto_officer will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_role_definition" "key_vault_crypto_officer" {
      + assignable_scopes  = (known after apply)
      + description        = (known after apply)
      + id                 = (known after apply)
      + name               = (known after apply)
      + permissions        = (known after apply)
      + role_definition_id = "14b46e9e-c2b7-41b4-b07b-48a6ebf60603"
      + type               = (known after apply)
    }

  # module.service_bus.azurerm_key_vault_key.service_bus[0] will be created
  + resource "azurerm_key_vault_key" "service_bus" {
      + curve                   = (known after apply)
      + e                       = (known after apply)
      + id                      = (known after apply)
      + key_opts                = [
          + "unwrapKey",
          + "wrapKey",
        ]
      + key_size                = 2048
      + key_type                = "RSA"
      + key_vault_id            = (known after apply)
      + n                       = (known after apply)
      + name                    = "sbshared001at24"
      + public_key_openssh      = (known after apply)
      + public_key_pem          = (known after apply)
      + resource_id             = (known after apply)
      + resource_versionless_id = (known after apply)
      + version                 = (known after apply)
      + versionless_id          = (known after apply)
      + x                       = (known after apply)
      + y                       = (known after apply)
    }

  # module.service_bus.azurerm_private_endpoint.service_bus_private_endpoint[0] will be created
  + resource "azurerm_private_endpoint" "service_bus_private_endpoint" {
      + custom_dns_configs            = (known after apply)
      + custom_network_interface_name = "nicsbshared001at24"
      + id                            = (known after apply)
      + location                      = (known after apply)
      + name                          = "pesbshared001at24"
      + network_interface             = (known after apply)
      + private_dns_zone_configs      = (known after apply)
      + resource_group_name           = "rgshared001at24"
      + subnet_id                     = (known after apply)

      + private_dns_zone_group {
          + id                   = (known after apply)
          + name                 = "sbshared001at24"
          + private_dns_zone_ids = (known after apply)
        }

      + private_service_connection {
          + is_manual_connection           = false
          + name                           = "sbshared001at24"
          + private_connection_resource_id = (known after apply)
          + private_ip_address             = (known after apply)
          + subresource_names              = [
              + "namespace",
            ]
        }
    }

  # module.service_bus.azurerm_role_assignment.key_vault_crypto_officer will be created
  + resource "azurerm_role_assignment" "key_vault_crypto_officer" {
      + id                               = (known after apply)
      + name                             = (known after apply)
      + principal_id                     = (known after apply)
      + principal_type                   = (known after apply)
      + role_definition_id               = (known after apply)
      + role_definition_name             = (known after apply)
      + scope                            = (known after apply)
      + skip_service_principal_aad_check = true
    }

  # module.service_bus.azurerm_role_definition.service_bus_masstransit will be created
  + resource "azurerm_role_definition" "service_bus_masstransit" {
      + assignable_scopes           = (known after apply)
      + description                 = "Allow C# Applications use MassTransit with Azure Service Bus"
      + id                          = (known after apply)
      + name                        = "Azure Service Bus Mass Transit"
      + role_definition_id          = (known after apply)
      + role_definition_resource_id = (known after apply)
      + scope                       = (known after apply)

      + permissions {
          + actions = [
              + "Microsoft.ServiceBus/namespaces/read",
              + "Microsoft.ServiceBus/namespaces/queues/*",
              + "Microsoft.ServiceBus/namespaces/topics/*",
            ]
        }
    }

  # module.service_bus.azurerm_servicebus_namespace.service_bus will be created
  + resource "azurerm_servicebus_namespace" "service_bus" {
      + capacity                            = 1
      + default_primary_connection_string   = (sensitive value)
      + default_primary_key                 = (sensitive value)
      + default_secondary_connection_string = (sensitive value)
      + default_secondary_key               = (sensitive value)
      + endpoint                            = (known after apply)
      + id                                  = (known after apply)
      + local_auth_enabled                  = false
      + location                            = (known after apply)
      + minimum_tls_version                 = "1.2"
      + name                                = "sbshared001at24"
      + premium_messaging_partitions        = 1
      + public_network_access_enabled       = true
      + resource_group_name                 = "rgshared001at24"
      + sku                                 = "Premium"

      + customer_managed_key {
          + identity_id                       = (known after apply)
          + infrastructure_encryption_enabled = true
          + key_vault_key_id                  = (known after apply)
        }

      + identity {
          + identity_ids = (known after apply)
          + principal_id = (known after apply)
          + tenant_id    = (known after apply)
          + type         = "UserAssigned"
        }

      + network_rule_set {
          + default_action                = "Deny"
          + ip_rules                      = (sensitive value)
          + public_network_access_enabled = false
          + trusted_services_allowed      = true
        }
    }

  # module.service_bus.azurerm_user_assigned_identity.service_bus will be created
  + resource "azurerm_user_assigned_identity" "service_bus" {
      + client_id           = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "misbshared001at24"
      + principal_id        = (known after apply)
      + resource_group_name = "rgshared001at24"
      + tenant_id           = (known after apply)
    }

  # module.vnet.data.azurerm_resource_group.rg will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "azurerm_resource_group" "rg" {
      + id         = (known after apply)
      + location   = (known after apply)
      + managed_by = (known after apply)
      + name       = "rgshared001at24"
      + tags       = (known after apply)
    }

  # module.vnet.azurerm_subnet.vnet["default"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.0.0/23",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "default"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at24"
      + virtual_network_name                          = "vnetshared001at24"
    }

  # module.vnet.azurerm_subnet.vnet["postgres"] will be created
  + resource "azurerm_subnet" "vnet" {
      + address_prefixes                              = [
          + "10.202.2.0/28",
        ]
      + default_outbound_access_enabled               = true
      + id                                            = (known after apply)
      + name                                          = "postgres"
      + private_endpoint_network_policies             = "Disabled"
      + private_link_service_network_policies_enabled = true
      + resource_group_name                           = "rgshared001at24"
      + virtual_network_name                          = "vnetshared001at24"

      + delegation {
          + name = "fs"

          + service_delegation {
              + actions = [
                  + "Microsoft.Network/virtualNetworks/subnets/join/action",
                ]
              + name    = "Microsoft.DBforPostgreSQL/flexibleServers"
            }
        }
    }

  # module.vnet.azurerm_virtual_network.vnet will be created
  + resource "azurerm_virtual_network" "vnet" {
      + address_space       = [
          + "10.202.0.0/22",
        ]
      + dns_servers         = (known after apply)
      + guid                = (known after apply)
      + id                  = (known after apply)
      + location            = (known after apply)
      + name                = "vnetshared001at24"
      + resource_group_name = "rgshared001at24"
      + subnet              = (known after apply)
    }

Plan: 35 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Saved the plan to: tfplan.out

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan.out"

Context Values
Pusher @renovate[bot]
Action push
Working Directory ./infrastructure/shared
State File github.com/altinn/altinn-authorization/environments/at24/infrastructure.tfstate
Plan File github.com_altinn_altinn-authorization_environments_at24_infrastructure.tfstate.tfplan

@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from 92c4155 to b8a6504 Compare November 18, 2024 20:18
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from b8a6504 to 25e3fa7 Compare November 22, 2024 17:44
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from 25e3fa7 to d25b9ac Compare November 25, 2024 02:37
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from d25b9ac to 2b7deef Compare November 25, 2024 17:33
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from 2b7deef to 98c9451 Compare November 26, 2024 01:39
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from b018ec1 to 04699ed Compare December 21, 2024 19:17
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from 04699ed to b9ac2be Compare December 24, 2024 17:31
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from b9ac2be to b932137 Compare December 27, 2024 10:41
@renovate renovate bot force-pushed the renovate/npm-minor-patch branch from b932137 to 3cfe1c6 Compare January 1, 2025 14:00
Copy link

sonarqubecloud bot commented Jan 4, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants