Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fmc device bgp + bfd + query_parameter #213

Open
wants to merge 33 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
32f469c
bgp_general_settings
mmaciejc Dec 2, 2024
a2e41e7
computed
mmaciejc Dec 2, 2024
319bd18
Merge branch 'main' into fmc_device_bgp
mmaciejc Dec 2, 2024
3612627
merging main
mmaciejc Dec 2, 2024
d7a0fa5
device bgp
mmaciejc Dec 2, 2024
1ff34b8
bgp
mmaciejc Dec 2, 2024
f13ad26
bgp support initial yaml
mmaciejc Dec 3, 2024
ba44bdb
bgp general settings
rchrabas Dec 5, 2024
d7ddb8f
bgp
rchrabas Dec 6, 2024
b92e0b6
fmc_device_ha_pair_monitoring
mmaciejc Dec 9, 2024
ba705e8
template change: data_source_query_parameter
rchrabas Dec 9, 2024
6c31fbe
rename schema parameter & add expanded=true to requests
rchrabas Dec 10, 2024
d8a7d13
Merge branch 'main' into fmc_device_bgp
rchrabas Dec 10, 2024
6d903ff
go generate
rchrabas Dec 10, 2024
f93902f
typo fix
mmaciejc Dec 10, 2024
dcaea56
test default values
mmaciejc Dec 10, 2024
a0e0baf
internal
mmaciejc Dec 10, 2024
410a529
ha int
mmaciejc Dec 10, 2024
39cbbe0
fixes to security-zone, device_ha_interfaces and device_bgp - dafault…
mmaciejc Dec 10, 2024
308f1a8
fixing error description
mmaciejc Dec 10, 2024
030e19c
fixes
mmaciejc Dec 12, 2024
5de3954
after go generte
mmaciejc Dec 12, 2024
b6abdcd
bgp settings
mmaciejc Dec 12, 2024
c6cdc0e
latest
mmaciejc Dec 13, 2024
b0d58f1
Merge branch 'dev' into fmc_device_bgp
mmaciejc Dec 13, 2024
952a147
rmoving ha_pair
mmaciejc Dec 13, 2024
26b9227
removing compiled binary
mmaciejc Dec 13, 2024
7887755
schema fixes
mmaciejc Dec 13, 2024
18aa963
rework query_parameter into data_source_query
rchrabas Dec 18, 2024
f4416b3
Merge branch 'main' into fmc_device_bgp
rchrabas Dec 18, 2024
7ac2d80
yaml update
rchrabas Dec 18, 2024
b91d644
Merge branch 'main' into fmc_device_bgp
rchrabas Dec 18, 2024
1b76795
go generate
rchrabas Dec 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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

- `domain` (String) The name of the FMC domain
- `id` (String) The id of the object
- `name` (String) Name of the object; this is always 'bgp'

### Read-Only

- `as_number` (String) Autonomus System (AS) Number
- `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
- `type` (String) Name 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
Loading