Skip to content

Update nuget non-major dependencies#1169

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/nuget-minor-patch
Open

Update nuget non-major dependencies#1169
renovate[bot] wants to merge 1 commit intomainfrom
renovate/nuget-minor-patch

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 7, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
Altinn.Authorization.ABAC 0.0.80.1.1 age confidence
Altinn.Authorization.ProblemDetails 3.0.13.3.0 age confidence
Altinn.Authorization.ProblemDetails.Abstractions 3.0.13.3.0 age confidence
Altinn.Common.AccessToken 4.5.34.5.5 age confidence
Altinn.Common.AccessTokenClient 3.0.93.2.2 age confidence
Altinn.Common.PEP 4.0.04.2.3 age confidence
Altinn.Platform.Storage.Interface 4.0.34.6.0 age confidence
Altinn.Swashbuckle 2.1.12.4.1 age confidence
Altinn.Urn 2.5.12.7.0 age confidence
Altinn.Urn.Swashbuckle 2.5.12.7.0 age confidence
Azure.Identity (source) 1.13.11.19.0 age confidence
Azure.Security.KeyVault.Certificates (source) 4.7.04.8.0 age confidence
Azure.Security.KeyVault.Secrets (source) 4.7.04.9.0 age confidence
Azure.Storage.Blobs (source) 12.22.212.27.0 age confidence
Azure.Storage.Queues (source) 12.20.112.25.0 age confidence
DotNet.ReproducibleBuilds 1.2.251.2.39 age confidence
FluentAssertions (source) 6.12.16.12.2 age confidence
JWTCookieAuthentication 4.0.14.0.4 age confidence
MSTest.TestFramework 3.6.23.11.1 age confidence
Microsoft.ApplicationInsights (source) 2.22.02.23.0 age confidence
Microsoft.ApplicationInsights.AspNetCore (source) 2.22.02.23.0 age confidence
Microsoft.AspNetCore.Mvc.NewtonsoftJson (source) 6.0.356.0.36 age confidence
Microsoft.AspNetCore.Mvc.Testing (source) 8.0.108.0.25 age confidence
Microsoft.Azure.WebJobs.Extensions.Storage (source) 5.3.25.3.8 age confidence
Microsoft.FeatureManagement 4.0.04.4.0 age confidence
Microsoft.IdentityModel.Protocols.OpenIdConnect 8.3.08.16.0 age confidence
Microsoft.NET.Test.Sdk 17.12.017.14.1 age confidence
Microsoft.NET.Test.Sdk 17.11.117.14.1 age confidence
Npgsql 8.0.58.0.9 age confidence
Swashbuckle.AspNetCore.Filters 8.0.28.0.3 age confidence
System.Text.Json (source) 8.0.58.0.6 age confidence
coverlet.collector 6.0.26.0.4 age confidence

Release Notes

Altinn/altinn-authorization-utils (Altinn.Authorization.ProblemDetails)

v3.3.0: Altinn.Authorization.ProblemDetails: v3.3.0

Compare Source

Features

v3.2.2: Altinn.Authorization.ProblemDetails: v3.2.2

Compare Source

Bug Fixes
  • include more details in ProblemInstanceException (#​228) (5fe0f72)

v3.2.1: Altinn.Authorization.ProblemDetails: v3.2.1

Compare Source

Bug Fixes
  • add ProblemInstanceException constructor overloads (#​175) (95b8a0b)

v3.2.0: Altinn.Authorization.ProblemDetails: v3.2.0

Compare Source

Features

v3.1.0: Altinn.Authorization.ProblemDetails: v3.1.0

Compare Source

Features
Altinn/altinn-accesstoken (Altinn.Common.AccessToken)

v4.5.5

Compare Source

What's Changed

  • chore(deps): update dependency microsoft.identitymodel.protocols.openidconnect to 8.3.0 by @​renovate in #​121

v4.5.4

Compare Source

What's Changed

  • chore(deps): update dependency microsoft.identitymodel.protocols.openidconnect to 8.2.0 by @​renovate in #​114

Full Changelog: Altinn/altinn-accesstoken@Altinn.Common.AccessToken-4.5.3...Altinn.Common.AccessToken-4.5.4

Azure/azure-sdk-for-net (Azure.Identity)

v1.19.0

Compare Source

1.19.0 (2026-03-11)

Features Added
  • Added support in ClientCertificateCredential to specify a path in the form of cert:/StoreLocation/StoreName/Thumbprint to refer to a certificate in the platform certificate store - such as the Windows Certificate Store on Windows, and the KeyChain on MacOS - instead of a file on disk. For example to load a certificate from the "My" store in the "CurrentUser" location use the path cert:/CurrentUser/My/E661583E8FABEF4C0BEF694CBC41C28FB81CD870 (A community contribution, courtesy of fowl2).
Other Changes
  • Updated Microsoft.Identity.Client and Microsoft.Identity.Client.Extensions.Msal dependencies to version 4.83.1.

v1.18.0

Compare Source

1.18.0 (2026-02-25)

Features Added
  • Added experimental Microsoft.Extensions.Configuration and Microsoft.Extensions.DependencyInjection integration for Azure SDK clients. For details, see the Configuration and Dependency Injection documentation.

  • The WorkloadIdentityCredentialOptions.IsAzureProxyEnabled property, which enables Azure Kubernetes token proxy mode, is only available in beta releases of this package.

  • AzureDeveloperCliCredential now parses JSON error output from azd auth token to extract clean error messages instead of including raw JSON in exceptions. Error messages like {"type":"consoleMessage","data":{"message":"ERROR: fetching token: ..."}} are now displayed as ERROR: fetching token: ....

v1.17.1

Compare Source

1.17.1 (2025-11-18)

Other Changes
  • Updated Microsoft.Identity.Client and Microsoft.Identity.Client.Extensions.Msal dependencies to version 4.78.0.

v1.17.0

Compare Source

1.17.0 (2025-10-07)

Bugs Fixed
  • TenantId is now configured via MSAL's WithTenantId instead of WithTenantIdFromAuthority to prevent malformed Uris to the authority.
Other Changes
  • Deprecated BrowserCustomizationOptions.UseEmbeddedWebView property. This option requires additional dependencies on Microsoft.Identity.Client.Desktop and is no longer supported. Consider using brokered authentication instead.

v1.16.0

Compare Source

1.16.0 (2025-09-09)

Features Added
  • Added a new DefaultAzureCredential constructor that accepts a custom environment variable name for credential configuration. This provides flexibility beyond the default AZURE_TOKEN_CREDENTIALS environment variable. The constructor accepts any environment variable name and uses the same credential selection logic as the existing AZURE_TOKEN_CREDENTIALS processing.
  • Added DefaultAzureCredential.DefaultEnvironmentVariableName constant property that returns "AZURE_TOKEN_CREDENTIALS" for convenience when referencing the default environment variable name.
  • AzureCliCredential, AzurePowerShellCredential, and AzureDeveloperCliCredential now throw an AuthenticationFailedException when the TokenRequestContext includes claims, as these credentials do not support claims challenges. The exception message includes guidance for handling such scenarios.
  • When AZURE_TOKEN_CREDENTIALS or the equivalent custom environment variable is configured to ManagedIdentityCredential, the DefaultAzureCredential does not issue a probe request and performs retries with exponential backoff.
Bugs Fixed
  • Fixed AzureDeveloperCliCredential hanging when the AZD_DEBUG environment variable is set by adding the --no-prompt flag to prevent interactive prompts (#​52005).
  • BrokerCredential is now included in the chain when AZURE_TOKEN_CREDENTIALS is set to dev.
  • Fixed an issue that prevented ManagedIdentityCredential from utilizing the token cache in Workload Identity Federation environments.
  • Fixed a bug in DefaultAzureCredential that caused the credential chain to be constructed incorrectly when using AZURE_TOKEN_CREDENTIALS in combination with DefaultAzureCredentialOptions.
Other Changes
  • The BrokerCredential is now always included in the DefaultAzureCredential chain. If the Azure.Identity.Broker package is not referenced, an exception will be thrown when GetToken is called, making its behavior consistent with the rest of the credentials in the chain.
  • Updated Microsoft.Identity.Client dependency to version 4.76.0.
  • Updated Microsoft.Identity.Client.Extensions.Msal dependency to version 4.76.0.

v1.15.0

Compare Source

1.15.0 (2025-08-07)

Breaking Changes
Behavioral Breaking Changes
  • Deprecated SharedTokenCacheCredential. The supporting credential (SharedTokenCacheCredential) was a legacy mechanism for authenticating clients using credentials provided to Visual Studio. For brokered authentication, consider using InteractiveBrowserCredential instead. The following changes have been made:
    • SharedTokenCacheCredential class is marked as [Obsolete] and [EditorBrowsable(EditorBrowsableState.Never)]
    • SharedTokenCacheCredentialOptions class is marked as [Obsolete] and [EditorBrowsable(EditorBrowsableState.Never)]
    • DefaultAzureCredentialOptions.ExcludeSharedTokenCacheCredential property is marked as [Obsolete] and [EditorBrowsable(EditorBrowsableState.Never)]
    • SharedTokenCacheUsername property is marked as [Obsolete] and [EditorBrowsable(EditorBrowsableState.Never)]
    • SharedTokenCacheCredential is no longer included in the DefaultAzureCredential authentication flow
Bugs Fixed
  • Tenant ID comparisons in credential options are now case-insensitive. This affects AdditionallyAllowedTenants values which will now be matched against tenant IDs without case sensitivity, making the authentication more resilient to case differences in tenant IDs returned from WWW-Authenticate challenges (#​51693).
Other Changes
  • BrokerAuthenticationCredential has been renamed as BrokerCredential.

  • Added the EditorBrowsable(Never) attribute to property VisualStudioCodeTenantId as TenantId is preferred. The VisualStudioCodeTenantId property exists only to provide backwards compatibility.

v1.14.2

Compare Source

1.14.2 (2025-07-10)
Other changes
  • Updated Microsoft.Identity.Client dependency to version 4.73.1

v1.14.1

Compare Source

1.14.1 (2025-07-08)

Bugs Fixed
  • Added support in AzurePowerShellCredential for the Az.Accounts 5.0.0+ (Az 14.0.0+) breaking change where Get-AzAccessToken returns PSSecureAccessToken with a SecureString Token property instead of plaintext.

v1.14.0

Compare Source

1.14.0 (2025-05-13)
Other Changes
  • Removed references to Username, Password, AZURE_USERNAME, and AZURE_PASSWORD in XML comments from EnvironmentCredentialOptions and EnvironmentCredential due to lack of MFA support. See MFA enforcement details.
  • Marked AZURE_USERNAME and AZURE_PASSWORD as obsolete due to lack of MFA support. See MFA enforcement details.
  • Added support for the AZURE_TOKEN_CREDENTIALS environment variable to DefaultAzureCredential, which allows for choosing between 'deployed service' and 'developer tools' credentials. Valid values are 'dev' for developer tools and 'prod' for deployed service.

v1.13.2

Compare Source

1.13.2 (2025-07-18)

Features Added
  • Make Azure.ResourceManager AOT-compatible.
dotnet/reproducible-builds (DotNet.ReproducibleBuilds)

v1.2.39

Additions

Removals

Changed

Tidying up

New Contributors

Full Changelog: dotnet/reproducible-builds@v1.2.25...v1.2.39

fluentassertions/fluentassertions (FluentAssertions)

v6.12.2

Compare Source

What's Changed

Others

Full Changelog: fluentassertions/fluentassertions@6.12.1...6.12.2

microsoft/testfx (MSTest.TestFramework)

v3.11.1

See the release notes here

v3.11.0

See the release notes here

v3.10.5

See the release notes here

v3.10.4

See the release notes here

v3.10.3

See the release notes here

v3.10.2

See the release notes here

v3.10.1

See the release notes here

v3.10.0

See the release notes here

v3.9.3

What's Changed
  • Simpler fix for dotnet test when using retry by @​Youssef1313 in #​5732. Note that this PR targets rel/3.9 branch. For 3.10, we did a different fix: #​5717

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#3.9.3
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#1.7.3

Full Changelog: microsoft/testfx@v3.9.2...v3.9.3

v3.9.2

What's Changed

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#3.9.2
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#1.7.2

Full Changelog: microsoft/testfx@v3.9.1...v3.9.2

v3.9.1

What's Changed

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#3.9.1
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#1.7.1

Full Changelog: microsoft/testfx@v3.9.0...v3.9.1

v3.9.0

In this release we focused a lot on providing fixes for MSTest and Microsoft.Testing.Platform. The most notable new features and fixes are:

MSTest
Microsoft.Testing.Platform

We've also improved the dotnet test experience in dotnet SDK, especially around Retry plugin experience, and started dogfooding the experience in our own repository. Please check out how to enable the new dotnet test experience for Microsoft.Testing.Platform in net10 by following this link, and help us dogfood it.

New Contributors

See the MSTest changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#3.9.0
See the Microsoft.Testing.Platform changelog here: https://github.com/microsoft/testfx/blob/main/docs/Changelog-Platform.md#1.7.0

Full Changelog: microsoft/testfx@v3.8.3...v3.9.0

v3.8.3

See the release notes here

v3.8.2

See the release notes here

v3.8.1

See the release notes here

v3.8.0

See the release notes here

Announcements

v3.7.3

See the release notes here

v3.7.2

See the release notes here

v3.7.1

See the release notes here

v3.7.0

See the release notes here

Announcements

MSTest.Analyzers is now a transitive dependency of MSTest.TestFramework and thus no longer needs to be manually installed.

Note: The only rules enabled by default as warnings, which could potentially cause build errors when updating MSTest, have been carefully selected and thoroughly validated. These rules specifically address real runtime issues related to the usage of MSTest, ensuring that no purely stylistic or low-impact analyzers are enforced by default.

v3.6.4

See the release notes here

v3.6.3

See the release notes here

Microsoft/ApplicationInsights-dotnet (Microsoft.ApplicationInsights)

v2.23.0

Compare Source

  • no changes since beta.
dotnet/dotnet (Microsoft.AspNetCore.Mvc.Testing)

v8.0.18: .NET 8.0.18

You can build .NET 8.0 from the repository by cloning the release tag v8.0.18 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

v8.0.17: .NET 8.0.17

You can build .NET 8.0 from the repository by cloning the release tag v8.0.17 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

v8.0.16: .NET 8.0.16

You can build .NET 8.0 from the repository by cloning the release tag v8.0.16 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

v8.0.15: .NET 8.0.15

You can build .NET 8.0 from the repository by cloning the release tag v8.0.15 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

v8.0.14: .NET 8.0.14

You can build .NET 8.0 from the repository by cloning the release tag v8.0.14 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

v8.0.13: .NET 8.0.13

You can build .NET 8.0 from the repository by cloning the release tag v8.0.13 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

v8.0.12: .NET 8.0.12

You can build .NET 8.0 from the repository by cloning the release tag v8.0.12 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

v8.0.11: .NET 8.0.11

You can build .NET 8.0 from the repository by cloning the release tag v8.0.11 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

microsoft/FeatureManagement-Dotnet (Microsoft.FeatureManagement)

v4.4.0

Compare Source

4.4.0 - December 18, 2025

Microsoft.FeatureManagement Updates

The packages associated with this release are

Microsoft.FeatureManagement

Enhancements
  • Exposed the SystemClock property for TimeWindowFilter to enable the use of a custom TimeProvider. #​558

  • Added new overloads for FilterCollectionExtensions.AddForFeature to support specifying multiple feature flags, requirement types, and negation. #​359

Microsoft.FeatureManagement.AspNetCore

Enhancements
  • Updated Microsoft.FeatureManagement reference to 4.4.0. See the release notes for more information on the changes.

Microsoft.FeatureManagement.Telemetry.ApplicationInsights

Enhancements
  • Updated Microsoft.FeatureManagement reference to 4.4.0. See the release notes for more information on the changes.

v4.3.0

Compare Source

4.3.0 - August 27, 2025

Microsoft.FeatureManagement Updates

The packages associated with this release are

Microsoft.FeatureManagement

Enhancements
  • Introduced ConfigurationFeatureDefinitionProviderOptions which allows to enable the new configuration merging behavior for the built-in ConfiguationFeatureDefinitionProvider. When the same feature flag is defined in multiple sources, definitions are merged according to configuration provider registration order, with the last feature flag definition taking precedence in case of conflicts. #​552

Microsoft.FeatureManagement.AspNetCore

Enhancements
  • Updated Microsoft.FeatureManagement reference to 4.3.0. See the release notes for more information on the changes.

Microsoft.FeatureManagement.Telemetry.ApplicationInsights

Enhancements
  • Updated Microsoft.FeatureManagement reference to 4.3.0. See the release notes for more information on the changes.

v4.2.1

Compare Source

v4.2.0

Compare Source

v4.1.0

Compare Source

4.1.0 - May 22, 2025

Microsoft.FeatureManagement Updates

The packages associated with this release are

Microsoft.FeatureManagement

Enhancements
  • Added DefaultWhenEnabled and VariantAssignmentPercentage fields to the FeatureEvaluation event. #​495

Microsoft.FeatureManagement.AspNetCore

Enhancements
  • Updated Microsoft.FeatureManagement reference to 4.1.0. See the release notes for more information on the changes.
Bug Fix
  • Fixed a bug that caused duplicated dimension in Application Insights telemetry. #​542

Microsoft.FeatureManagement.Telemetry.ApplicationInsights

Enhancements
  • Updated Microsoft.FeatureManagement reference to 4.1.0. See the release notes for more information on the changes.
Bug Fix
  • Fixed a bug that caused duplicated dimension in Application Insights telemetry. #​542
AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet (Microsoft.IdentityModel.Protocols.OpenIdConnect)

v8.16.0

Compare Source

====

New Features

  • Add telemetry around signature validation. See PR #​3415 for details.

Fundamentals

  • Fix FileVersion format to use two-digit year and day of year. See PR #​3389 for details.

v8.15.0

Compare Source

====

New Features

  • Add ECDsa support in X509SecurityKey and JsonWebKeyConverter.ConvertFromX509SecurityKey
    Extended X509SecurityKey and JsonWebKeyConverter.ConvertFromX509SecurityKey to support ECDSA keys.
    See PR #​2377 for details.

Bug Fixes

  • Sanitize logs to avoid leaking sensitive data
    Updated logging to sanitize sensitive values, reducing the risk of inadvertently exposing secrets or PII in logs.
    See PR #​3316 for details.
  • Optimize log sanitization with SearchValues
    Improved the performance of the log sanitization logic introduced earlier by using SearchValues, making sanitization more efficient in high-throughput scenarios.
    See PR #​3341 for details.
  • Update test for IDX10400
    Adjusted the IDX10400 test to align with the current behavior and error messaging.
    See PR #​3314 for details.

Fundamentals

  • Add supported algorithm tests
    Added new tests to validate the set of supported cryptographic algorithms, increasing confidence in algorithm coverage and compatibility.
    See PR #​3296 for details.
  • Migrate repository agent rules from .clinerules to agents.md
    Moved repository agent/AI-assist rules into markdown documentation to make them more visible and easier to maintain.
    See PR #​3313 for details.
  • **Migrate `Microsoft.Ide

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.

@github-actions
Copy link

github-actions bot commented Nov 7, 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]

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

@github-actions
Copy link

github-actions bot commented Nov 7, 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]

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

@github-actions
Copy link

github-actions bot commented Nov 7, 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]

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

@github-actions
Copy link

github-actions bot commented Nov 7, 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]

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

@renovate renovate bot changed the title Update nuget non-major dependencies Update dependency Altinn.Swashbuckle to 2.1.1 Nov 7, 2024
@renovate renovate bot changed the title Update dependency Altinn.Swashbuckle to 2.1.1 Update dependency Altinn.Swashbuckle to 2.1.1 - autoclosed Nov 7, 2024
@renovate renovate bot closed this Nov 7, 2024
@renovate renovate bot deleted the renovate/nuget-minor-patch branch November 7, 2024 10:03
@renovate renovate bot changed the title Update dependency Altinn.Swashbuckle to 2.1.1 - autoclosed Update dependency Altinn.Swashbuckle to 2.1.1 Nov 14, 2024
@renovate renovate bot reopened this Nov 14, 2024
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from 308812d to 8f74d94 Compare November 14, 2024 01:16
@renovate renovate bot changed the title Update dependency Altinn.Swashbuckle to 2.1.1 Update nuget non-major dependencies Nov 14, 2024
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from 8f74d94 to f7e7442 Compare November 14, 2024 05:02
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from f7e7442 to c448cf6 Compare November 15, 2024 15:53
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from a2c1fc8 to fba36fc Compare November 22, 2024 14:39
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from fba36fc to 1370e01 Compare November 24, 2024 14:42
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from 1370e01 to 1bbf7f4 Compare November 28, 2024 11:37
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from 1bbf7f4 to 99c46f0 Compare November 30, 2024 15:51
@renovate renovate bot force-pushed the renovate/nuget-minor-patch branch from 99c46f0 to 6d42c8c Compare December 6, 2024 20:24
@sonarqubecloud
Copy link

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