import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CryptoIkev2ProfileConfig extends cdktf.TerraformMetaArguments { /** * Pre-Shared Key * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#authentication_local_pre_share CryptoIkev2Profile#authentication_local_pre_share} */ readonly authenticationLocalPreShare?: boolean | cdktf.IResolvable; /** * Pre-Shared Key * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#authentication_remote_pre_share CryptoIkev2Profile#authentication_remote_pre_share} */ readonly authenticationRemotePreShare?: boolean | cdktf.IResolvable; /** * enable config-exchange request * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#config_exchange_request CryptoIkev2Profile#config_exchange_request} */ readonly configExchangeRequest?: boolean | cdktf.IResolvable; /** * 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/crypto_ikev2_profile#delete_mode CryptoIkev2Profile#delete_mode} */ readonly deleteMode?: string; /** * Specify a description of this profile * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#description CryptoIkev2Profile#description} */ readonly description?: 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/crypto_ikev2_profile#device CryptoIkev2Profile#device} */ readonly device?: string; /** * * - Range: `10`-`3600` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#dpd_interval CryptoIkev2Profile#dpd_interval} */ readonly dpdInterval?: number; /** * * - Choices: `on-demand`, `periodic` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#dpd_query CryptoIkev2Profile#dpd_query} */ readonly dpdQuery?: string; /** * * - Range: `2`-`60` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#dpd_retry CryptoIkev2Profile#dpd_retry} */ readonly dpdRetry?: number; /** * address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#identity_local_address CryptoIkev2Profile#identity_local_address} */ readonly identityLocalAddress?: string; /** * key-id opaque string - proprietary types of identification key-id string * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#identity_local_key_id CryptoIkev2Profile#identity_local_key_id} */ readonly identityLocalKeyId?: string; /** * I-VRF of the profile * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#ivrf CryptoIkev2Profile#ivrf} */ readonly ivrf?: string; /** * Keyring name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#keyring_local CryptoIkev2Profile#keyring_local} */ readonly keyringLocal?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#match_address_local_ip CryptoIkev2Profile#match_address_local_ip} */ readonly matchAddressLocalIp?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#match_fvrf CryptoIkev2Profile#match_fvrf} */ readonly matchFvrf?: string; /** * Any fvrf * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#match_fvrf_any CryptoIkev2Profile#match_fvrf_any} */ readonly matchFvrfAny?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#match_identity_remote_ipv4_addresses CryptoIkev2Profile#match_identity_remote_ipv4_addresses} */ readonly matchIdentityRemoteIpv4Addresses?: CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses[] | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#match_identity_remote_ipv6_prefixes CryptoIkev2Profile#match_identity_remote_ipv6_prefixes} */ readonly matchIdentityRemoteIpv6Prefixes?: string[]; /** * key-id opaque string * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#match_identity_remote_keys CryptoIkev2Profile#match_identity_remote_keys} */ readonly matchIdentityRemoteKeys?: string[]; /** * Match the profile for incoming connections only * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#match_inbound_only CryptoIkev2Profile#match_inbound_only} */ readonly matchInboundOnly?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#name CryptoIkev2Profile#name} */ readonly name: string; } export interface CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#address CryptoIkev2Profile#address} */ readonly address: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#mask CryptoIkev2Profile#mask} */ readonly mask?: string; } export declare function cryptoIkev2ProfileMatchIdentityRemoteIpv4AddressesToTerraform(struct?: CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses | cdktf.IResolvable): any; export declare function cryptoIkev2ProfileMatchIdentityRemoteIpv4AddressesToHclTerraform(struct?: CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses | cdktf.IResolvable): any; export declare class CryptoIkev2ProfileMatchIdentityRemoteIpv4AddressesOutputReference 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(): CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses | cdktf.IResolvable | undefined; set internalValue(value: CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); get addressInput(): string; private _mask?; get mask(): string; set mask(value: string); resetMask(): void; get maskInput(): string; } export declare class CryptoIkev2ProfileMatchIdentityRemoteIpv4AddressesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses[] | 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): CryptoIkev2ProfileMatchIdentityRemoteIpv4AddressesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile iosxe_crypto_ikev2_profile} */ export declare class CryptoIkev2Profile extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_crypto_ikev2_profile"; /** * Generates CDKTF code for importing a CryptoIkev2Profile 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 CryptoIkev2Profile to import * @param importFromId The id of the existing CryptoIkev2Profile that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_profile#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CryptoIkev2Profile 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/crypto_ikev2_profile iosxe_crypto_ikev2_profile} 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 CryptoIkev2ProfileConfig */ constructor(scope: Construct, id: string, config: CryptoIkev2ProfileConfig); private _authenticationLocalPreShare?; get authenticationLocalPreShare(): boolean | cdktf.IResolvable; set authenticationLocalPreShare(value: boolean | cdktf.IResolvable); resetAuthenticationLocalPreShare(): void; get authenticationLocalPreShareInput(): any; private _authenticationRemotePreShare?; get authenticationRemotePreShare(): boolean | cdktf.IResolvable; set authenticationRemotePreShare(value: boolean | cdktf.IResolvable); resetAuthenticationRemotePreShare(): void; get authenticationRemotePreShareInput(): any; private _configExchangeRequest?; get configExchangeRequest(): boolean | cdktf.IResolvable; set configExchangeRequest(value: boolean | cdktf.IResolvable); resetConfigExchangeRequest(): void; get configExchangeRequestInput(): any; private _deleteMode?; get deleteMode(): string; set deleteMode(value: string); resetDeleteMode(): void; get deleteModeInput(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; private _dpdInterval?; get dpdInterval(): number; set dpdInterval(value: number); resetDpdInterval(): void; get dpdIntervalInput(): number; private _dpdQuery?; get dpdQuery(): string; set dpdQuery(value: string); resetDpdQuery(): void; get dpdQueryInput(): string; private _dpdRetry?; get dpdRetry(): number; set dpdRetry(value: number); resetDpdRetry(): void; get dpdRetryInput(): number; get id(): any; private _identityLocalAddress?; get identityLocalAddress(): string; set identityLocalAddress(value: string); resetIdentityLocalAddress(): void; get identityLocalAddressInput(): string; private _identityLocalKeyId?; get identityLocalKeyId(): string; set identityLocalKeyId(value: string); resetIdentityLocalKeyId(): void; get identityLocalKeyIdInput(): string; private _ivrf?; get ivrf(): string; set ivrf(value: string); resetIvrf(): void; get ivrfInput(): string; private _keyringLocal?; get keyringLocal(): string; set keyringLocal(value: string); resetKeyringLocal(): void; get keyringLocalInput(): string; private _matchAddressLocalIp?; get matchAddressLocalIp(): string; set matchAddressLocalIp(value: string); resetMatchAddressLocalIp(): void; get matchAddressLocalIpInput(): string; private _matchFvrf?; get matchFvrf(): string; set matchFvrf(value: string); resetMatchFvrf(): void; get matchFvrfInput(): string; private _matchFvrfAny?; get matchFvrfAny(): boolean | cdktf.IResolvable; set matchFvrfAny(value: boolean | cdktf.IResolvable); resetMatchFvrfAny(): void; get matchFvrfAnyInput(): any; private _matchIdentityRemoteIpv4Addresses; get matchIdentityRemoteIpv4Addresses(): CryptoIkev2ProfileMatchIdentityRemoteIpv4AddressesList; putMatchIdentityRemoteIpv4Addresses(value: CryptoIkev2ProfileMatchIdentityRemoteIpv4Addresses[] | cdktf.IResolvable): void; resetMatchIdentityRemoteIpv4Addresses(): void; get matchIdentityRemoteIpv4AddressesInput(): any; private _matchIdentityRemoteIpv6Prefixes?; get matchIdentityRemoteIpv6Prefixes(): string[]; set matchIdentityRemoteIpv6Prefixes(value: string[]); resetMatchIdentityRemoteIpv6Prefixes(): void; get matchIdentityRemoteIpv6PrefixesInput(): string[]; private _matchIdentityRemoteKeys?; get matchIdentityRemoteKeys(): string[]; set matchIdentityRemoteKeys(value: string[]); resetMatchIdentityRemoteKeys(): void; get matchIdentityRemoteKeysInput(): string[]; private _matchInboundOnly?; get matchInboundOnly(): boolean | cdktf.IResolvable; set matchInboundOnly(value: boolean | cdktf.IResolvable); resetMatchInboundOnly(): void; get matchInboundOnlyInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }