import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface YangConfig extends cdktf.TerraformMetaArguments { /** * Map of key-value pairs which represents the YANG leafs and its values. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#attributes Yang#attributes} */ readonly attributes?: { [key: string]: string; }; /** * Delete object during destroy operation. Default value is `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#delete Yang#delete} */ readonly delete?: boolean | cdktf.IResolvable; /** * A device name from the provider configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#device Yang#device} */ readonly device?: string; /** * YANG lists. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#lists Yang#lists} */ readonly lists?: YangLists[] | cdktf.IResolvable; /** * A YANG path, e.g. `openconfig-interfaces:interfaces`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#path Yang#path} */ readonly path: string; } export interface YangLists { /** * List of maps of key-value pairs which represents the YANG leafs and its values. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#items Yang#items} */ readonly items?: { [key: string]: string; }[] | cdktf.IResolvable; /** * YANG list key attribute. In case of multiple keys, those should be separated by a comma (`,`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#key Yang#key} */ readonly key: string; /** * YANG list name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#name Yang#name} */ readonly name: string; /** * YANG leaf-list values. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#values Yang#values} */ readonly values?: string[]; } export declare function yangListsToTerraform(struct?: YangLists | cdktf.IResolvable): any; export declare function yangListsToHclTerraform(struct?: YangLists | cdktf.IResolvable): any; export declare class YangListsOutputReference 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(): YangLists | cdktf.IResolvable | undefined; set internalValue(value: YangLists | cdktf.IResolvable | undefined); private _items?; get items(): { [key: string]: string; }[] | cdktf.IResolvable; set items(value: { [key: string]: string; }[] | cdktf.IResolvable); resetItems(): void; get itemsInput(): any; private _key?; get key(): string; set key(value: string); get keyInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _values?; get values(): string[]; set values(value: string[]); resetValues(): void; get valuesInput(): string[]; } export declare class YangListsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: YangLists[] | 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): YangListsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang iosxe_yang} */ export declare class Yang extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_yang"; /** * Generates CDKTF code for importing a Yang 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 Yang to import * @param importFromId The id of the existing Yang that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/yang#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Yang 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/yang iosxe_yang} 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 YangConfig */ constructor(scope: Construct, id: string, config: YangConfig); private _attributes?; get attributes(): { [key: string]: string; }; set attributes(value: { [key: string]: string; }); resetAttributes(): void; get attributesInput(): { [key: string]: string; }; private _delete?; get delete(): boolean | cdktf.IResolvable; set delete(value: boolean | cdktf.IResolvable); resetDelete(): void; get deleteInput(): any; private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; get id(): any; private _lists; get lists(): YangListsList; putLists(value: YangLists[] | cdktf.IResolvable): void; resetLists(): void; get listsInput(): any; private _path?; get path(): string; set path(value: string); get pathInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }