Coder Social home page Coder Social logo

unleash / terraform-provider-unleash Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 1.0 251 KB

Terraform provider for unleash, the Open-source feature management solution

Home Page: https://www.getunleash.io

License: Apache License 2.0

Makefile 0.09% Go 99.91%
cicd devops devtools feature-flags feature-toggles unleash

terraform-provider-unleash's Introduction

What is Unleash?

Unleash is a powerful open source solution for feature management. It streamlines your development workflow, accelerates software delivery, and empowers teams to control how and when they roll out new features to end users. With Unleash, you can deploy code to production in smaller, more manageable releases at your own pace.

Feature flags in Unleash let you test your code with real production data, reducing the risk of negatively impacting your users' experience. It also enables your team to work on multiple features simultaneously without the need for separate feature branches.

Unleash is the most popular open source solution for feature flagging on GitHub. It supports 15 official client and server SDKs and over 15 community SDKs. You can even create your own SDK if you wish. Unleash is compatible with any language and framework.


Getting Started with Unleash

1. Setting Up Unleash

To get started with Unleash, you need git and docker installed on your machine.

Execute the following commands:

git clone [email protected]:Unleash/unleash.git
cd unleash
docker compose up -d

Then point your browser to localhost:4242 and log in using:

  • username: admin
  • password: unleash4all

If you'd rather run the source code in this repo directly via Node.js, see the step-by-step instructions to get up and running in the contributing guide.

2. Connect your SDK

Find your preferred SDK in our list of official SDKs and import it into your project. Follow the setup guides for your specific SDK.

If you use the docker compose file from the previous step, here's the configuration details you'll need to get going:

  • For front-end SDKs, use:
    • URL: http://localhost:4242/api/frontend/
    • clientKey: default:development.unleash-insecure-frontend-api-token
  • For server-side SDKs, use:
    • Unleash API URL: http://localhost:4242/api/
    • API token: default:development.unleash-insecure-api-token

If you use a different setup, your configuration details will most likely also be different.

Check a feature flag

Checking the state of a feature flag in your code is easy! The syntax will vary depending on your language, but all you need is a simple function call to check whether a flag is available. Here's how it might look in Java:

if (unleash.isEnabled("AwesomeFeature")) {
  // do new, flashy thing
} else {
  // do old, boring stuff
}

Run Unleash on a service?

If you don't want to run Unleash locally, we also provide easy deployment setups for Heroku and Digital Ocean:

Deploy to Heroku Deploy to DigitalOcean

Configure and run Unleash anywhere

The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for getting started with self-managed deployments, Unleash configuration options, or running Unleash locally via docker.


Online demo

Try out the Unleash online demo.

The Unleash online demo


Community and help — sharing is caring

We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help.

Join Unleash on Slack

💬 Join Unleash on Slack if you want ask open questions about Unleash, feature toggling or discuss these topics in general.

💻 Create a GitHub issue if you have found a bug or have ideas on how to improve Unleash.

📚 Visit the documentation for more in-depth descriptions, how-to guides, and more.

📖 Learn more about the principles of building and scaling feature flag solutions.


Contribute to Unleash

Unleash is the largest open source feature flag solution on GitHub. Building Unleash is a collaborative effort, and we owe a lot of gratitude to many smart and talented individuals. Building it together with the community ensures that we build a product that solves real problems for real people. We'd love to have your help too: Please feel free to open issues or provide pull requests.

Check out the CONTRIBUTING.md file for contribution guidelines and the Unleash developer guide for tips on environment setup, running the tests, and running Unleash from source.

Contributors

The Unleash contributors


Features our users love

Flexibility and adaptability

Security and performance

  • Privacy by design (GDPR and Schrems II). End-user data never leaves your application.
  • Audit logs
  • Enforce OWASP's secure headers via the strict HTTPS-only mode
  • Flexible hosting options: host it on premise or in the cloud (any cloud)
  • Scale the Unleash Proxy independently of the Unleash server to support any number of front-end clients without overloading your Unleash instance

