Skip to content

Commit

Permalink
Merge pull request #93 from krystal/add-security-groups
Browse files Browse the repository at this point in the history
  • Loading branch information
jimeh authored Mar 9, 2023
2 parents 8d76620 + e29a7ca commit 22a28dc
Show file tree
Hide file tree
Showing 80 changed files with 33,741 additions and 16 deletions.
73 changes: 73 additions & 0 deletions docs/data-sources/security_group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "katapult_security_group Data Source - terraform-provider-katapult"
subcategory: ""
description: |-
Fetch details for a individual security group, including all rules.
---

# katapult_security_group (Data Source)

Fetch details for a individual security group, including all rules.

## Example Usage

```terraform
# Get security group by ID with rules.
data "katapult_security_group" "web" {
id = "sg_O3NQJHXsgan6vO1V"
}
# Get security group by ID without rules.
data "katapult_security_group" "web-plain" {
id = "sg_O3NQJHXsgan6vO1V"
include_rules = false
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

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

### Optional

- `include_rules` (Boolean) Whether to include rules in the output. Defaults to `true`.

### Read-Only

- `allow_all_inbound` (Boolean) Whether or not to allow all inbound traffic. If not explicitly set, it defaults to false, blocking all inbound traffic not covered by a inbound rule. If changed to true on a existing security group, all existing inbound rules will be deleted, hence it cannot be enabled while any inbound rules are defined.
- `allow_all_outbound` (Boolean) Whether or not to allow all outbound traffic. If not explicitly set, it defaults to false, blocking all outbound traffic not covered by a outbound rule. If changed to true on a existing security group, all existing outbound rules will be deleted, hence it cannot be enabled while any outbound rules are defined.
- `associations` (Set of String) The resource IDs to apply this security group to. Accepts IDs of virtual machines, virtual machine groups, and tags.
- `inbound_rules` (List of Object) Zero or more inbound rules to apply to the security group. Each rule specifies inbound traffic which should be allowed. (see [below for nested schema](#nestedatt--inbound_rules))
- `name` (String) The name of the security group.
- `outbound_rules` (List of Object) Zero or more outbound rules to apply to the security group. Each rule specifies outbound traffic which should be allowed. (see [below for nested schema](#nestedatt--outbound_rules))

<a id="nestedatt--inbound_rules"></a>
### Nested Schema for `inbound_rules`

Read-Only:

- `direction` (String)
- `id` (String)
- `notes` (String)
- `ports` (String)
- `protocol` (String)
- `targets` (Set of String)


<a id="nestedatt--outbound_rules"></a>
### Nested Schema for `outbound_rules`

Read-Only:

- `direction` (String)
- `id` (String)
- `notes` (String)
- `ports` (String)
- `protocol` (String)
- `targets` (Set of String)


38 changes: 38 additions & 0 deletions docs/data-sources/security_group_rule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "katapult_security_group_rule Data Source - terraform-provider-katapult"
subcategory: ""
description: |-
Fetch details for a individual security group rule.
---

# katapult_security_group_rule (Data Source)

Fetch details for a individual security group rule.

## Example Usage

```terraform
# Get security group rule by ID.
data "katapult_security_group_rule" "ssh" {
id = "sgr_mGZH7CZ2nQDBr1Hx"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

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

### Read-Only

- `direction` (String) The direction of the rule (`inbound` or `outbound`).
- `notes` (String) Notes for the rule. Used for human reference only.
- `ports` (String) The port, ports, or range of ports to which the rule applies (e.g. `22`, `22,80,443`, or `3000-3999`). If not specified, the rule applies to all ports.
- `protocol` (String) The protocol of the rule (`TCP`, `UDP`, or `ICMP`).
- `security_group_id` (String) The ID of the security group to which the rule applies.
- `targets` (Set of String) The targets to which the rule applies. Can be IP addresses, CIDR blocks, IDs for virtual machines, virtual machine groups, tags, address lists, or `all:ipv4` and `all:ipv6`.


60 changes: 60 additions & 0 deletions docs/data-sources/security_group_rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "katapult_security_group_rules Data Source - terraform-provider-katapult"
subcategory: ""
description: |-
Fetch all rules for a given security group.
---

# katapult_security_group_rules (Data Source)

Fetch all rules for a given security group.

## Example Usage

```terraform
# Get all security group rules for a security group.
data "katapult_security_group_rules" "web" {
security_group_id = "sg_O3NQJHXsgan6vO1V"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `security_group_id` (String) ID of Security Group to fetch rules for.

### Read-Only

- `id` (String) The ID of this resource.
- `inbound_rules` (List of Object) (see [below for nested schema](#nestedatt--inbound_rules))
- `outbound_rules` (List of Object) (see [below for nested schema](#nestedatt--outbound_rules))

<a id="nestedatt--inbound_rules"></a>
### Nested Schema for `inbound_rules`

Read-Only:

- `direction` (String)
- `id` (String)
- `notes` (String)
- `ports` (String)
- `protocol` (String)
- `targets` (Set of String)


<a id="nestedatt--outbound_rules"></a>
### Nested Schema for `outbound_rules`

Read-Only:

- `direction` (String)
- `id` (String)
- `notes` (String)
- `ports` (String)
- `protocol` (String)
- `targets` (Set of String)


71 changes: 71 additions & 0 deletions docs/data-sources/security_groups.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "katapult_security_groups Data Source - terraform-provider-katapult"
subcategory: ""
description: |-
Fetch all security groups in the organization, optionally including all rules for each security group.
---

# katapult_security_groups (Data Source)

Fetch all security groups in the organization, optionally including all rules for each security group.

## Example Usage

```terraform
# Get list of all security groups
data "katapult_security_groups" "all" {}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `include_rules` (Boolean) Whether to include rules in the output. Can be slow if there are a lot of security groups, as eachgroup requires a separate API call to fetch rules. Defaults to `false`.

### Read-Only

- `id` (String) The ID of this resource.
- `security_groups` (List of Object) (see [below for nested schema](#nestedatt--security_groups))

<a id="nestedatt--security_groups"></a>
### Nested Schema for `security_groups`

Read-Only:

- `allow_all_inbound` (Boolean)
- `allow_all_outbound` (Boolean)
- `associations` (Set of String)
- `id` (String)
- `inbound_rules` (List of Object) (see [below for nested schema](#nestedobjatt--security_groups--inbound_rules))
- `include_rules` (Boolean)
- `name` (String)
- `outbound_rules` (List of Object) (see [below for nested schema](#nestedobjatt--security_groups--outbound_rules))

<a id="nestedobjatt--security_groups--inbound_rules"></a>
### Nested Schema for `security_groups.inbound_rules`

Read-Only:

- `direction` (String)
- `id` (String)
- `notes` (String)
- `ports` (String)
- `protocol` (String)
- `targets` (Set of String)


<a id="nestedobjatt--security_groups--outbound_rules"></a>
### Nested Schema for `security_groups.outbound_rules`

Read-Only:

- `direction` (String)
- `id` (String)
- `notes` (String)
- `ports` (String)
- `protocol` (String)
- `targets` (Set of String)


Loading

0 comments on commit 22a28dc

Please sign in to comment.