Skip to content

Commit

Permalink
Add device bgp and bfd resources and data sources (#213)
Browse files Browse the repository at this point in the history
  • Loading branch information
mmaciejc authored Jan 8, 2025
1 parent fa07819 commit df94fda
Show file tree
Hide file tree
Showing 191 changed files with 11,909 additions and 317 deletions.
41 changes: 41 additions & 0 deletions docs/data-sources/bfd_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "fmc_bfd_template Data Source - terraform-provider-fmc"
subcategory: "Objects"
description: |-
This data source can read the BFD Template.
---

# fmc_bfd_template (Data Source)

This data source can read the BFD Template.

## Example Usage

```terraform
data "fmc_bfd_template" "example" {
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
}
```

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

### Optional

- `domain` (String) The name of the FMC domain
- `id` (String) The id of the object
- `name` (String) The name of the bfd template object.

### Read-Only

- `authentication_key_id` (Number) Authentication Key ID
- `authentication_password` (String) Password for BFD Authentication (1-24 characters)
- `authentication_type` (String) Authentication types
- `echo` (String) Enables/disables BFD echo.
- `hop_type` (String) The hop type.
- `interval_time` (String) Interval unit of measurement of time.
- `min_receive` (Number) BFD Minimum Receive unit value in ranges: 50-999 miliseconds, 50000-999000 microseconds
- `min_transmit` (Number) BFD Minimum Transmit unit value.
- `tx_rx_multiplier` (Number) BFD Multipler value.
- `type` (String) Type of the object; this value is always 'BFDTemplate'.
43 changes: 43 additions & 0 deletions docs/data-sources/device_bfd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "fmc_device_bfd Data Source - terraform-provider-fmc"
subcategory: "Device"
description: |-
This data source can read the Device BFD.
---

# fmc_device_bfd (Data Source)

This data source can read the Device BFD.

## Example Usage

```terraform
data "fmc_device_bfd" "example" {
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
device_id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
}
```

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

### Required

- `device_id` (String) UUID of the parent device (fmc_device.example.id).

### Optional

- `domain` (String) The name of the FMC domain
- `id` (String) The id of the object
- `interface_logical_name` (String) Logical Name of the interface of BFD assignment if SINGLE_HOP selected.

### Read-Only

- `bfd_template_id` (String) ID of the BFD Template
- `destination_host_object_id` (String) The ID of the destination host object if MULTI_HOP selected.
- `hop_type` (String) BFD Hop type.
- `interface_id` (String) ID of the interface of BFD assignment if SINGLE_HOP selected.
- `slow_timer` (Number) BFD Slow Timer value in range: 1000-30000, default: 1000
- `source_host_object_id` (String) The ID of the source host object if MULTI_HOP selected.
- `type` (String) Type of the object; this value is always 'BFDPolicy'
193 changes: 193 additions & 0 deletions docs/data-sources/device_bgp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "fmc_device_bgp Data Source - terraform-provider-fmc"
subcategory: "Devices"
description: |-
This data source can read the Device BGP.
---

# fmc_device_bgp (Data Source)

This data source can read the Device BGP.

## Example Usage

```terraform
data "fmc_device_bgp" "example" {
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
device_id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
}
```

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

### Required

- `device_id` (String) UUID of the parent device (fmc_device.example.id).

### Optional

- `as_number` (String) Autonomus System (AS) Number
- `domain` (String) The name of the FMC domain
- `id` (String) The id of the object

### Read-Only

- `ipv4_address_family_type` (String)
- `ipv4_aggregate_addresses` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_aggregate_addresses))
- `ipv4_auto_aummary` (Boolean) Summarize subnet routes into network level routes
- `ipv4_bgp_redistribute_internal` (Boolean) Redistribute IBGP into IGP. (Use filtering to limit the number of prefixes that are redistributed)
- `ipv4_bgp_supress_inactive` (Boolean) Suppresing advertise inactive routes
- `ipv4_default_information_orginate` (Boolean) Generate default routes
- `ipv4_external_distance` (Number) Administrative route distance for external routes
- `ipv4_filterings` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_filterings))
- `ipv4_forward_packets_over_multipath_ebgp` (Number) Number of paths to use for EBGP
- `ipv4_forward_packets_over_multipath_ibgp` (Number) Number of paths to use for IBGP
- `ipv4_internal_distance` (Number) Administrative route distance for internal routes
- `ipv4_learned_route_map_id` (String) Learned Route Map ID
- `ipv4_local_distance` (Number) Administrative route distance for local routes
- `ipv4_neighbors` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_neighbors))
- `ipv4_networks` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_networks))
- `ipv4_redistributions` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_redistributions))
- `ipv4_route_injections` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_route_injections))
- `ipv4_synchronization` (Boolean) Synchronize between BGP and IGP systems
- `name` (String) Name of the object; this is always 'bgp'
- `type` (String) Type of the object; this is always 'bgp'

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

Read-Only:

- `advertise_map_id` (String) Advertise Map ID
- `attribute_map_id` (String) Attribute Map ID
- `filter` (Boolean) Filter all routes from updates (summary only)
- `generate_as` (Boolean) Generate AS set path information
- `network_id` (String) Network ID
- `suppress_map_id` (String) Suppress Map ID


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

Read-Only:

- `access_list_id` (String) Standard Access List ID
- `network_direction` (String) Filtering directrion
- `prorocol_process` (String) Process ID
- `protocol` (String) Protocol


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

Read-Only:

- `enable_address_family` (Boolean) Enable IPv4 address family
- `neighbor_address` (String) IP address of the BGP neighbor
- `neighbor_authentication_password` (String) Setting password enables authentication.
- `neighbor_bfd` (String) BFD Fallover
- `neighbor_customized_accept_both_as` (Boolean) Accept either real AS number or local AS number in routes experienced from neighbor
- `neighbor_customized_local_as_number` (String) Customize the AS number for the routes received from neighbor
- `neighbor_customized_no_prepend` (Boolean) Do not prepend local AS number to routes received from neighbor
- `neighbor_customized_replace_as` (Boolean) Replace real AS number with local AS number in routes received from neighbor
- `neighbor_description` (String) Description of the neighbor
- `neighbor_disable_connection_verification` (Boolean) Disable Connection Verification
- `neighbor_filter_access_lists` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_neighbors--neighbor_filter_access_lists))
- `neighbor_filter_as_path_lists` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_neighbors--neighbor_filter_as_path_lists))
- `neighbor_filter_max_prefix` (Number) Maximum number of prefixes allowed from the neighbor
- `neighbor_filter_prefix_lists` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_neighbors--neighbor_filter_prefix_lists))
- `neighbor_filter_restart_interval` (Number) Time interval to restart the maximum prefix limit in Minutes
- `neighbor_filter_route_map_lists` (Attributes List) (see [below for nested schema](#nestedatt--ipv4_neighbors--neighbor_filter_route_map_lists))
- `neighbor_filter_threshold_value` (Number) Threshold value for the maximum number of prefixes allowed from the neighbor
- `neighbor_filter_warning_only` (Boolean) Give only warning message when prefix limit exceeded or terminate peering when prefix limit is exceeded.
- `neighbor_generate_default_route_map_id` (String) Generate default routes - Route Map
- `neighbor_hold_time` (Number) Time interval to hold the neighbor in seconds
- `neighbor_keepalive_interval` (Number) Time interval to send keepalive messages in seconds
- `neighbor_max_hop_count` (Number) Maximum number of hops to reach the neighbor
- `neighbor_min_hold_time` (Number) Minimum hold time in seconds
- `neighbor_nexthop_self` (Boolean) Use itself as next hop for this neighbor
- `neighbor_remote_as` (String) AS number of the BGP neighbor
- `neighbor_routes_advertise_exist_nonexist_map_id` (String) Specified route maps are advertised when the prefix exists only in the Advertise Map.
- `neighbor_routes_advertise_map_id` (String) Specified route maps are advertised when the prefix exists in the Advertise Map and Exist Map.
- `neighbor_routes_advertise_map_use_exist` (Boolean) Use Exist Map or Non-Exist Map
- `neighbor_routes_advertisement_interval` (Number) Time interval to advertise routes in seconds
- `neighbor_routes_remove_private_as` (Boolean) Remove private AS numbers from outgoing routing updates
- `neighbor_send_community_attribute` (Boolean) Send Community attribute to this neighbor
- `neighbor_shutdown` (Boolean) Shutdown administratively
- `neighbor_tcp_mtu_path_discovery` (Boolean) Use TCP path MTU discovery.
- `neighbor_tcp_transport_mode` (Boolean) True set it to active, False to passive.
- `neighbor_version` (String) Set BPG version: 0 - default, 4 - IPv4
- `neighbor_weight` (Number) Weight of the neighbor
- `update_source_interface_id` (String) Interface ID for the update source

<a id="nestedatt--ipv4_neighbors--neighbor_filter_access_lists"></a>
### Nested Schema for `ipv4_neighbors.neighbor_filter_access_lists`

Read-Only:

- `access_list_id` (String) Access List ID
- `update_direction` (String) Filter direction


<a id="nestedatt--ipv4_neighbors--neighbor_filter_as_path_lists"></a>
### Nested Schema for `ipv4_neighbors.neighbor_filter_as_path_lists`

Read-Only:

- `as_path_id` (String) AS Path ID
- `update_direction` (String) Filter direction


<a id="nestedatt--ipv4_neighbors--neighbor_filter_prefix_lists"></a>
### Nested Schema for `ipv4_neighbors.neighbor_filter_prefix_lists`

Read-Only:

- `prefix_list_id` (String) Route Map ID
- `update_direction` (String) Filter direction


<a id="nestedatt--ipv4_neighbors--neighbor_filter_route_map_lists"></a>
### Nested Schema for `ipv4_neighbors.neighbor_filter_route_map_lists`

Read-Only:

- `route_map_id` (String) Route Map ID
- `update_direction` (String) Filter direction



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

Read-Only:

- `network_id` (String) Network object ID
- `route_map_id` (String) Route Map ID


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

Read-Only:

- `match_external1` (Boolean) Match OSPF External 1 metrics
- `match_external2` (Boolean) Match OSPF External 2 metrics
- `match_internal` (Boolean) Match OSPF Internal metrics
- `match_nssa_external1` (Boolean) Match OSPF NSSA External 1 metrics
- `match_nssa_external2` (Boolean) Match OSPF NSSA External 2 metrics
- `metric` (Number) Metric value
- `process_id` (String) process ID
- `route_map_id` (String) Route Map ID
- `source_protocol` (String) Protocol to redistribute


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

Read-Only:

- `exist_route_map_id` (String) Exist Route Map ID
- `inject_route_map_id` (String) Inject Route Map ID
59 changes: 59 additions & 0 deletions docs/data-sources/device_bgp_general_settings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "fmc_device_bgp_general_settings Data Source - terraform-provider-fmc"
subcategory: "Devices"
description: |-
This data source can read the Device BGP General Settings.
---

# fmc_device_bgp_general_settings (Data Source)

This data source can read the Device BGP General Settings.

## Example Usage

```terraform
data "fmc_device_bgp_general_settings" "example" {
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
device_id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
}
```

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

### Required

- `device_id` (String) UUID of the parent device (fmc_device.example.id).

### Optional

- `as_number` (String) Autonomous System (AS) number in asplain or asdot format
- `domain` (String) The name of the FMC domain
- `id` (String) The id of the object

### Read-Only

- `aggregate_timer` (Number) Interval at which BGP routes will be aggregated or to disable timer-based router aggregation (in seconds).
- `as_number_in_path_attribute` (Number) Range to discard routes that have as-path segments that exceed a specified value.
- `compare_med_from_different_neighbors` (Boolean) Allow comparing MED from different neighbors
- `compare_router_id_in_path` (Boolean) Compare Router ID for identical EBGP paths
- `default_local_preference` (Number) Default local preference
- `enforce_first_peer_as` (Boolean) Discard updates received from an external BGP (eBGP) peers that do not list their autonomous system (AS) number.
- `graceful_restart` (Boolean) Enable graceful restart
- `graceful_restart_restart_time` (Number) Graceful Restart Time in seconds
- `graceful_restart_stale_path_time` (Number) Stalepath Time in seconds
- `hold_time` (Number) Hold time in seconds
- `keepalive_interval` (Number) Keepalive interval in seconds
- `log_neighbor_changes` (Boolean) Enable logging of BGP neighbor status changes.
- `min_hold_time` (Number) Minimum hold time (0 or 3-65535 seconds)
- `missing_med_as_best` (Boolean) Treat missing MED as the best preferred path
- `name` (String) Object name; Always set to 'AsaBGPGeneralTable'
- `next_hop_address_tracking` (Boolean) Enable next hop address tracking
- `next_hop_delay_interval` (Number) Next hop delay interval in seconds
- `pick_best_med` (Boolean) Pick the best-MED path among paths advertised by neighbor AS
- `reset_session_upon_failover` (Boolean) Reset session upon failover
- `router_id` (String) String value for the routerID. Possible values can be 'AUTOMATIC' or valid ipv4 address
- `scanning_interval` (Number) Scanning interval of BGP routers for next hop validation in Seconds.
- `tcp_path_mtu_discovery` (Boolean) Use TCP path MTU discovery.
- `use_dot_notation` (Boolean) Change format of BGP 4-byte autonomous system numbers from asplain (decimal values) to dot notation.
50 changes: 50 additions & 0 deletions docs/data-sources/device_ha_pair_monitoring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "fmc_device_ha_pair_monitoring Data Source - terraform-provider-fmc"
subcategory: "Device"
description: |-
This data source can read the Device HA Pair Monitoring.
---

# fmc_device_ha_pair_monitoring (Data Source)

This data source can read the Device HA Pair Monitoring.

## Example Usage

```terraform
data "fmc_device_ha_pair_monitoring" "example" {
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
device_id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
}
```

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

### Required

- `device_id` (String) UUID of the parent HA device (fmc_device.example.id).

### Optional

- `domain` (String) The name of the FMC domain
- `id` (String) The id of the object
- `logical_name` (String) Logical Name of the monitored interface.

### Read-Only

- `ipv4_active_address` (String) Active IPv4 address from the interface.
- `ipv4_netmask` (String) IPv4 Network Mask assigned on the interface.
- `ipv4_standby_address` (String) Standby IPv4 address. It has to be in the same subnet as primaty IP configured on this interface.
- `ipv6_addresses` (Attributes List) (see [below for nested schema](#nestedatt--ipv6_addresses))
- `monitor_interface` (Boolean) Monitor this interface for failures.
- `type` (String) Type of the resource.

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

Read-Only:

- `active_address` (String) Active IPv6 address with prefix. Address has to be configured on the interface.
- `standby_address` (String) Standby IPv6 address. Address has to be from the same subnet as active IPv6 address.
Loading

0 comments on commit df94fda

Please sign in to comment.