Looking for more features?

If you're looking for one of the following features, please take a look at our Pro and Enterprise plans:


Architecture

Read more in the system overview section of the Unleash documentation.


Unleash SDKs

To connect your application to Unleash you'll need to use a client SDK for your programming language.

Official server-side SDKs:

Official front-end SDKs:

The front-end SDKs connects via the Unleash Proxy in order to ensure privacy, scalability and security.

Community SDKs:

If none of the official SDKs fit your need, there's also a number of community-developed SDKs where you might find an implementation for your preferred language (such as Elixir, Dart, Clojure, and more).


Users of Unleash

Unleash is trusted by thousands of companies all over the world.

Proud Open-Source users: (send us a message if you want to add your logo here)

The Unleash logo encircled by logos for Finn.no, nav (the Norwegian Labour and Welfare Administration), Budgets, Otovo, and Amedia. The encircling logos are all connected to the Unleash logo.


Migration guides

Unleash has evolved significantly over the past few years, and we know how hard it can be to keep software up to date. If you're using the current major version, upgrading shouldn't be an issue. If you're on a previous major version, check out the Unleash migration guide!


Want to know more about Unleash?

Videos and podcasts

Articles and more

terraform-provider-unleash's People

Contributors

andreas-unleash avatar dependabot[bot] avatar gastonfournier avatar jonasbak avatar nunogois avatar renovate[bot] avatar sighphyre avatar thomasheartman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jonasbak

terraform-provider-unleash's Issues

Not able to add a project to an api token

Describe the bug

Hello,

We are trying to add another project to an api token, here is what the plan looks like:

  # unleash_api_token.ax_frontend_token will be updated in-place
  ~ resource "unleash_api_token" "ax_frontend_token" {
      ~ project     = "ax-aut-routeco, xxx, xxx, ..." -> (known after apply)
      ~ projects    = [
          + "ax-auth_poc",
            # (15 unchanged elements hidden)
        ]
      ~ secret      = (sensitive value)
        # (4 unchanged attributes hidden)
    }

And we get this error:

╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to unleash_api_token.ax_client_token, provider "provider[\"registry.terraform.io/unleash/unleash\"]" produced an unexpected new value: .projects: planned set element
│ cty.StringVal("ax-auth_poc") does not correlate with any element in actual.
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.
╵

To workaround this, we deleted the API token in the UI to then recreate it using Terraform and got this error:

╷
│ Error: Request cancelled
│
│ The plugin6.(*GRPCProvider).ReadResource request was cancelled.
╵
╷
│ Error: Request cancelled
│
│ The plugin6.(*GRPCProvider).ReadResource request was cancelled.
╵
╷
│ Error: Request cancelled
│
│ The plugin6.(*GRPCProvider).ReadResource request was cancelled.
╵
╷
│ Error: Request cancelled
│
│ The plugin6.(*GRPCProvider).ReadResource request was cancelled.
╵

Stack trace from the terraform-provider-unleash_v1.1.0 plugin:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1408665]

goroutine 127 [running]:
github.com/Unleash/terraform-provider-unleash/internal/provider.(*apiTokenResource).Read(0xc0002a0068, {0x1944038, 0xc000896c60}, {{{{0x19475c0, 0xc000613680}, {0x1737d00, 0xc0006131a0}}, {0x1948700, 0xc000136050}}, 0xc0002a0078, ...}, ...)
	github.com/Unleash/terraform-provider-unleash/internal/provider/api_token_resource.go:215 +0x325
github.com/hashicorp/terraform-plugin-framework/internal/fwserver.(*Server).ReadResource(0xc00021d600, {0x1944038, 0xc000896c60}, 0xc000897020, 0xc0003635f8)
	github.com/hashicorp/[email protected]/internal/fwserver/server_readresource.go:101 +0x60e
github.com/hashicorp/terraform-plugin-framework/internal/proto6server.(*Server).ReadResource(0xc00021d600, {0x1944038?, 0xc000896450?}, 0xc000815000)
	github.com/hashicorp/[email protected]/internal/proto6server/server_readresource.go:55 +0x27b
github.com/hashicorp/terraform-plugin-go/tfprotov6/tf6server.(*server).ReadResource(0xc00023b220, {0x1944038?, 0xc00061bb00?}, 0xc0005ace40)
	github.com/hashicorp/[email protected]/tfprotov6/tf6server/server.go:787 +0x49e
github.com/hashicorp/terraform-plugin-go/tfprotov6/internal/tfplugin6._Provider_ReadResource_Handler({0x17f1200?, 0xc00023b220}, {0x1944038, 0xc00061bb00}, 0xc0001a6150, 0x0)
	github.com/hashicorp/[email protected]/tfprotov6/internal/tfplugin6/tfplugin6_grpc.pb.go:431 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0003201e0, {0x1947778, 0xc000294680}, 0xc0007a0900, 0xc0003f41b0, 0x1de3d68, 0x0)
	google.golang.org/[email protected]/server.go:1358 +0xe13
google.golang.org/grpc.(*Server).handleStream(0xc0003201e0, {0x1947778, 0xc000294680}, 0xc0007a0900, 0x0)
	google.golang.org/[email protected]/server.go:1735 +0xa1b
google.golang.org/grpc.(*Server).serveStreams.func1.1()
	google.golang.org/[email protected]/server.go:970 +0xca
created by google.golang.org/grpc.(*Server).serveStreams.func1
	google.golang.org/[email protected]/server.go:981 +0x15c

Error: The terraform-provider-unleash_v1.1.0 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Removing the api token from the Terraform state solved it, we were able to recreate it.

Steps to reproduce the bug

No response

Expected behavior

We are expecting to be able to add a project to an api token.

Logs, error output, etc.

No response

Screenshots

No response

Additional context

No response

Unleash version

v1.1.0

Subscription type

None

Hosting type

None

SDK information (language and version)

No response

Document resource imports

Describe the feature request

It looks like resources support importing:

resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp)

But this isn't reflected in the docs: https://registry.terraform.io/providers/Unleash/unleash/latest/docs/resources/user

It would be nice to have this available in the docs, so I don't need to check the code to see if it's supported (and so I can see if I can use the user email, or if I should use the user id).

Background

No response

Solution suggestions

No response

Unleash version warning on newest version

Describe the bug

I'm glad to see that the provider is starting to take shape 🙌

When I'm using the newest version:

    unleash = {
      source  = "Unleash/unleash"
      version = "1.0.0"
    }

I'm getting these warnings in my plan and apply output:

Warning: You're not using the latest Unleash version, consider upgrading
You're using version 5.6.4, the latest unleash-server is 5.6.5, while the latest enterprise version is: 5.6.5

Steps to reproduce the bug

  1. Use 1.0.0
  2. Run plan and apply
  3. See output

Expected behavior

I expect the newest version of the provider to not log warnings about outdated versions.

Logs, error output, etc.

Warning: You're not using the latest Unleash version, consider upgrading
You're using version 5.6.4, the latest unleash-server is 5.6.5, while the latest enterprise version is: 5.6.5

Screenshots

No response

Additional context

No response

Unleash version

No response

Subscription type

Enterprise

Hosting type

Hosted by Unleash

SDK information (language and version)

No response

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

docker-compose
docker-compose.yml
  • postgres 16
github-actions
.github/workflows/add-to-project.yml
.github/workflows/release.yml
  • actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-go v5.0.2@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
  • crazy-max/ghaction-import-gpg v6.1.0@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4
  • goreleaser/goreleaser-action v5.1.0@5742e2a039330cbb23ebf35f046f814d4c6ff811
.github/workflows/test.yml
  • actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-go v5.0.2@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
  • golangci/golangci-lint-action v6.0.1@a4f60bb28d35aeee14e6880718e0c85ff1882e64
  • actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-go v5.0.2@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
  • actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
  • actions/setup-go v5.0.2@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
  • hashicorp/setup-terraform v3.1.1@651471c36a6092792c552e8b1bef71e592b462d8
  • docker/login-action v3
