Skip to content

Commit

Permalink
Merge branch 'main' into feature_appliance_resources
Browse files Browse the repository at this point in the history
  • Loading branch information
Marcin Parafiniuk committed Feb 27, 2025
2 parents ab26b5c + a52e351 commit 3ddadaf
Show file tree
Hide file tree
Showing 12 changed files with 54 additions and 227 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## 0.1.0 (unreleased)
## 0.1.0

- Initial release
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ meraki:
domains:
- name: EMEA
administrator:
name: Dev CX Provider Admin
name: Dev Admin
organizations:
- name: Dev
admins:
- name: Dev CX Provider Admin
email: devadmincxprovider@foobar.com
- name: Dev Admin
email: devadmin@foobar.com
authentication_method: Email
org_access: full
```
Expand All @@ -45,7 +45,7 @@ module "meraki" {
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 |
| <a name="requirement_local"></a> [local](#requirement\_local) | >= 2.5.1 |
| <a name="requirement_meraki"></a> [meraki](#requirement\_meraki) | >= 0.1.4 |
| <a name="requirement_meraki"></a> [meraki](#requirement\_meraki) | >= 0.1.7 |
| <a name="requirement_utils"></a> [utils](#requirement\_utils) | >= 0.2.5 |
## Inputs

Expand Down Expand Up @@ -103,15 +103,15 @@ module "meraki" {
| [meraki_appliance_vpn_firewall_rules.organizations_vpn_firewall_rules](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/appliance_vpn_firewall_rules) | resource |
| [meraki_appliance_warm_spare.appliance_warm_spare](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/appliance_warm_spare) | resource |
| [meraki_device.device](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device) | resource |
| [meraki_device_cellular_gateway_lan.net_devices_cellular_gateway_lan](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device_cellular_gateway_lan) | resource |
| [meraki_device_cellular_gateway_port_forwarding_rules.net_devices_cellular_gateway_port_forwarding_rules](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device_cellular_gateway_port_forwarding_rules) | resource |
| [meraki_device_cellular_sims.net_devices_cellular_sims](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device_cellular_sims) | resource |
| [meraki_cellular_gateway_lan.net_devices_cellular_gateway_lan](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device_cellular_gateway_lan) | resource |
| [meraki_cellular_gateway_port_forwarding_rules.net_devices_cellular_gateway_port_forwarding_rules](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device_cellular_gateway_port_forwarding_rules) | resource |
| [meraki_cellular_sims.net_devices_cellular_sims](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device_cellular_sims) | resource |
| [meraki_device_management_interface.devices_management_interface](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/device_management_interface) | resource |
| [meraki_network.network](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network) | resource |
| [meraki_network_cellular_gateway_connectivity_monitoring_destinations.net_networks_cellular_gateway_connectivity_monitoring_destinations](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_connectivity_monitoring_destinations) | resource |
| [meraki_network_cellular_gateway_dhcp.net_networks_cellular_gateway_dhcp](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_dhcp) | resource |
| [meraki_network_cellular_gateway_subnet_pool.net_networks_cellular_gateway_subnet_pool](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_subnet_pool) | resource |
| [meraki_network_cellular_gateway_uplink.net_networks_cellular_gateway_uplink](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_uplink) | resource |
| [meraki_cellular_gateway_connectivity_monitoring_destinations.net_networks_cellular_gateway_connectivity_monitoring_destinations](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_connectivity_monitoring_destinations) | resource |
| [meraki_cellular_gateway_dhcp.net_networks_cellular_gateway_dhcp](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_dhcp) | resource |
| [meraki_cellular_gateway_subnet_pool.net_networks_cellular_gateway_subnet_pool](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_subnet_pool) | resource |
| [meraki_cellular_gateway_uplink.net_networks_cellular_gateway_uplink](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_cellular_gateway_uplink) | resource |
| [meraki_network_device_claim.net_device_claim](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_device_claim) | resource |
| [meraki_network_floor_plan.net_floor_plans](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_floor_plan) | resource |
| [meraki_network_group_policy.net_group_policies](https://registry.terraform.io/providers/CiscoDevNet/meraki/latest/docs/resources/network_group_policy) | resource |
Expand Down
48 changes: 24 additions & 24 deletions defaults/defaults.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
defaults:
meraki:
domains:
- name: EMEA
organizations:
- name: Dev
snmp:
v2c_enabled: false
v3_enabled: true
login_security:
enforce_password_expiration: true # Boolean indicating whether users are forced to change their password every X number of days.
password_expiration_days: 30 # Number of days after which users will be forced to change their password.
enforce_different_passwords: true # Boolean indicating whether users, when setting a new password, are forced to choose a new password that is different from any past passwords.
num_different_passwords: 3 # Number of recent passwords that new password must be distinct from.
enforce_strong_passwords: true # Boolean indicating whether users will be forced to choose strong passwords for their accounts. Strong passwords are at least 8 characters that contain 3 of the following: number, uppercase letter, lowercase letter, and symbol
enforce_account_lockout: true # Boolean indicating whether users' Dashboard accounts will be locked out after a specified number of consecutive failed login attempts.
account_lockout_attempts: 5 # Number of consecutive failed login attempts after which users' accounts will be locked.
enforce_idle_timeout: true # Boolean indicating whether users will be logged out after being idle for the specified number of minutes.
idle_timeout_minutes: 30 # Number of minutes users can remain idle before being logged out of their accounts.
enforce_two_factor_auth: false # Boolean indicating whether users in this organization will be required to use an extra verification code when logging in to Dashboard. This code will be sent to their mobile phone via SMS, or can be generated by the authenticator application.
enforce_login_ip_ranges: false # Boolean indicating whether organization will restrict access to Dashboard (including the API) from certain IP addresses.
login_ip_ranges: [] # List of acceptable IP ranges. Entries can be single IP addresses, IP address ranges, and CIDR subnets.
api_authentication:
ip_restrictions_for_keys:
enabled: false
ranges: [] # List of acceptable IP ranges. Entries can be single IP addresses, IP address ranges, and CIDR subnets.
domains:
- name: EMEA
organizations:
- name: Dev
snmp:
v2c_enabled: false
v3_enabled: true
login_security:
enforce_password_expiration: true # Boolean indicating whether users are forced to change their password every X number of days.
password_expiration_days: 30 # Number of days after which users will be forced to change their password.
enforce_different_passwords: true # Boolean indicating whether users, when setting a new password, are forced to choose a new password that is different from any past passwords.
num_different_passwords: 3 # Number of recent passwords that new password must be distinct from.
enforce_strong_passwords: true # Boolean indicating whether users will be forced to choose strong passwords for their accounts. Strong passwords are at least 8 characters that contain 3 of the following: number, uppercase letter, lowercase letter, and symbol
enforce_account_lockout: true # Boolean indicating whether users' Dashboard accounts will be locked out after a specified number of consecutive failed login attempts.
account_lockout_attempts: 5 # Number of consecutive failed login attempts after which users' accounts will be locked.
enforce_idle_timeout: true # Boolean indicating whether users will be logged out after being idle for the specified number of minutes.
idle_timeout_minutes: 30 # Number of minutes users can remain idle before being logged out of their accounts.
enforce_two_factor_auth: false # Boolean indicating whether users in this organization will be required to use an extra verification code when logging in to Dashboard. This code will be sent to their mobile phone via SMS, or can be generated by the authenticator application.
enforce_login_ip_ranges: false # Boolean indicating whether organization will restrict access to Dashboard (including the API) from certain IP addresses.
login_ip_ranges: [] # List of acceptable IP ranges. Entries can be single IP addresses, IP address ranges, and CIDR subnets.
api_authentication:
ip_restrictions_for_keys:
enabled: false
ranges: [] # List of acceptable IP ranges. Entries can be single IP addresses, IP address ranges, and CIDR subnets.
2 changes: 1 addition & 1 deletion examples/administrator/.terraform-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ content: |-
Set environment variables with the Meraki Dashboard API key:
```bash
export MERAKI_DASHBOARD_API_KEY=ABC123
export MERAKI_API_KEY=ABC123
```
To run this example you need to execute:
Expand Down
8 changes: 4 additions & 4 deletions examples/administrator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Set environment variables with the Meraki Dashboard API key:

```bash
export MERAKI_DASHBOARD_API_KEY=ABC123
export MERAKI_API_KEY=ABC123
```

To run this example you need to execute:
Expand All @@ -24,12 +24,12 @@ meraki:
domains:
- name: EMEA
administrator:
name: Dev CX Provider Admin
name: Dev Admin
organizations:
- name: Dev
admins:
- name: Dev CX Provider Admin
email: devadmincxprovider@foobar.com
- name: Dev Admin
email: devadmin@foobar.com
authentication_method: Email
org_access: full
```
Expand Down
6 changes: 3 additions & 3 deletions examples/administrator/organizations_admins.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ meraki:
domains:
- name: EMEA
administrator:
name: Dev CX Provider Admin
name: Dev Admin
organizations:
- name: Dev
admins:
- name: Dev CX Provider Admin
email: devadmincxprovider@foobar.com
- name: Dev Admin
email: devadmin@foobar.com
authentication_method: Email
org_access: full
169 changes: 0 additions & 169 deletions gen/generate.py

This file was deleted.

4 changes: 2 additions & 2 deletions meraki_appliance.tf
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ resource "meraki_appliance_vpn_bgp" "appliance_vpn_bgp" {
as_number = try(each.value.data.as_number, local.defaults.meraki.networks.appliance_vpn_bgp.as_number, null)
ibgp_hold_timer = try(each.value.data.ibgp_hold_timer, local.defaults.meraki.networks.appliance_vpn_bgp.ibgp_hold_timer, null)
neighbors = try(each.value.data.neighbors, local.defaults.meraki.networks.appliance_vpn_bgp.neighbors, null)
depends_on = [meraki_network_device_claim.net_device_claim]
depends_on = [meraki_appliance_site_to_site_vpn.appliance_vpn_site_to_site_vpn]
}
locals {
networks_networks_appliance_vpn_site_to_site_vpn = flatten([
Expand All @@ -434,7 +434,7 @@ resource "meraki_appliance_site_to_site_vpn" "appliance_vpn_site_to_site_vpn" {
mode = try(each.value.data.mode, local.defaults.meraki.networks.appliance_vpn_site_to_site_vpn.mode, null)
hubs = each.value.hubs
subnets = try(each.value.data.subnets, local.defaults.meraki.networks.appliance_vpn_site_to_site_vpn.subnets, null)
depends_on = [meraki_network_device_claim.net_device_claim]
depends_on = [meraki_network_device_claim.net_device_claim, meraki_appliance_single_lan.appliance_single_lan, meraki_appliance_vlan.appliance_vlans]
}
locals {
networks_networks_appliance_warm_spare = flatten([
Expand Down
6 changes: 3 additions & 3 deletions meraki_devices.tf
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ locals {
])
}

resource "meraki_device_cellular_gateway_lan" "net_devices_cellular_gateway_lan" {
resource "meraki_cellular_gateway_lan" "net_devices_cellular_gateway_lan" {
for_each = { for i, v in local.networks_devices_cellular_gateway_lan : i => v }
serial = each.value.serial

Expand All @@ -355,7 +355,7 @@ locals {
])
}

resource "meraki_device_cellular_gateway_port_forwarding_rules" "net_devices_cellular_gateway_port_forwarding_rules" {
resource "meraki_cellular_gateway_port_forwarding_rules" "net_devices_cellular_gateway_port_forwarding_rules" {
for_each = { for i, v in local.networks_devices_cellular_gateway_port_forwarding_rules : i => v }
serial = each.value.serial

Expand All @@ -380,7 +380,7 @@ locals {
])
}

resource "meraki_device_cellular_sims" "net_devices_cellular_sims" {
resource "meraki_cellular_sims" "net_devices_cellular_sims" {
for_each = { for i, v in local.networks_devices_cellular_sims : i => v }
serial = each.value.serial

Expand Down
Loading

0 comments on commit 3ddadaf

Please sign in to comment.