import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DhcpConfig extends cdktf.TerraformMetaArguments { /** * * - Choices: `cisco`, `standard` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#compatibility_suboption_link_selection Dhcp#compatibility_suboption_link_selection} */ readonly compatibilitySuboptionLinkSelection?: string; /** * * - Choices: `cisco`, `standard` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#compatibility_suboption_server_override Dhcp#compatibility_suboption_server_override} */ readonly compatibilitySuboptionServerOverride?: string; /** * Configure behavior when deleting/destroying the resource. Either delete the entire object (YANG container) being managed, or only delete the individual resource attributes configured explicitly and leave everything else as-is. Default value is `all`. * - Choices: `all`, `attributes` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#delete_mode Dhcp#delete_mode} */ readonly deleteMode?: string; /** * A device name from the provider configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#device Dhcp#device} */ readonly device?: string; /** * Default option, no vpn * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#relay_information_option_default Dhcp#relay_information_option_default} */ readonly relayInformationOptionDefault?: boolean | cdktf.IResolvable; /** * Insert VPN sub-options and change the giaddr to the outgoing interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#relay_information_option_vpn Dhcp#relay_information_option_vpn} */ readonly relayInformationOptionVpn?: boolean | cdktf.IResolvable; /** * Received DHCP packets may contain relay info option with zero giaddr * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#relay_information_trust_all Dhcp#relay_information_trust_all} */ readonly relayInformationTrustAll?: boolean | cdktf.IResolvable; /** * DHCP Snooping * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#snooping Dhcp#snooping} */ readonly snooping?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#snooping_information_option Dhcp#snooping_information_option} */ readonly snoopingInformationOption?: boolean | cdktf.IResolvable; /** * DHCP Snooping information option allow-untrusted * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#snooping_information_option_allow_untrusted Dhcp#snooping_information_option_allow_untrusted} */ readonly snoopingInformationOptionAllowUntrusted?: boolean | cdktf.IResolvable; /** * Use configured hostname for remote id * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#snooping_information_option_format_remote_id_hostname Dhcp#snooping_information_option_format_remote_id_hostname} */ readonly snoopingInformationOptionFormatRemoteIdHostname?: boolean | cdktf.IResolvable; /** * User defined string for remote id * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#snooping_information_option_format_remote_id_string Dhcp#snooping_information_option_format_remote_id_string} */ readonly snoopingInformationOptionFormatRemoteIdString?: string; /** * DHCP Snooping vlan list. Use this for versions `17.14` and later. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#snooping_vlans Dhcp#snooping_vlans} */ readonly snoopingVlans?: DhcpSnoopingVlans[] | cdktf.IResolvable; /** * DHCP Snooping vlan list. Use this for versions before `17.14`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#snooping_vlans_legacy Dhcp#snooping_vlans_legacy} */ readonly snoopingVlansLegacy?: DhcpSnoopingVlansLegacy[] | cdktf.IResolvable; } export interface DhcpSnoopingVlans { /** * * - Range: `1`-`4094` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#vlan_id Dhcp#vlan_id} */ readonly vlanId: number; } export declare function dhcpSnoopingVlansToTerraform(struct?: DhcpSnoopingVlans | cdktf.IResolvable): any; export declare function dhcpSnoopingVlansToHclTerraform(struct?: DhcpSnoopingVlans | cdktf.IResolvable): any; export declare class DhcpSnoopingVlansOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): DhcpSnoopingVlans | cdktf.IResolvable | undefined; set internalValue(value: DhcpSnoopingVlans | cdktf.IResolvable | undefined); private _vlanId?; get vlanId(): number; set vlanId(value: number); get vlanIdInput(): number; } export declare class DhcpSnoopingVlansList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DhcpSnoopingVlans[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): DhcpSnoopingVlansOutputReference; } export interface DhcpSnoopingVlansLegacy { /** * DHCP Snooping vlan first number or vlan range,example: 1,3-5,7,9-11 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#vlan_id Dhcp#vlan_id} */ readonly vlanId: string; } export declare function dhcpSnoopingVlansLegacyToTerraform(struct?: DhcpSnoopingVlansLegacy | cdktf.IResolvable): any; export declare function dhcpSnoopingVlansLegacyToHclTerraform(struct?: DhcpSnoopingVlansLegacy | cdktf.IResolvable): any; export declare class DhcpSnoopingVlansLegacyOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): DhcpSnoopingVlansLegacy | cdktf.IResolvable | undefined; set internalValue(value: DhcpSnoopingVlansLegacy | cdktf.IResolvable | undefined); private _vlanId?; get vlanId(): string; set vlanId(value: string); get vlanIdInput(): string; } export declare class DhcpSnoopingVlansLegacyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DhcpSnoopingVlansLegacy[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): DhcpSnoopingVlansLegacyOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp iosxe_dhcp} */ export declare class Dhcp extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_dhcp"; /** * Generates CDKTF code for importing a Dhcp resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the Dhcp to import * @param importFromId The id of the existing Dhcp that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Dhcp to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/dhcp iosxe_dhcp} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options DhcpConfig = {} */ constructor(scope: Construct, id: string, config?: DhcpConfig); private _compatibilitySuboptionLinkSelection?; get compatibilitySuboptionLinkSelection(): string; set compatibilitySuboptionLinkSelection(value: string); resetCompatibilitySuboptionLinkSelection(): void; get compatibilitySuboptionLinkSelectionInput(): string; private _compatibilitySuboptionServerOverride?; get compatibilitySuboptionServerOverride(): string; set compatibilitySuboptionServerOverride(value: string); resetCompatibilitySuboptionServerOverride(): void; get compatibilitySuboptionServerOverrideInput(): string; private _deleteMode?; get deleteMode(): string; set deleteMode(value: string); resetDeleteMode(): void; get deleteModeInput(): string; private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; get id(): any; private _relayInformationOptionDefault?; get relayInformationOptionDefault(): boolean | cdktf.IResolvable; set relayInformationOptionDefault(value: boolean | cdktf.IResolvable); resetRelayInformationOptionDefault(): void; get relayInformationOptionDefaultInput(): any; private _relayInformationOptionVpn?; get relayInformationOptionVpn(): boolean | cdktf.IResolvable; set relayInformationOptionVpn(value: boolean | cdktf.IResolvable); resetRelayInformationOptionVpn(): void; get relayInformationOptionVpnInput(): any; private _relayInformationTrustAll?; get relayInformationTrustAll(): boolean | cdktf.IResolvable; set relayInformationTrustAll(value: boolean | cdktf.IResolvable); resetRelayInformationTrustAll(): void; get relayInformationTrustAllInput(): any; private _snooping?; get snooping(): boolean | cdktf.IResolvable; set snooping(value: boolean | cdktf.IResolvable); resetSnooping(): void; get snoopingInput(): any; private _snoopingInformationOption?; get snoopingInformationOption(): boolean | cdktf.IResolvable; set snoopingInformationOption(value: boolean | cdktf.IResolvable); resetSnoopingInformationOption(): void; get snoopingInformationOptionInput(): any; private _snoopingInformationOptionAllowUntrusted?; get snoopingInformationOptionAllowUntrusted(): boolean | cdktf.IResolvable; set snoopingInformationOptionAllowUntrusted(value: boolean | cdktf.IResolvable); resetSnoopingInformationOptionAllowUntrusted(): void; get snoopingInformationOptionAllowUntrustedInput(): any; private _snoopingInformationOptionFormatRemoteIdHostname?; get snoopingInformationOptionFormatRemoteIdHostname(): boolean | cdktf.IResolvable; set snoopingInformationOptionFormatRemoteIdHostname(value: boolean | cdktf.IResolvable); resetSnoopingInformationOptionFormatRemoteIdHostname(): void; get snoopingInformationOptionFormatRemoteIdHostnameInput(): any; private _snoopingInformationOptionFormatRemoteIdString?; get snoopingInformationOptionFormatRemoteIdString(): string; set snoopingInformationOptionFormatRemoteIdString(value: string); resetSnoopingInformationOptionFormatRemoteIdString(): void; get snoopingInformationOptionFormatRemoteIdStringInput(): string; private _snoopingVlans; get snoopingVlans(): DhcpSnoopingVlansList; putSnoopingVlans(value: DhcpSnoopingVlans[] | cdktf.IResolvable): void; resetSnoopingVlans(): void; get snoopingVlansInput(): any; private _snoopingVlansLegacy; get snoopingVlansLegacy(): DhcpSnoopingVlansLegacyList; putSnoopingVlansLegacy(value: DhcpSnoopingVlansLegacy[] | cdktf.IResolvable): void; resetSnoopingVlansLegacy(): void; get snoopingVlansLegacyInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }