(manage-charms)= # How to manage charms (deploy-a-charm)= ## Deploy a charm ```{important} The Terraform Provider for Juju does not support deploying a local charm. ``` To deploy a Charmhub charm, in your Terraform plan add a `juju_application` resource, specifying the target model and the charm: ```terraform resource "juju_application" "this" { model = juju_model.development.name charm { name = "hello-kubecon" } } ``` > See more: [`juju_application` (resource)](https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application#schema) (update-a-charm)= ## Update a charm To update a charm, in the application's resource definition, in the charm attribute, use a sub-attribute specifying a different revision or channel. For example: ```terraform resource "juju_application" "this" { model = juju_model.development.name charm { name = "hello-kubecon" revision = 19 } } ``` > See more: [`juju_application` > `charm` > nested schema ](https://registry.terraform.io/providers/juju/juju/latest/docs/resources/application#nested-schema-for-charm) ## Remove a charm As a charm is just the *means* by which (an) application(s) are deployed, there is no way to remove the *charm* / *bundle*. What you *can* do, however, is remove the *application* / *model*. > See more: {ref}`remove-an-application`, {ref}`destroy-a-model`
> **Contributors:** @aflynn, @hmlanigan, @tmihoc