Skip to content

Commit

Permalink
Merge pull request #13 from ngrok/staging
Browse files Browse the repository at this point in the history
cut new release for terraform-provider-ngrok
  • Loading branch information
dje authored Jun 18, 2021
2 parents a194aeb + 7623b7f commit c6e0cc4
Show file tree
Hide file tree
Showing 56 changed files with 3,899 additions and 3,497 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 0.1.1 (June 17, 2021)

FIXED:

* Correctly handle referenced resources by id.

## 0.1.0 (June 1, 2021)

ENHANCEMENTS:
Expand Down
15 changes: 11 additions & 4 deletions docs/resources/api_key.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@
page_title: "ngrok_api_key Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
API Keys are used to authenticate to the ngrok
API https://ngrok.com/docs/api#authentication. You may use the API itself
to provision and manage API Keys but you'll need to provision your first API
key from the API Keys page https://dashboard.ngrok.com/api/keys on your
ngrok.com dashboard.
---

# ngrok_api_key (Resource)


API Keys are used to authenticate to the [ngrok
API](https://ngrok.com/docs/api#authentication). You may use the API itself
to provision and manage API Keys but you'll need to provision your first API
key from the [API Keys page](https://dashboard.ngrok.com/api/keys) on your
ngrok.com dashboard.

## Example Usage

Expand All @@ -26,9 +34,8 @@ resource "ngrok_api_key" "example" {

- **created_at** (String) timestamp when the api key was created, RFC 3339 format
- **description** (String) human-readable description of what uses the API key to authenticate. optional, max 255 bytes.
- **id** (String) The ID of this resource.
- **id** (String) unique API key resource identifier
- **metadata** (String) arbitrary user-defined data of this API key. optional, max 4096 bytes
- **ngrok_id** (String) unique API key resource identifier
- **token** (String, Sensitive) the bearer token that can be placed into the Authorization header to authenticate request to the ngrok API. **This value is only available one time, on the API response from key creation. Otherwise it is null.**
- **uri** (String) URI to the API resource of this API key

Expand Down
15 changes: 11 additions & 4 deletions docs/resources/certificate_authority.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@
page_title: "ngrok_certificate_authority Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
Certificate Authorities are x509 certificates that are used to sign other
x509 certificates. Attach a Certificate Authority to the Mutual TLS module
to verify that the TLS certificate presented by a client has been signed by
this CA. Certificate Authorities are used only for mTLS validation only and
thus a private key is not included in the resource.
---

# ngrok_certificate_authority (Resource)


Certificate Authorities are x509 certificates that are used to sign other
x509 certificates. Attach a Certificate Authority to the Mutual TLS module
to verify that the TLS certificate presented by a client has been signed by
this CA. Certificate Authorities are used only for mTLS validation only and
thus a private key is not included in the resource.

## Example Usage

Expand All @@ -29,10 +37,9 @@ resource "ngrok_certificate_authority" "example" {
- **created_at** (String) timestamp when the Certificate Authority was created, RFC 3339 format
- **description** (String) human-readable description of this Certificate Authority. optional, max 255 bytes.
- **extended_key_usages** (List of String) extended set of actions the private key of this Certificate Authority can be used for
- **id** (String) The ID of this resource.
- **id** (String) unique identifier for this Certificate Authority
- **key_usages** (List of String) set of actions the private key of this Certificate Authority can be used for
- **metadata** (String) arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes.
- **ngrok_id** (String) unique identifier for this Certificate Authority
- **not_after** (String) timestamp when this Certificate Authority becomes invalid, RFC 3339 format
- **not_before** (String) timestamp when this Certificate Authority becomes valid, RFC 3339 format
- **subject_common_name** (String) subject common name of the Certificate Authority
Expand Down
13 changes: 9 additions & 4 deletions docs/resources/credential.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,18 @@
page_title: "ngrok_credential Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok
agent to connect the ngrok service as your account. They are installed with
the ngrok authtoken command or by specifying it in the ngrok.yml
configuration file with the authtoken property.
---

# ngrok_credential (Resource)


Tunnel Credentials are ngrok agent authtokens. They authorize the ngrok
agent to connect the ngrok service as your account. They are installed with
the `ngrok authtoken` command or by specifying it in the `ngrok.yml`
configuration file with the `authtoken` property.

## Example Usage

Expand All @@ -25,13 +31,12 @@ resource "ngrok_credential" "example" {

- **acl** (List of String) optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains and addresses the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions.
- **description** (String) human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes.
- **id** (String) The ID of this resource.
- **metadata** (String) arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes.

### Read-Only

- **created_at** (String) timestamp when the tunnel credential was created, RFC 3339 format
- **ngrok_id** (String) unique tunnel credential resource identifier
- **id** (String) unique tunnel credential resource identifier
- **token** (String, Sensitive) the credential's authtoken that can be used to authenticate an ngrok client. **This value is only available one time, on the API response from credential creation, otherwise it is null.**
- **uri** (String) URI of the tunnel credential API resource

Expand Down
27 changes: 11 additions & 16 deletions docs/resources/endpoint_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,16 @@
page_title: "ngrok_endpoint_configuration Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
Endpoint Configuration management
An Endpoint Configuration https://ngrok.com/docs/ngrok-link#api-endpoint-configurations describes
a ngrok network endpoint instance.
Endpoints are your gateway to ngrok features!
Endpoint Configurations are a reusable group of modules that encapsulate how
traffic to a domain or address is handled. Endpoint configurations are only
applied to Domains and TCP Addresses they have been attached to.
---

# ngrok_endpoint_configuration (Resource)

## Endpoint Configuration management

An [Endpoint Configuration](https://ngrok.com/docs/ngrok-link#api-endpoint-configurations) describes
a ngrok network endpoint instance.

_Endpoints are your gateway to ngrok features!_
Endpoint Configurations are a reusable group of modules that encapsulate how
traffic to a domain or address is handled. Endpoint configurations are only
applied to Domains and TCP Addresses they have been attached to.

## Example Usage

Expand Down Expand Up @@ -44,12 +40,11 @@ resource "ngrok_endpoint_configuration" "example" {
- **compression** (Block Set) compression module configuration or `null` (see [below for nested schema](#nestedblock--compression))
- **created_at** (String) timestamp when the endpoint configuration was created, RFC 3339 format
- **description** (String) human-readable description of what this endpoint configuration will be do when applied or what traffic it will be applied to. Optional, max 255 bytes
- **id** (String) The ID of this resource.
- **id** (String) unique identifier of this endpoint configuration
- **ip_policy** (Block Set) ip policy module configuration or `null` (see [below for nested schema](#nestedblock--ip_policy))
- **logging** (Block Set) logging module configuration or `null` (see [below for nested schema](#nestedblock--logging))
- **metadata** (String) arbitrary user-defined machine-readable data of this endpoint configuration. Optional, max 4096 bytes.
- **mutual_tls** (Block Set) mutual TLS module configuration or `null` (see [below for nested schema](#nestedblock--mutual_tls))
- **ngrok_id** (String) unique identifier of this endpoint configuration
- **oauth** (Block Set) oauth module configuration or `null` (see [below for nested schema](#nestedblock--oauth))
- **oidc** (Block Set) oidc module configuration or `null` (see [below for nested schema](#nestedblock--oidc))
- **request_headers** (Block Set) request headers module configuration or `null` (see [below for nested schema](#nestedblock--request_headers))
Expand All @@ -73,7 +68,7 @@ Optional:

Optional:

- **ngrok_id** (String) a resource identifier
- **id** (String) a resource identifier
- **uri** (String) a uri for locating a resource


Expand Down Expand Up @@ -123,7 +118,7 @@ Optional:

Optional:

- **ngrok_id** (String) a resource identifier
- **id** (String) a resource identifier
- **uri** (String) a uri for locating a resource


Expand All @@ -141,7 +136,7 @@ Optional:

Optional:

- **ngrok_id** (String) a resource identifier
- **id** (String) a resource identifier
- **uri** (String) a uri for locating a resource


Expand All @@ -159,7 +154,7 @@ Optional:

Optional:

- **ngrok_id** (String) a resource identifier
- **id** (String) a resource identifier
- **uri** (String) a uri for locating a resource


Expand Down
3 changes: 1 addition & 2 deletions docs/resources/event_destination.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ resource "ngrok_event_destination" "example" {

- **description** (String) Human-readable description of the Event Destination. Optional, max 255 bytes.
- **format** (String) The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`.
- **id** (String) The ID of this resource.
- **metadata** (String) Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes.
- **target** (Block Set) An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. (see [below for nested schema](#nestedblock--target))
- **uri** (String) URI of the Event Destination API resource.
Expand All @@ -46,7 +45,7 @@ resource "ngrok_event_destination" "example" {
### Read-Only

- **created_at** (String) Timestamp when the Event Destination was created, RFC 3339 format.
- **ngrok_id** (String) Unique identifier for this Event Destination.
- **id** (String) Unique identifier for this Event Destination.

<a id="nestedblock--target"></a>
### Nested Schema for `target`
Expand Down
3 changes: 1 addition & 2 deletions docs/resources/event_stream.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,13 @@ resource "ngrok_event_stream" "example" {
- **destination_ids** (List of String) A list of Event Destination IDs which should be used for this Event Stream. Event Streams are required to have at least one Event Destination.
- **event_type** (String) The protocol that determines which events will be collected. Supported values are `tcp_connection_closed` and `http_request_complete`.
- **fields** (List of String) A list of protocol-specific fields you want to collect on each event.
- **id** (String) The ID of this resource.
- **metadata** (String) Arbitrary user-defined machine-readable data of this Event Stream. Optional, max 4096 bytes.
- **sampling_rate** (Number) The percentage of all events you would like to capture. Valid values range from 0.01, representing 1% of all events to 1.00, representing 100% of all events.
- **uri** (String) URI of the Event Stream API resource.

### Read-Only

- **created_at** (String) Timestamp when the Event Stream was created, RFC 3339 format.
- **ngrok_id** (String) Unique identifier for this Event Stream.
- **id** (String) Unique identifier for this Event Stream.


13 changes: 9 additions & 4 deletions docs/resources/ip_policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,18 @@
page_title: "ngrok_ip_policy Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
IP Policies are reusable groups of CIDR ranges with an allow or deny
action. They can be attached to endpoints via the Endpoint Configuration IP
Policy module. They can also be used with IP Restrictions to control source
IP ranges that can start tunnel sessions and connect to the API and dashboard.
---

# ngrok_ip_policy (Resource)


IP Policies are reusable groups of CIDR ranges with an `allow` or `deny`
action. They can be attached to endpoints via the Endpoint Configuration IP
Policy module. They can also be used with IP Restrictions to control source
IP ranges that can start tunnel sessions and connect to the API and dashboard.

## Example Usage

Expand All @@ -26,13 +32,12 @@ resource "ngrok_ip_policy" "example" {

- **action** (String) the IP policy action. Supported values are `allow` or `deny`
- **description** (String) human-readable description of the source IPs of this IP policy. optional, max 255 bytes.
- **id** (String) The ID of this resource.
- **metadata** (String) arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes.
- **uri** (String) URI of the IP Policy API resource

### Read-Only

- **created_at** (String) timestamp when the IP policy was created, RFC 3339 format
- **ngrok_id** (String) unique identifier for this IP policy
- **id** (String) unique identifier for this IP policy


18 changes: 5 additions & 13 deletions docs/resources/ip_policy_rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
page_title: "ngrok_ip_policy_rule Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
IP Policy Rules are the IPv4 or IPv6 CIDRs entries that
make up an IP Policy.
---

# ngrok_ip_policy_rule (Resource)


IP Policy Rules are the IPv4 or IPv6 CIDRs entries that
make up an IP Policy.

## Example Usage

Expand All @@ -32,18 +34,8 @@ resource "ngrok_ip_policy_rule" "example" {
- **cidr** (String) an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.
- **created_at** (String) timestamp when the IP policy rule was created, RFC 3339 format
- **description** (String) human-readable description of the source IPs of this IP rule. optional, max 255 bytes.
- **id** (String) The ID of this resource.
- **ip_policy** (Block Set) object describing the IP policy this IP Policy Rule belongs to (see [below for nested schema](#nestedblock--ip_policy))
- **id** (String) unique identifier for this IP policy rule
- **metadata** (String) arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.
- **ngrok_id** (String) unique identifier for this IP policy rule
- **uri** (String) URI of the IP policy rule API resource

<a id="nestedblock--ip_policy"></a>
### Nested Schema for `ip_policy`

Optional:

- **ngrok_id** (String) a resource identifier
- **uri** (String) a uri for locating a resource


17 changes: 13 additions & 4 deletions docs/resources/ip_restriction.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,22 @@
page_title: "ngrok_ip_restriction Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
An IP restriction is a restriction placed on the CIDRs that are allowed to
initate traffic to a specific aspect of your ngrok account. An IP
restriction has a type which defines the ingress it applies to. IP
restrictions can be used to enforce the source IPs that can make API
requests, log in to the dashboard, start ngrok agents, and connect to your
public-facing endpoints.
---

# ngrok_ip_restriction (Resource)


An IP restriction is a restriction placed on the CIDRs that are allowed to
initate traffic to a specific aspect of your ngrok account. An IP
restriction has a type which defines the ingress it applies to. IP
restrictions can be used to enforce the source IPs that can make API
requests, log in to the dashboard, start ngrok agents, and connect to your
public-facing endpoints.

## Example Usage

Expand All @@ -31,9 +41,8 @@ resource "ngrok_ip_restriction" "example" {
- **created_at** (String) timestamp when the IP restriction was created, RFC 3339 format
- **description** (String) human-readable description of this IP restriction. optional, max 255 bytes.
- **enforced** (Boolean) true if the IP restriction will be enforce. if false, only warnings will be issued
- **id** (String) The ID of this resource.
- **id** (String) unique identifier for this IP restriction
- **metadata** (String) arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
- **ngrok_id** (String) unique identifier for this IP restriction
- **type** (String) the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints`
- **uri** (String) URI of the IP restriction API resource

Expand Down
9 changes: 5 additions & 4 deletions docs/resources/ip_whitelist_entry.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
page_title: "ngrok_ip_whitelist_entry Resource - terraform-provider-ngrok"
subcategory: ""
description: |-
The IP Whitelist is deprecated and will be removed. Use an IP Restriction
with an endpoints type instead.
---

# ngrok_ip_whitelist_entry (Resource)


The IP Whitelist is deprecated and will be removed. Use an IP Restriction
with an `endpoints` type instead.

## Example Usage

Expand All @@ -26,10 +28,9 @@ resource "ngrok_ip_whitelist_entry" "example" {

- **created_at** (String) timestamp when the IP whitelist entry was created, RFC 3339 format
- **description** (String) human-readable description of the source IPs for this IP whitelist entry. optional, max 255 bytes.
- **id** (String) The ID of this resource.
- **id** (String) unique identifier for this IP whitelist entry
- **ip_net** (String) an IP address or IP network range in CIDR notation (e.g. 10.1.1.1 or 10.1.0.0/16) of addresses that will be whitelisted to communicate with your tunnel endpoints
- **metadata** (String) arbitrary user-defined machine-readable data of this IP whitelist entry. optional, max 4096 bytes.
- **ngrok_id** (String) unique identifier for this IP whitelist entry
- **uri** (String) URI of the IP whitelist entry API resource


Loading

0 comments on commit c6e0cc4

Please sign in to comment.