# juju_offer (Resource)

A resource that represent a Juju Offer.

## Example Usage

```terraform
resource "juju_offer" "myoffer" {
  model_uuid       = juju_model.development.uuid
  application_name = juju_application.percona-cluster.name
  endpoints        = ["server"]
}

// an offer can then be used in an cross model integration as below:
resource "juju_integration" "myintegration" {
  model_uuid = juju_model.development-destination.name

  application {
    name     = juju_application.wordpress.name
    endpoint = "db"
  }
  application {
    offer_url = juju_offer.myoffer.url
  }
}
```

<!-- schema generated by tfplugindocs -->

## Schema

### Required

- `application_name` (String) The name of the application. Changing this value will cause the offer to be destroyed and recreated by terraform.
- `endpoints` (Set of String) The endpoint names. Changing this value will cause the offer to be destroyed and recreated by terraform.
- `model_uuid` (String) The UUID of the model to operate in. Changing this value will cause the offer to be destroyed and recreated by terraform.

### Optional

- `allow_force_destroy` (Boolean) Allows the offer to be force-destroyed if it has active connections. Force destroy may not actually be used if not necessary.
- `name` (String) The name of the offer. Changing this value will cause the offer to be destroyed and recreated by terraform.
- `timeouts` (Block, Optional) (see [below for nested schema]())

### Read-Only

- `id` (String) The ID of this resource.
- `url` (String) The offer URL.

<a id="nestedblock--timeouts"></a>

### Nested Schema for `timeouts`

Optional:

- `create` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
- `delete` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

## Import

Import is supported using the following syntax:

The [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import) can be used, for example:

```shell
# Offers can be imported by using the URL as in the juju show-offers output.
# Example:
# $juju show-offer mysql
# Store            URL             Access  Description                                    Endpoint  Interface  Role
# mycontroller     admin/db.mysql  admin   MariaDB Server is one of the most ...          mysql     mysql      provider
$ terraform import juju_offer.db admin/db.mysql
```
