github OctopusDeployLabs/terraform-provider-octopusdeploy v0.8.0

latest releases: v0.30.6, v0.30.5, v0.30.4...
2 years ago

Changelog

⚠️ Warning

This release includes a number of breaking changes. Please ensure to validate your configuration and review the changes from plan before committing changes through apply.

In v0.8.0, the octopusdeploy_tag_set has been modified significantly by hoisting its embedded tag blocks into a separate a distinct resource (octopusdeploy_tag). Please see #433 for more information about this change.

Additionally, the following resources have been removed:

  • octopusdeploy_account
  • octopusdeploy_deployment_target
  • octopusdeploy_feed

Each of these resources have been marked as deprecated for a while and it was time to remove them. More robust alternatives exist through the provider library (i.e. octopusdeploy_aws_account).

Migrating from v0.7.* to v0.8.0

If the configuration fails to validate after updating to v0.8.0 then you can pin the version of the provider to the previous version: v0.7.73:

terraform {
  required_providers {
    octopusdeploy = {
      source = "OctopusDeployLabs/octopusdeploy"
      version = "0.7.73" # avoid qualifiers for versions, which can be dangerous until v1.0.0
    }
  }
}

At a later time, you may migrate your existing state and configuration to the new resource types. This may be done by executing an import on the resource to update your state. You will have to also update your configuration once this is done to align your state and configuration.

Example: octopusdeploy_feed to octopusdeploy_nuget_feed

Assume the following resource:

resource "octopusdeploy_feed" "feed" {
  download_attempts              = 1
  download_retry_backoff_seconds = 30
  feed_uri                       = "https://api.nuget.org/v3/index.json"
  feed_type                      = "NuGet"
  is_enhanced_mode               = true
  password                       = "test-password"
  name                           = "Test NuGet Feed (OK to Delete)"
  username                       = "test-username"
}

The process to migrate from v0.7.* to v0.8.0 requires three (3) steps:

  1. update configuration by replacing the resource (i.e. octopusdeploy_feed) with its replacement (i.e. octopusdeploy_nuget_feed)
  2. import the state to reflect these changes
  3. update configuration to reflect your desired changes

Updating the configuration requires a new and empty resource:

resource "octopusdeploy_nuget_feed" "feed" {
}

Next, import the existing state via the CLI:

$ terraform import octopusdeploy_nuget_feed.feed "Feeds-123"

The address, octopusdeploy_nuget_feed.feed will match the resource in your configuration. The ID field, "Feeds-123" is the ID of the feed in Octopus Deploy.

Finally, you'll need to update the resource to reflect these changes:

resource "octopusdeploy_nuget_feed" "feed" {
  download_attempts              = 1
  download_retry_backoff_seconds = 30
  feed_uri                       = "https://api.nuget.org/v3/index.json"
  is_enhanced_mode               = true
  password                       = "test-password"
  name                           = "Test NuGet Feed (OK to Delete)"
  username                       = "test-username"
}

New Features and Updates

Bug Fixes

Other Work

Don't miss a new terraform-provider-octopusdeploy release

NewReleases is sending notifications on new releases.