import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CryptoIkev2KeyringConfig extends cdktf.TerraformMetaArguments { /** * 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_keyring#device CryptoIkev2Keyring#device} */ readonly device?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#name CryptoIkev2Keyring#name} */ readonly name: string; /** * Configure a Peer and associated keys * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#peers CryptoIkev2Keyring#peers} */ readonly peers?: CryptoIkev2KeyringPeers[] | cdktf.IResolvable; } export interface CryptoIkev2KeyringPeers { /** * Specify a description of this peer * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#description CryptoIkev2Keyring#description} */ readonly description?: string; /** * Hostname of peer * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#hostname CryptoIkev2Keyring#hostname} */ readonly hostname?: string; /** * IP address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#identity_address CryptoIkev2Keyring#identity_address} */ readonly identityAddress?: string; /** * email Domain Name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#identity_email_domain CryptoIkev2Keyring#identity_email_domain} */ readonly identityEmailDomain?: string; /** * Specify the name string * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#identity_email_name CryptoIkev2Keyring#identity_email_name} */ readonly identityEmailName?: string; /** * email Domain Name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#identity_fqdn_domain CryptoIkev2Keyring#identity_fqdn_domain} */ readonly identityFqdnDomain?: string; /** * Specify the name string * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#identity_fqdn_name CryptoIkev2Keyring#identity_fqdn_name} */ readonly identityFqdnName?: string; /** * proprietary types of identification (ID KEY ID) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#identity_key_id CryptoIkev2Keyring#identity_key_id} */ readonly identityKeyId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#ipv4_address CryptoIkev2Keyring#ipv4_address} */ readonly ipv4Address?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#ipv4_mask CryptoIkev2Keyring#ipv4_mask} */ readonly ipv4Mask?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#ipv6_prefix CryptoIkev2Keyring#ipv6_prefix} */ readonly ipv6Prefix?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#name CryptoIkev2Keyring#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#pre_shared_key CryptoIkev2Keyring#pre_shared_key} */ readonly preSharedKey?: string; /** * * - Choices: `0`, `6` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#pre_shared_key_encryption CryptoIkev2Keyring#pre_shared_key_encryption} */ readonly preSharedKeyEncryption?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#pre_shared_key_local CryptoIkev2Keyring#pre_shared_key_local} */ readonly preSharedKeyLocal?: string; /** * * - Choices: `0`, `6` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#pre_shared_key_local_encryption CryptoIkev2Keyring#pre_shared_key_local_encryption} */ readonly preSharedKeyLocalEncryption?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#pre_shared_key_remote CryptoIkev2Keyring#pre_shared_key_remote} */ readonly preSharedKeyRemote?: string; /** * * - Choices: `0`, `6` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#pre_shared_key_remote_encryption CryptoIkev2Keyring#pre_shared_key_remote_encryption} */ readonly preSharedKeyRemoteEncryption?: string; } export declare function cryptoIkev2KeyringPeersToTerraform(struct?: CryptoIkev2KeyringPeers | cdktf.IResolvable): any; export declare function cryptoIkev2KeyringPeersToHclTerraform(struct?: CryptoIkev2KeyringPeers | cdktf.IResolvable): any; export declare class CryptoIkev2KeyringPeersOutputReference 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(): CryptoIkev2KeyringPeers | cdktf.IResolvable | undefined; set internalValue(value: CryptoIkev2KeyringPeers | cdktf.IResolvable | undefined); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _hostname?; get hostname(): string; set hostname(value: string); resetHostname(): void; get hostnameInput(): string; private _identityAddress?; get identityAddress(): string; set identityAddress(value: string); resetIdentityAddress(): void; get identityAddressInput(): string; private _identityEmailDomain?; get identityEmailDomain(): string; set identityEmailDomain(value: string); resetIdentityEmailDomain(): void; get identityEmailDomainInput(): string; private _identityEmailName?; get identityEmailName(): string; set identityEmailName(value: string); resetIdentityEmailName(): void; get identityEmailNameInput(): string; private _identityFqdnDomain?; get identityFqdnDomain(): string; set identityFqdnDomain(value: string); resetIdentityFqdnDomain(): void; get identityFqdnDomainInput(): string; private _identityFqdnName?; get identityFqdnName(): string; set identityFqdnName(value: string); resetIdentityFqdnName(): void; get identityFqdnNameInput(): string; private _identityKeyId?; get identityKeyId(): string; set identityKeyId(value: string); resetIdentityKeyId(): void; get identityKeyIdInput(): string; private _ipv4Address?; get ipv4Address(): string; set ipv4Address(value: string); resetIpv4Address(): void; get ipv4AddressInput(): string; private _ipv4Mask?; get ipv4Mask(): string; set ipv4Mask(value: string); resetIpv4Mask(): void; get ipv4MaskInput(): string; private _ipv6Prefix?; get ipv6Prefix(): string; set ipv6Prefix(value: string); resetIpv6Prefix(): void; get ipv6PrefixInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _preSharedKey?; get preSharedKey(): string; set preSharedKey(value: string); resetPreSharedKey(): void; get preSharedKeyInput(): string; private _preSharedKeyEncryption?; get preSharedKeyEncryption(): string; set preSharedKeyEncryption(value: string); resetPreSharedKeyEncryption(): void; get preSharedKeyEncryptionInput(): string; private _preSharedKeyLocal?; get preSharedKeyLocal(): string; set preSharedKeyLocal(value: string); resetPreSharedKeyLocal(): void; get preSharedKeyLocalInput(): string; private _preSharedKeyLocalEncryption?; get preSharedKeyLocalEncryption(): string; set preSharedKeyLocalEncryption(value: string); resetPreSharedKeyLocalEncryption(): void; get preSharedKeyLocalEncryptionInput(): string; private _preSharedKeyRemote?; get preSharedKeyRemote(): string; set preSharedKeyRemote(value: string); resetPreSharedKeyRemote(): void; get preSharedKeyRemoteInput(): string; private _preSharedKeyRemoteEncryption?; get preSharedKeyRemoteEncryption(): string; set preSharedKeyRemoteEncryption(value: string); resetPreSharedKeyRemoteEncryption(): void; get preSharedKeyRemoteEncryptionInput(): string; } export declare class CryptoIkev2KeyringPeersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: CryptoIkev2KeyringPeers[] | 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): CryptoIkev2KeyringPeersOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring iosxe_crypto_ikev2_keyring} */ export declare class CryptoIkev2Keyring extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_crypto_ikev2_keyring"; /** * Generates CDKTF code for importing a CryptoIkev2Keyring 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 CryptoIkev2Keyring to import * @param importFromId The id of the existing CryptoIkev2Keyring that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/crypto_ikev2_keyring#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CryptoIkev2Keyring 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_keyring iosxe_crypto_ikev2_keyring} 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 CryptoIkev2KeyringConfig */ constructor(scope: Construct, id: string, config: CryptoIkev2KeyringConfig); private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _peers; get peers(): CryptoIkev2KeyringPeersList; putPeers(value: CryptoIkev2KeyringPeers[] | cdktf.IResolvable): void; resetPeers(): void; get peersInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }