Skip to content

Commit bf0a03f

Browse files
Add authentication policy server resource and data source (#120)
1 parent 9c9a2c1 commit bf0a03f

15 files changed

+1716
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- Add `catalystcenter_site` data source
66
- Add `catalystcenter_fabric_port_assignment` resource and data source
77
- BREAKING CHANGE: Replace `catalystcenter_peer_transit_network` with `catalystcenter_transit_network` resource and data source to use `/dna/intent/api/v1/sda/transitNetworks` API endpoint, this resource now only works with Catalyst Center version 2.3.7.6+
8+
- Add `catalystcenter_authentication_policy_server` resource and data source
89

910
## 0.1.10
1011

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "catalystcenter_authentication_policy_server Data Source - terraform-provider-catalystcenter"
4+
subcategory: "System Settings"
5+
description: |-
6+
This data source can read the Authentication Policy Server.
7+
---
8+
9+
# catalystcenter_authentication_policy_server (Data Source)
10+
11+
This data source can read the Authentication Policy Server.
12+
13+
## Example Usage
14+
15+
```terraform
16+
data "catalystcenter_authentication_policy_server" "example" {
17+
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
18+
}
19+
```
20+
21+
<!-- schema generated by tfplugindocs -->
22+
## Schema
23+
24+
### Required
25+
26+
- `id` (String) The id of the object
27+
28+
### Read-Only
29+
30+
- `accounting_port` (Number) Accounting port of RADIUS server
31+
- `authentication_port` (Number) Authentication port of RADIUS server
32+
- `cisco_ise_dtos` (Attributes List) Cisco ISE Server DTOs (see [below for nested schema](#nestedatt--cisco_ise_dtos))
33+
- `encryption_key` (String) Encryption key used to encrypt shared secret
34+
- `encryption_scheme` (String) Type of encryption scheme for additional security
35+
- `external_cisco_ise_ip_addr_dtos` (Attributes List) For future use (see [below for nested schema](#nestedatt--external_cisco_ise_ip_addr_dtos))
36+
- `ip_address` (String) IP address of authentication and policy server
37+
- `is_ise_enabled` (Boolean) Value true for Cisco ISE Server. Default value is false
38+
- `message_key` (String) Message key used to encrypt shared secret
39+
- `port` (Number) Port of TACACS server
40+
- `protocol` (String) Type of protocol for authentication and policy server. If already saved with RADIUS, can update to RADIUS_TACACS. If already saved with TACACS, can update to RADIUS_TACACS
41+
- `pxgrid_enabled` (Boolean) Value true for enable, false for disable. Default value is true
42+
- `retries` (Number) Number of communication retries between devices and authentication and policy server. The range is from 1 to 3
43+
- `role` (String) Role of authentication and policy server
44+
- `shared_secret` (String) Shared secret between devices and authentication and policy server
45+
- `timeout_seconds` (Number) Number of seconds before timing out between devices and authentication and policy server. The range is from 2 to 20
46+
- `use_dnac_cert_for_pxgrid` (Boolean) Value true to use DNAC certificate for Pxgrid. Default value is false
47+
48+
<a id="nestedatt--cisco_ise_dtos"></a>
49+
### Nested Schema for `cisco_ise_dtos`
50+
51+
Read-Only:
52+
53+
- `description` (String) Description about the Cisco ISE server
54+
- `fqdn` (String) Fully-qualified domain name of the Cisco ISE server
55+
- `ip_address` (String) IP Address of the Cisco ISE Server
56+
- `password` (String) Password of the Cisco ISE server
57+
- `sshkey` (String) SSH key of the Cisco ISE server
58+
- `subscriber_name` (String) Subscriber name of the Cisco ISE server
59+
- `user_name` (String) User name of the Cisco ISE server
60+
61+
62+
<a id="nestedatt--external_cisco_ise_ip_addr_dtos"></a>
63+
### Nested Schema for `external_cisco_ise_ip_addr_dtos`
64+
65+
Read-Only:
66+
67+
- `external_cisco_ise_ip_addresses` (Attributes List) (see [below for nested schema](#nestedatt--external_cisco_ise_ip_addr_dtos--external_cisco_ise_ip_addresses))
68+
- `type` (String)
69+
70+
<a id="nestedatt--external_cisco_ise_ip_addr_dtos--external_cisco_ise_ip_addresses"></a>
71+
### Nested Schema for `external_cisco_ise_ip_addr_dtos.external_cisco_ise_ip_addresses`
72+
73+
Read-Only:
74+
75+
- `external_ip_address` (String)

docs/guides/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ description: |-
1414
- Add `catalystcenter_site` data source
1515
- Add `catalystcenter_fabric_port_assignment` resource and data source
1616
- BREAKING CHANGE: Replace `catalystcenter_peer_transit_network` with `catalystcenter_transit_network` resource and data source to use `/dna/intent/api/v1/sda/transitNetworks` API endpoint, this resource now only works with Catalyst Center version 2.3.7.6+
17+
- Add `catalystcenter_authentication_policy_server` resource and data source
1718

1819
## 0.1.10
1920

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "catalystcenter_authentication_policy_server Resource - terraform-provider-catalystcenter"
4+
subcategory: "System Settings"
5+
description: |-
6+
This resource can manage an Authentication Policy Server.
7+
---
8+
9+
# catalystcenter_authentication_policy_server (Resource)
10+
11+
This resource can manage an Authentication Policy Server.
12+
13+
## Example Usage
14+
15+
```terraform
16+
resource "catalystcenter_authentication_policy_server" "example" {
17+
authentication_port = 1812
18+
accounting_port = 1813
19+
ip_address = "10.0.0.1"
20+
pxgrid_enabled = true
21+
use_dnac_cert_for_pxgrid = false
22+
is_ise_enabled = false
23+
port = 49
24+
protocol = "RADIUS"
25+
retries = 2
26+
role = "secondary"
27+
shared_secret = "Cisco123"
28+
timeout_seconds = 2
29+
}
30+
```
31+
32+
<!-- schema generated by tfplugindocs -->
33+
## Schema
34+
35+
### Required
36+
37+
- `accounting_port` (Number) Accounting port of RADIUS server
38+
- Range: `1`-`65535`
39+
- `authentication_port` (Number) Authentication port of RADIUS server
40+
- Range: `1`-`65535`
41+
- `ip_address` (String) IP address of authentication and policy server
42+
- `port` (Number) Port of TACACS server
43+
- Range: `1`-`65535`
44+
- `protocol` (String) Type of protocol for authentication and policy server. If already saved with RADIUS, can update to RADIUS_TACACS. If already saved with TACACS, can update to RADIUS_TACACS
45+
- Choices: `TACACS`, `RADIUS`, `RADIUS_TACACS`
46+
- `retries` (Number) Number of communication retries between devices and authentication and policy server. The range is from 1 to 3
47+
- Range: `1`-`3`
48+
- `role` (String) Role of authentication and policy server
49+
- Choices: `primary`, `secondary`
50+
- `shared_secret` (String) Shared secret between devices and authentication and policy server
51+
- `timeout_seconds` (Number) Number of seconds before timing out between devices and authentication and policy server. The range is from 2 to 20
52+
- Range: `2`-`20`
53+
54+
### Optional
55+
56+
- `cisco_ise_dtos` (Attributes List) Cisco ISE Server DTOs (see [below for nested schema](#nestedatt--cisco_ise_dtos))
57+
- `encryption_key` (String) Encryption key used to encrypt shared secret
58+
- `encryption_scheme` (String) Type of encryption scheme for additional security
59+
- Choices: `KEYWRAP`, `RADSEC`
60+
- `external_cisco_ise_ip_addr_dtos` (Attributes List) For future use (see [below for nested schema](#nestedatt--external_cisco_ise_ip_addr_dtos))
61+
- `is_ise_enabled` (Boolean) Value true for Cisco ISE Server. Default value is false
62+
- `message_key` (String) Message key used to encrypt shared secret
63+
- `pxgrid_enabled` (Boolean) Value true for enable, false for disable. Default value is true
64+
- `use_dnac_cert_for_pxgrid` (Boolean) Value true to use DNAC certificate for Pxgrid. Default value is false
65+
66+
### Read-Only
67+
68+
- `id` (String) The id of the object
69+
70+
<a id="nestedatt--cisco_ise_dtos"></a>
71+
### Nested Schema for `cisco_ise_dtos`
72+
73+
Required:
74+
75+
- `fqdn` (String) Fully-qualified domain name of the Cisco ISE server
76+
- `ip_address` (String) IP Address of the Cisco ISE Server
77+
- `password` (String) Password of the Cisco ISE server
78+
- `subscriber_name` (String) Subscriber name of the Cisco ISE server
79+
- `user_name` (String) User name of the Cisco ISE server
80+
81+
Optional:
82+
83+
- `description` (String) Description about the Cisco ISE server
84+
- `sshkey` (String) SSH key of the Cisco ISE server
85+
86+
87+
<a id="nestedatt--external_cisco_ise_ip_addr_dtos"></a>
88+
### Nested Schema for `external_cisco_ise_ip_addr_dtos`
89+
90+
Optional:
91+
92+
- `external_cisco_ise_ip_addresses` (Attributes List) (see [below for nested schema](#nestedatt--external_cisco_ise_ip_addr_dtos--external_cisco_ise_ip_addresses))
93+
- `type` (String)
94+
95+
<a id="nestedatt--external_cisco_ise_ip_addr_dtos--external_cisco_ise_ip_addresses"></a>
96+
### Nested Schema for `external_cisco_ise_ip_addr_dtos.external_cisco_ise_ip_addresses`
97+
98+
Optional:
99+
100+
- `external_ip_address` (String)
101+
102+
## Import
103+
104+
Import is supported using the following syntax:
105+
106+
```shell
107+
terraform import catalystcenter_authentication_policy_server.example "<id>"
108+
```
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
data "catalystcenter_authentication_policy_server" "example" {
2+
id = "76d24097-41c4-4558-a4d0-a8c07ac08470"
3+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
terraform import catalystcenter_authentication_policy_server.example "<id>"
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
resource "catalystcenter_authentication_policy_server" "example" {
2+
authentication_port = 1812
3+
accounting_port = 1813
4+
ip_address = "10.0.0.1"
5+
pxgrid_enabled = true
6+
use_dnac_cert_for_pxgrid = false
7+
is_ise_enabled = false
8+
port = 49
9+
protocol = "RADIUS"
10+
retries = 2
11+
role = "secondary"
12+
shared_secret = "Cisco123"
13+
timeout_seconds = 2
14+
}
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
name: Authentication Policy Server
3+
rest_endpoint: /dna/intent/api/v1/authentication-policy-servers
4+
get_from_all: true
5+
id_from_query_path: response
6+
id_from_query_path_attribute: instanceUuid
7+
skip_minimum_test: true
8+
doc_category: System Settings
9+
attributes:
10+
- model_name: authenticationPort
11+
type: Int64
12+
mandatory: true
13+
min_int: 1
14+
max_int: 65535
15+
description: Authentication port of RADIUS server
16+
example: 1812
17+
- model_name: accountingPort
18+
type: Int64
19+
mandatory: true
20+
min_int: 1
21+
max_int: 65535
22+
description: Accounting port of RADIUS server
23+
example: 1813
24+
- model_name: ciscoIseDtos
25+
type: List
26+
description: Cisco ISE Server DTOs
27+
exclude_test: true
28+
attributes:
29+
- model_name: description
30+
type: String
31+
description: Description about the Cisco ISE server
32+
- model_name: fqdn
33+
type: String
34+
description: Fully-qualified domain name of the Cisco ISE server
35+
mandatory: true
36+
- model_name: password
37+
type: String
38+
description: Password of the Cisco ISE server
39+
mandatory: true
40+
- model_name: sshkey
41+
type: String
42+
description: SSH key of the Cisco ISE server
43+
- model_name: ipAddress
44+
type: String
45+
description: IP Address of the Cisco ISE Server
46+
mandatory: true
47+
- model_name: subscriberName
48+
type: String
49+
description: Subscriber name of the Cisco ISE server
50+
mandatory: true
51+
- model_name: userName
52+
type: String
53+
description: User name of the Cisco ISE server
54+
mandatory: true
55+
- model_name: ipAddress
56+
match_id: true
57+
type: String
58+
description: IP address of authentication and policy server
59+
mandatory: true
60+
example: 10.0.0.1
61+
- model_name: pxgridEnabled
62+
type: Bool
63+
description: Value true for enable, false for disable. Default value is true
64+
example: true
65+
- model_name: useDnacCertForPxgrid
66+
type: Bool
67+
description: Value true to use DNAC certificate for Pxgrid. Default value is false
68+
example: false
69+
- model_name: isIseEnabled
70+
type: Bool
71+
description: Value true for Cisco ISE Server. Default value is false
72+
example: false
73+
- model_name: port
74+
type: Int64
75+
mandatory: true
76+
min_int: 1
77+
max_int: 65535
78+
description: Port of TACACS server
79+
example: 49
80+
- model_name: protocol
81+
type: String
82+
enum_values:
83+
- TACACS
84+
- RADIUS
85+
- RADIUS_TACACS
86+
mandatory: true
87+
description: Type of protocol for authentication and policy server. If already saved with RADIUS, can update to RADIUS_TACACS. If already saved with TACACS, can update to RADIUS_TACACS
88+
example: RADIUS
89+
- model_name: retries
90+
type: Int64
91+
min_int: 1
92+
max_int: 3
93+
mandatory: true
94+
description: Number of communication retries between devices and authentication and policy server. The range is from 1 to 3
95+
example: 2
96+
- model_name: role
97+
mandatory: true
98+
type: String
99+
enum_values:
100+
- primary
101+
- secondary
102+
description: Role of authentication and policy server
103+
example: secondary
104+
- model_name: sharedSecret
105+
type: String
106+
write_only: true
107+
mandatory: true
108+
description: Shared secret between devices and authentication and policy server
109+
example: Cisco123
110+
- model_name: timeoutSeconds
111+
type: Int64
112+
min_int: 2
113+
max_int: 20
114+
mandatory: true
115+
description: Number of seconds before timing out between devices and authentication and policy server. The range is from 2 to 20
116+
example: 2
117+
- model_name: encryptionScheme
118+
type: String
119+
enum_values:
120+
- KEYWRAP
121+
- RADSEC
122+
description: Type of encryption scheme for additional security
123+
exclude_test: true
124+
- model_name: messageKey
125+
type: String
126+
write_only: true
127+
description: Message key used to encrypt shared secret
128+
exclude_test: true
129+
- model_name: encryptionKey
130+
type: String
131+
write_only: true
132+
description: Encryption key used to encrypt shared secret
133+
exclude_test: true
134+
- model_name: externalCiscoIseIpAddrDtos
135+
type: List
136+
description: For future use
137+
exclude_test: true
138+
attributes:
139+
- model_name: externalCiscoIseIpAddresses
140+
type: List
141+
attributes:
142+
- model_name: externalIpAddress
143+
type: String
144+
- model_name: type
145+
type: String

0 commit comments

Comments
 (0)