gomod
go.mod
  • go 1.18
  • github.com/Masterminds/semver v1.5.0
  • github.com/Unleash/unleash-server-api-go v0.4.0
  • github.com/fatih/structs v1.1.0
  • github.com/hashicorp/terraform-plugin-docs v0.18.0
  • github.com/hashicorp/terraform-plugin-framework v1.4.2
  • github.com/hashicorp/terraform-plugin-go v0.19.0
  • github.com/hashicorp/terraform-plugin-log v0.9.0
  • github.com/hashicorp/terraform-plugin-testing v1.5.1
  • github.com/stretchr/testify v1.9.0

  • Check this box to trigger a request for Renovate to run again on this repository

Support project envrionments for Enterprise instances

Describe the feature request

Each deployment of the application represents a new environment for us

Background

On Enterprise instances of Unleash you can create and name as many environments as you want

We would like to leverage this capacity to create a new environment for each of our customers who have dedicated environments and each might adopt feature or release at different cadences

Solution suggestions

data "unleash_project" "my_project" {
  id = "default"
}

resource "unleash_project_envrionment" "client_env" {
  project_id = data.unleash_project.my_project
  name       = "client 1"
  type       = "production"
}

I haven't use Enterprise for too long so I might be missing some properties very basic here

Password not set for user created by unleash_user resource

Describe the bug

When creating a user using uleash_user resource, the password is not being set and seem to get ignored.

terraform {
  required_providers {
    unleash = {
      source = "Unleash/unleash"
      version = "1.0.0"
    }
  }
}

provider "unleash" {
  base_url      = "http://localhost:4242"
  authorization = "*:*.admin-token"
}


resource "unleash_user" "arun" {
  email      = "[email protected]"
  name       = "Arun"
  username = "arun"
  root_role  = 1
  send_email = false
  password  = "arun123"
}

Steps to reproduce the bug

No response

Expected behavior

The password should be set for the user

Logs, error output, etc.

2023-11-06T19:38:47.610+0530 [INFO]  provider.terraform-provider-unleash_v1.0.0: Enable debug logging true: @caller=github.com/Unleash/terraform-provider-unleash/internal/provider/http_transport.go:26 tf_req_id=9dab6e2b-6cc9-f3c8-88ce-7a0570edec52 tf_resource_type=unleash_user tf_rpc=ApplyResourceChange @module=unleash tf_provider_addr=registry.terraform.io/unleash/unleash timestamp=2023-11-06T19:38:47.609+0530
2023-11-06T19:38:47.610+0530 [DEBUG] provider.terraform-provider-unleash_v1.0.0: Request:
POST /api/admin/user-admin HTTP/1.1
Host: localhost:4242
User-Agent: OpenAPI-Generator/1.0.0/go
Content-Length: 92
Accept: application/json
Authorization: *:*.c35bff34002ab6dd50894020f38d5efce15383c06bceebc37192a6f5
Content-Type: application/json
Accept-Encoding: gzip

{"email":"[email protected]","name":"Arun","rootRole":1,"sendEmail":false,"username":"arun"}
: tf_provider_addr=registry.terraform.io/unleash/unleash @module=unleash tf_req_id=9dab6e2b-6cc9-f3c8-88ce-7a0570edec52 tf_resource_type=unleash_user tf_rpc=ApplyResourceChange @caller=github.com/Unleash/terraform-provider-unleash/internal/provider/http_transport.go:30 timestamp=2023-11-06T19:38:47.610+0530
2023-11-06T19:38:47.709+0530 [DEBUG] provider.terraform-provider-unleash_v1.0.0: Finished creating user data source: @caller=github.com/Unleash/terraform-provider-unleash/internal/provider/user_resource.go:165 @module=unleash tf_req_id=9dab6e2b-6cc9-f3c8-88ce-7a0570edec52 success=true tf_provider_addr=registry.terraform.io/unleash/unleash tf_resource_type=unleash_user tf_rpc=ApplyResourceChange timestamp=2023-11-06T19:38:47.708+0530

