import * as core from "@terrascript/core"; export interface DirectoryServiceRadiusSettingsArgs extends core.ResourceArgs { /** * (Optional) The protocol specified for your RADIUS endpoints. Valid values: `PAP`, `CHAP`, `MS-CHAPv1 * , `MS-CHAPv2`. */ authenticationProtocol: string | core.StringOut; /** * (Required) The identifier of the directory for which you want to manager RADIUS settings. */ directoryId: string | core.StringOut; /** * (Required) Display label. */ displayLabel: string | core.StringOut; /** * (Required) The port that your RADIUS server is using for communications. Your self-managed network m * ust allow inbound traffic over this port from the AWS Directory Service servers. */ radiusPort: number | core.NumberOut; /** * (Required) The maximum number of times that communication with the RADIUS server is attempted. Minim * um value of `0`. Maximum value of `10`. */ radiusRetries: number | core.NumberOut; /** * (Required) An array of strings that contains the fully qualified domain name (FQDN) or IP addresses * of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer. */ radiusServers: core.Array | core.ArrayOut; /** * (Required) The amount of time, in seconds, to wait for the RADIUS server to respond. Minimum value o * f `1`. Maximum value of `50`. */ radiusTimeout: number | core.NumberOut; /** * (Required) Required for enabling RADIUS on the directory. */ sharedSecret: string | core.StringOut; /** * (Optional) Not currently used. */ useSameUsername?: boolean | core.BooleanOut; } export class DirectoryServiceRadiusSettings extends core.Resource { /** * (Optional) The protocol specified for your RADIUS endpoints. Valid values: `PAP`, `CHAP`, `MS-CHAPv1 * , `MS-CHAPv2`. */ @core.attr(String) public authenticationProtocol!: string | core.StringOut; /** * (Required) The identifier of the directory for which you want to manager RADIUS settings. */ @core.attr(String) public directoryId!: string | core.StringOut; /** * (Required) Display label. */ @core.attr(String) public displayLabel!: string | core.StringOut; /** * The directory identifier. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The port that your RADIUS server is using for communications. Your self-managed network m * ust allow inbound traffic over this port from the AWS Directory Service servers. */ @core.attr(Number) public radiusPort!: number | core.NumberOut; /** * (Required) The maximum number of times that communication with the RADIUS server is attempted. Minim * um value of `0`. Maximum value of `10`. */ @core.attr(Number) public radiusRetries!: number | core.NumberOut; /** * (Required) An array of strings that contains the fully qualified domain name (FQDN) or IP addresses * of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer. */ @core.attr(String, { kind: "array" }) public radiusServers!: core.Array | core.ArrayOut; /** * (Required) The amount of time, in seconds, to wait for the RADIUS server to respond. Minimum value o * f `1`. Maximum value of `50`. */ @core.attr(Number) public radiusTimeout!: number | core.NumberOut; /** * (Required) Required for enabling RADIUS on the directory. */ @core.attr(String) public sharedSecret!: string | core.StringOut; /** * (Optional) Not currently used. */ @core.attr(Boolean) public useSameUsername?: boolean | core.BooleanOut; constructor(name: string, args?: DirectoryServiceRadiusSettingsArgs) { super(name, "aws_directory_service_radius_settings", args); } public override getNamespace(): string { return "aws_ds"; } }