Screenshots

No response

Additional context

No response

Unleash version

5.6.4

Subscription type

Open source

Hosting type

Self-hosted

SDK information (language and version)

No response

Allow setting auth token with an env variable prefixed with UNLEASH_

Describe the feature request

I see that it is possible to provide the auth token using an environment variable called AUTH_TOKEN:

authorization := configValue(config.Authorization, "AUTH_TOKEN")

I would really prefer if this was prefixed with UNLEASH_, as we use a lot of providers, and AUTH_TOKEN is very generic.
I know I could use a variable, but I prefer using env variables.

It would also be nice to have this feature documented: https://registry.terraform.io/providers/Unleash/unleash/latest/docs

Background

No response

Solution suggestions

No response

feat: Resources for groups and memberships

Describe the feature request

I would like to be able to create and manage unleash groups and group memberships using terraform.

Background

Today we assign users to projects directly using unleash_project_access, but we're currently reworking the way we assign permissions/access to different systems.
We would like to be able to create a group for each team in the workspace where we manage teams (across different systems), and then look up that team from the workspace where we set up "projects" (across different systems) and grant that team access to the unleash projects they "own".
We're currently not able to achieve this, as there aren't resources to manage groups in unleash.

A workaround would be to output team-members from the "teams workspace" and read that from the "projects workspace", and assign users directly to each project, but I'd prefer to keep the way we manage access similar across the different services we use.

Solution suggestions

Implement unleash_group resource and data source. Membership could either be managed directly on the unleash_group resource, or using a separate resource. My preference would be using a separate resource, and that seems common among other providers as well.

I could look into implementing this myself, but it seems like the unleash-server-api-go library doesn't support groups api.

Add OIDC Support for Unleash Enterprise Instances

Describe the feature request

Looks like the current Unleash provider for Terraform does not support authentication with Unleash Enterprise instances that are configured to use OpenID Connect (OIDC). This limits the ability to manage Unleash resources via Terraform for organizations that have implemented OIDC authentication for their Unleash instances.

Implementation Suggestions

  • Add OIDC-specific configuration options to the provider (e.g., client ID, client secret, token URL)
  • Implement the OIDC authentication flow to obtain access tokens
  • Use the obtained access token for subsequent API calls to Unleash

Potential Challenges

  • Handling token refresh
  • Securely managing OIDC credentials in Terraform configurations

Background

No response

Solution suggestions

Implement OIDC authentication support in the Unleash provider. This would allow users to authenticate with their Unleash Enterprise instances using OIDC credentials instead of relying solely on API tokens.

Diff in unleash_project_access roles after apply

Describe the bug

Using something that looks like this:

locals {
  projects = {
    "project-a" = [], // List of user emails
    "project-b" = [], // List of user emails
    // ...
  }
  unleash_projects = ["project-a", "project-b"]
  unleash_service_account_admin_user_id = 123
}

// ...

resource "unleash_project_access" "default" {
  for_each = toset(local.unleash_projects)
  project  = data.unleash_project.default[each.key].id
  roles = [
    {
      role   = unleash_role.default_user_role.id
      users  = [for user in local.projects[each.key] : unleash_user.default[user].id]
      groups = []
    },
    {
      role   = data.unleash_role.owner.id
      users  = [local.unleash_service_account_admin_user_id]
      groups = []
    },
  ]
}

When running a plan just after this resource is created, the plan shows that there has been drift in the configuration (that the order of the user ids in the users field has changed, probably because the api returns them in another order than they are listed in), and that it needs 1 change even though the configuration hasn't changed. The list before and after contain the same ids, just in a different order.

Steps to reproduce the bug

  1. Create a unleash_project_access with a bunch of users
  2. Apply it
  3. Run a new plan

Expected behavior

I would expect the resource to show no diff after I just applied the configuration, and that the provider would handle differences in the order of ids itself.

Logs, error output, etc.

# unleash_project_access.default["project-a"] will be updated in-place
  ~ resource "unleash_project_access" "default" {
      ~ roles   = [
          ~ {
              ~ users  = [
                  - 32,
                    7,
                  + 3,
                  + 34,
                    14,
                    29,
                  - 26,
                  + 32,
                    33,
                  - 34,
                    5,
                  - 3,
                  + 26,
                ]
                # (2 unchanged attributes hidden)
            },
            # (1 unchanged element hidden)
        ]
        # (1 unchanged attribute hidden)
    }

Screenshots

No response

Additional context

No response

Unleash version

5.7.0

Subscription type

Enterprise

Hosting type

Hosted by Unleash

SDK information (language and version)

terraform-provider-unleash v1.0.3

Resources for service accounts and service account tokens

Describe the feature request

I would like to be able to manage service accounts and tokens with terraform.

Background

We manage a lot of stuff for a lot of teams through terraform, and we would like to automatically set up service accounts for different teams with terraform, and grant them permissions to the appropriate projects.

These would be used in each team's terraform workspaces, so they for example would be able to create client tokens through terraform and automatically inject them into where they are needed. This way we don't need to manually copy-paste tokens around and manually manage them.

I could look into implementing the resources myself, but I couldn't find support for it in the client library.

Solution suggestions

Add unleash_service_account and unleash_service_account_token resources.

Resource for feature flags

Describe the feature request

I would like to be able to manage feature flags through terraform.

Background

The use case for this is that if we're able to do what's described in #125, it would be nice for teams to have the option to define feature flags using terraform.

I see this in the README.md:

Because feature flags should be short-lived, we do not support managing feature flags through Terraform. Feature flags should be managed directly in Unleash.

But I also see that the expected lifetime of some of the toggle types is up to 40 days, and some are permanent. I think these types would be nice to manage through terraform. We do a lot of frequent changes through terraform, and I would think that for us even the types with an expected lifetime of 7 days would be appropriate to manage with terraform.

I also see in the README.md:

If you're interested in using Terraform to manage feature flags, you can use philips-labs/unleash provider that supports managing feature flags.

We could use that provider, but I think it would be better to use the official provider, and not mix both (we already use features only available in the official provider).

Solution suggestions

Implement resources to manage feature flags.

Apply crashes on unleash_user when attempting to change value of send_email after import

Describe the bug

I imported some users that were created manually. The resource definition looks like this:

resource "unleash_user" "default" {
  for_each   = local.unleash_users
  email      = each.key
  name       = data.azuread_user.default[each.key].display_name
  root_role  = contains(local.unleash_users_admins, each.key) ? data.unleash_role.admin.id : data.unleash_role.viewer.id
  send_email = false
}

The next time I ran apply, it wanted to add the send_email field, as it was not set in the state. When running apply, I got the following error:

Error: Provider produced inconsistent result after apply
When applying changes to unleash_user.default["<USER_EMAIL>"], provider "provider["registry.terraform.io/unleash/unleash"]" produced an unexpected new value: .send_email: was cty.False, but now null.
This is a bug in the provider, which should be reported in the provider's own issue tracker.

Steps to reproduce the bug

  1. Define a unleash_user resource block that sets send_email
  2. Import an existing user
  3. Run apply

Expected behavior

I don't expect the change in the send_email to actually do anything, as the user is already created, but I would expect the state to be updated and for the apply to not error.

Logs, error output, etc.

Error: Provider produced inconsistent result after apply
When applying changes to unleash_user.default["<USER_EMAIL>"], provider "provider[\"registry.terraform.io/unleash/unleash\"]" produced an unexpected new value: .send_email: was cty.False, but now null.
This is a bug in the provider, which should be reported in the provider's own issue tracker.

Screenshots

No response

Additional context

Workaround is to just ignore the changes to the field using:

  lifecycle {
    ignore_changes = [
      send_email,
    ]
  }

Unleash version

No response

Subscription type

None

Hosting type

None

SDK information (language and version)

terraform-provider-unleash v1.0.3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.