import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ContainerInstancesContainerInstanceConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#availability_domain ContainerInstancesContainerInstance#availability_domain}
    */
    readonly availabilityDomain: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#compartment_id ContainerInstancesContainerInstance#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#container_restart_policy ContainerInstancesContainerInstance#container_restart_policy}
    */
    readonly containerRestartPolicy?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#defined_tags ContainerInstancesContainerInstance#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#display_name ContainerInstancesContainerInstance#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#fault_domain ContainerInstancesContainerInstance#fault_domain}
    */
    readonly faultDomain?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#freeform_tags ContainerInstancesContainerInstance#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#graceful_shutdown_timeout_in_seconds ContainerInstancesContainerInstance#graceful_shutdown_timeout_in_seconds}
    */
    readonly gracefulShutdownTimeoutInSeconds?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#id ContainerInstancesContainerInstance#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#shape ContainerInstancesContainerInstance#shape}
    */
    readonly shape: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#state ContainerInstancesContainerInstance#state}
    */
    readonly state?: string;
    /**
    * containers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#containers ContainerInstancesContainerInstance#containers}
    */
    readonly containers: ContainerInstancesContainerInstanceContainers[] | cdktf.IResolvable;
    /**
    * dns_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#dns_config ContainerInstancesContainerInstance#dns_config}
    */
    readonly dnsConfig?: ContainerInstancesContainerInstanceDnsConfig;
    /**
    * image_pull_secrets block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#image_pull_secrets ContainerInstancesContainerInstance#image_pull_secrets}
    */
    readonly imagePullSecrets?: ContainerInstancesContainerInstanceImagePullSecrets[] | cdktf.IResolvable;
    /**
    * shape_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#shape_config ContainerInstancesContainerInstance#shape_config}
    */
    readonly shapeConfig: ContainerInstancesContainerInstanceShapeConfig;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#timeouts ContainerInstancesContainerInstance#timeouts}
    */
    readonly timeouts?: ContainerInstancesContainerInstanceTimeouts;
    /**
    * vnics block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#vnics ContainerInstancesContainerInstance#vnics}
    */
    readonly vnics: ContainerInstancesContainerInstanceVnics[] | cdktf.IResolvable;
    /**
    * volumes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#volumes ContainerInstancesContainerInstance#volumes}
    */
    readonly volumes?: ContainerInstancesContainerInstanceVolumes[] | cdktf.IResolvable;
}
export interface ContainerInstancesContainerInstanceContainersHealthChecksHeaders {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#name ContainerInstancesContainerInstance#name}
    */
    readonly name?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#value ContainerInstancesContainerInstance#value}
    */
    readonly value?: string;
}
export declare function containerInstancesContainerInstanceContainersHealthChecksHeadersToTerraform(struct?: ContainerInstancesContainerInstanceContainersHealthChecksHeaders | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceContainersHealthChecksHeadersToHclTerraform(struct?: ContainerInstancesContainerInstanceContainersHealthChecksHeaders | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceContainersHealthChecksHeadersOutputReference 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(): ContainerInstancesContainerInstanceContainersHealthChecksHeaders | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceContainersHealthChecksHeaders | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
}
export declare class ContainerInstancesContainerInstanceContainersHealthChecksHeadersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceContainersHealthChecksHeaders[] | 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): ContainerInstancesContainerInstanceContainersHealthChecksHeadersOutputReference;
}
export interface ContainerInstancesContainerInstanceContainersHealthChecks {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#command ContainerInstancesContainerInstance#command}
    */
    readonly command?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#failure_action ContainerInstancesContainerInstance#failure_action}
    */
    readonly failureAction?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#failure_threshold ContainerInstancesContainerInstance#failure_threshold}
    */
    readonly failureThreshold?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#health_check_type ContainerInstancesContainerInstance#health_check_type}
    */
    readonly healthCheckType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#initial_delay_in_seconds ContainerInstancesContainerInstance#initial_delay_in_seconds}
    */
    readonly initialDelayInSeconds?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#interval_in_seconds ContainerInstancesContainerInstance#interval_in_seconds}
    */
    readonly intervalInSeconds?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#name ContainerInstancesContainerInstance#name}
    */
    readonly name?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#path ContainerInstancesContainerInstance#path}
    */
    readonly path?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#port ContainerInstancesContainerInstance#port}
    */
    readonly port?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#status ContainerInstancesContainerInstance#status}
    */
    readonly status?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#status_details ContainerInstancesContainerInstance#status_details}
    */
    readonly statusDetails?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#success_threshold ContainerInstancesContainerInstance#success_threshold}
    */
    readonly successThreshold?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#timeout_in_seconds ContainerInstancesContainerInstance#timeout_in_seconds}
    */
    readonly timeoutInSeconds?: number;
    /**
    * headers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#headers ContainerInstancesContainerInstance#headers}
    */
    readonly headers?: ContainerInstancesContainerInstanceContainersHealthChecksHeaders[] | cdktf.IResolvable;
}
export declare function containerInstancesContainerInstanceContainersHealthChecksToTerraform(struct?: ContainerInstancesContainerInstanceContainersHealthChecks | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceContainersHealthChecksToHclTerraform(struct?: ContainerInstancesContainerInstanceContainersHealthChecks | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceContainersHealthChecksOutputReference 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(): ContainerInstancesContainerInstanceContainersHealthChecks | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceContainersHealthChecks | cdktf.IResolvable | undefined);
    private _command?;
    get command(): string[];
    set command(value: string[]);
    resetCommand(): void;
    get commandInput(): string[] | undefined;
    private _failureAction?;
    get failureAction(): string;
    set failureAction(value: string);
    resetFailureAction(): void;
    get failureActionInput(): string | undefined;
    private _failureThreshold?;
    get failureThreshold(): number;
    set failureThreshold(value: number);
    resetFailureThreshold(): void;
    get failureThresholdInput(): number | undefined;
    private _healthCheckType?;
    get healthCheckType(): string;
    set healthCheckType(value: string);
    get healthCheckTypeInput(): string | undefined;
    private _initialDelayInSeconds?;
    get initialDelayInSeconds(): number;
    set initialDelayInSeconds(value: number);
    resetInitialDelayInSeconds(): void;
    get initialDelayInSecondsInput(): number | undefined;
    private _intervalInSeconds?;
    get intervalInSeconds(): number;
    set intervalInSeconds(value: number);
    resetIntervalInSeconds(): void;
    get intervalInSecondsInput(): number | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _path?;
    get path(): string;
    set path(value: string);
    resetPath(): void;
    get pathInput(): string | undefined;
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _status?;
    get status(): string;
    set status(value: string);
    resetStatus(): void;
    get statusInput(): string | undefined;
    private _statusDetails?;
    get statusDetails(): string;
    set statusDetails(value: string);
    resetStatusDetails(): void;
    get statusDetailsInput(): string | undefined;
    private _successThreshold?;
    get successThreshold(): number;
    set successThreshold(value: number);
    resetSuccessThreshold(): void;
    get successThresholdInput(): number | undefined;
    private _timeoutInSeconds?;
    get timeoutInSeconds(): number;
    set timeoutInSeconds(value: number);
    resetTimeoutInSeconds(): void;
    get timeoutInSecondsInput(): number | undefined;
    private _headers;
    get headers(): ContainerInstancesContainerInstanceContainersHealthChecksHeadersList;
    putHeaders(value: ContainerInstancesContainerInstanceContainersHealthChecksHeaders[] | cdktf.IResolvable): void;
    resetHeaders(): void;
    get headersInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceContainersHealthChecksHeaders[] | undefined;
}
export declare class ContainerInstancesContainerInstanceContainersHealthChecksList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceContainersHealthChecks[] | 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): ContainerInstancesContainerInstanceContainersHealthChecksOutputReference;
}
export interface ContainerInstancesContainerInstanceContainersResourceConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#memory_limit_in_gbs ContainerInstancesContainerInstance#memory_limit_in_gbs}
    */
    readonly memoryLimitInGbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#vcpus_limit ContainerInstancesContainerInstance#vcpus_limit}
    */
    readonly vcpusLimit?: number;
}
export declare function containerInstancesContainerInstanceContainersResourceConfigToTerraform(struct?: ContainerInstancesContainerInstanceContainersResourceConfigOutputReference | ContainerInstancesContainerInstanceContainersResourceConfig): any;
export declare function containerInstancesContainerInstanceContainersResourceConfigToHclTerraform(struct?: ContainerInstancesContainerInstanceContainersResourceConfigOutputReference | ContainerInstancesContainerInstanceContainersResourceConfig): any;
export declare class ContainerInstancesContainerInstanceContainersResourceConfigOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ContainerInstancesContainerInstanceContainersResourceConfig | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceContainersResourceConfig | undefined);
    private _memoryLimitInGbs?;
    get memoryLimitInGbs(): number;
    set memoryLimitInGbs(value: number);
    resetMemoryLimitInGbs(): void;
    get memoryLimitInGbsInput(): number | undefined;
    private _vcpusLimit?;
    get vcpusLimit(): number;
    set vcpusLimit(value: number);
    resetVcpusLimit(): void;
    get vcpusLimitInput(): number | undefined;
}
export interface ContainerInstancesContainerInstanceContainersSecurityContextCapabilities {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#add_capabilities ContainerInstancesContainerInstance#add_capabilities}
    */
    readonly addCapabilities?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#drop_capabilities ContainerInstancesContainerInstance#drop_capabilities}
    */
    readonly dropCapabilities?: string[];
}
export declare function containerInstancesContainerInstanceContainersSecurityContextCapabilitiesToTerraform(struct?: ContainerInstancesContainerInstanceContainersSecurityContextCapabilitiesOutputReference | ContainerInstancesContainerInstanceContainersSecurityContextCapabilities): any;
export declare function containerInstancesContainerInstanceContainersSecurityContextCapabilitiesToHclTerraform(struct?: ContainerInstancesContainerInstanceContainersSecurityContextCapabilitiesOutputReference | ContainerInstancesContainerInstanceContainersSecurityContextCapabilities): any;
export declare class ContainerInstancesContainerInstanceContainersSecurityContextCapabilitiesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ContainerInstancesContainerInstanceContainersSecurityContextCapabilities | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceContainersSecurityContextCapabilities | undefined);
    private _addCapabilities?;
    get addCapabilities(): string[];
    set addCapabilities(value: string[]);
    resetAddCapabilities(): void;
    get addCapabilitiesInput(): string[] | undefined;
    private _dropCapabilities?;
    get dropCapabilities(): string[];
    set dropCapabilities(value: string[]);
    resetDropCapabilities(): void;
    get dropCapabilitiesInput(): string[] | undefined;
}
export interface ContainerInstancesContainerInstanceContainersSecurityContext {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#is_non_root_user_check_enabled ContainerInstancesContainerInstance#is_non_root_user_check_enabled}
    */
    readonly isNonRootUserCheckEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#is_root_file_system_readonly ContainerInstancesContainerInstance#is_root_file_system_readonly}
    */
    readonly isRootFileSystemReadonly?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#run_as_group ContainerInstancesContainerInstance#run_as_group}
    */
    readonly runAsGroup?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#run_as_user ContainerInstancesContainerInstance#run_as_user}
    */
    readonly runAsUser?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#security_context_type ContainerInstancesContainerInstance#security_context_type}
    */
    readonly securityContextType?: string;
    /**
    * capabilities block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#capabilities ContainerInstancesContainerInstance#capabilities}
    */
    readonly capabilities?: ContainerInstancesContainerInstanceContainersSecurityContextCapabilities;
}
export declare function containerInstancesContainerInstanceContainersSecurityContextToTerraform(struct?: ContainerInstancesContainerInstanceContainersSecurityContextOutputReference | ContainerInstancesContainerInstanceContainersSecurityContext): any;
export declare function containerInstancesContainerInstanceContainersSecurityContextToHclTerraform(struct?: ContainerInstancesContainerInstanceContainersSecurityContextOutputReference | ContainerInstancesContainerInstanceContainersSecurityContext): any;
export declare class ContainerInstancesContainerInstanceContainersSecurityContextOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ContainerInstancesContainerInstanceContainersSecurityContext | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceContainersSecurityContext | undefined);
    private _isNonRootUserCheckEnabled?;
    get isNonRootUserCheckEnabled(): boolean | cdktf.IResolvable;
    set isNonRootUserCheckEnabled(value: boolean | cdktf.IResolvable);
    resetIsNonRootUserCheckEnabled(): void;
    get isNonRootUserCheckEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _isRootFileSystemReadonly?;
    get isRootFileSystemReadonly(): boolean | cdktf.IResolvable;
    set isRootFileSystemReadonly(value: boolean | cdktf.IResolvable);
    resetIsRootFileSystemReadonly(): void;
    get isRootFileSystemReadonlyInput(): boolean | cdktf.IResolvable | undefined;
    private _runAsGroup?;
    get runAsGroup(): number;
    set runAsGroup(value: number);
    resetRunAsGroup(): void;
    get runAsGroupInput(): number | undefined;
    private _runAsUser?;
    get runAsUser(): number;
    set runAsUser(value: number);
    resetRunAsUser(): void;
    get runAsUserInput(): number | undefined;
    private _securityContextType?;
    get securityContextType(): string;
    set securityContextType(value: string);
    resetSecurityContextType(): void;
    get securityContextTypeInput(): string | undefined;
    private _capabilities;
    get capabilities(): ContainerInstancesContainerInstanceContainersSecurityContextCapabilitiesOutputReference;
    putCapabilities(value: ContainerInstancesContainerInstanceContainersSecurityContextCapabilities): void;
    resetCapabilities(): void;
    get capabilitiesInput(): ContainerInstancesContainerInstanceContainersSecurityContextCapabilities | undefined;
}
export interface ContainerInstancesContainerInstanceContainersVolumeMounts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#is_read_only ContainerInstancesContainerInstance#is_read_only}
    */
    readonly isReadOnly?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#mount_path ContainerInstancesContainerInstance#mount_path}
    */
    readonly mountPath: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#partition ContainerInstancesContainerInstance#partition}
    */
    readonly partition?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#sub_path ContainerInstancesContainerInstance#sub_path}
    */
    readonly subPath?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#volume_name ContainerInstancesContainerInstance#volume_name}
    */
    readonly volumeName: string;
}
export declare function containerInstancesContainerInstanceContainersVolumeMountsToTerraform(struct?: ContainerInstancesContainerInstanceContainersVolumeMounts | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceContainersVolumeMountsToHclTerraform(struct?: ContainerInstancesContainerInstanceContainersVolumeMounts | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceContainersVolumeMountsOutputReference 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(): ContainerInstancesContainerInstanceContainersVolumeMounts | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceContainersVolumeMounts | cdktf.IResolvable | undefined);
    private _isReadOnly?;
    get isReadOnly(): boolean | cdktf.IResolvable;
    set isReadOnly(value: boolean | cdktf.IResolvable);
    resetIsReadOnly(): void;
    get isReadOnlyInput(): boolean | cdktf.IResolvable | undefined;
    private _mountPath?;
    get mountPath(): string;
    set mountPath(value: string);
    get mountPathInput(): string | undefined;
    private _partition?;
    get partition(): number;
    set partition(value: number);
    resetPartition(): void;
    get partitionInput(): number | undefined;
    private _subPath?;
    get subPath(): string;
    set subPath(value: string);
    resetSubPath(): void;
    get subPathInput(): string | undefined;
    private _volumeName?;
    get volumeName(): string;
    set volumeName(value: string);
    get volumeNameInput(): string | undefined;
}
export declare class ContainerInstancesContainerInstanceContainersVolumeMountsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceContainersVolumeMounts[] | 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): ContainerInstancesContainerInstanceContainersVolumeMountsOutputReference;
}
export interface ContainerInstancesContainerInstanceContainers {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#arguments ContainerInstancesContainerInstance#arguments}
    */
    readonly arguments?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#command ContainerInstancesContainerInstance#command}
    */
    readonly command?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#defined_tags ContainerInstancesContainerInstance#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#display_name ContainerInstancesContainerInstance#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#environment_variables ContainerInstancesContainerInstance#environment_variables}
    */
    readonly environmentVariables?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#freeform_tags ContainerInstancesContainerInstance#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#image_url ContainerInstancesContainerInstance#image_url}
    */
    readonly imageUrl: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#is_resource_principal_disabled ContainerInstancesContainerInstance#is_resource_principal_disabled}
    */
    readonly isResourcePrincipalDisabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#working_directory ContainerInstancesContainerInstance#working_directory}
    */
    readonly workingDirectory?: string;
    /**
    * health_checks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#health_checks ContainerInstancesContainerInstance#health_checks}
    */
    readonly healthChecks?: ContainerInstancesContainerInstanceContainersHealthChecks[] | cdktf.IResolvable;
    /**
    * resource_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#resource_config ContainerInstancesContainerInstance#resource_config}
    */
    readonly resourceConfig?: ContainerInstancesContainerInstanceContainersResourceConfig;
    /**
    * security_context block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#security_context ContainerInstancesContainerInstance#security_context}
    */
    readonly securityContext?: ContainerInstancesContainerInstanceContainersSecurityContext;
    /**
    * volume_mounts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#volume_mounts ContainerInstancesContainerInstance#volume_mounts}
    */
    readonly volumeMounts?: ContainerInstancesContainerInstanceContainersVolumeMounts[] | cdktf.IResolvable;
}
export declare function containerInstancesContainerInstanceContainersToTerraform(struct?: ContainerInstancesContainerInstanceContainers | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceContainersToHclTerraform(struct?: ContainerInstancesContainerInstanceContainers | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceContainersOutputReference 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(): ContainerInstancesContainerInstanceContainers | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceContainers | cdktf.IResolvable | undefined);
    private _arguments?;
    get arguments(): string[];
    set arguments(value: string[]);
    resetArguments(): void;
    get argumentsInput(): string[] | undefined;
    get availabilityDomain(): string;
    private _command?;
    get command(): string[];
    set command(value: string[]);
    resetCommand(): void;
    get commandInput(): string[] | undefined;
    get compartmentId(): string;
    get containerId(): string;
    get containerInstanceId(): string;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _environmentVariables?;
    get environmentVariables(): {
        [key: string]: string;
    };
    set environmentVariables(value: {
        [key: string]: string;
    });
    resetEnvironmentVariables(): void;
    get environmentVariablesInput(): {
        [key: string]: string;
    } | undefined;
    get exitCode(): number;
    get faultDomain(): string;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _imageUrl?;
    get imageUrl(): string;
    set imageUrl(value: string);
    get imageUrlInput(): string | undefined;
    private _isResourcePrincipalDisabled?;
    get isResourcePrincipalDisabled(): boolean | cdktf.IResolvable;
    set isResourcePrincipalDisabled(value: boolean | cdktf.IResolvable);
    resetIsResourcePrincipalDisabled(): void;
    get isResourcePrincipalDisabledInput(): boolean | cdktf.IResolvable | undefined;
    get lifecycleDetails(): string;
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeTerminated(): string;
    get timeUpdated(): string;
    private _workingDirectory?;
    get workingDirectory(): string;
    set workingDirectory(value: string);
    resetWorkingDirectory(): void;
    get workingDirectoryInput(): string | undefined;
    private _healthChecks;
    get healthChecks(): ContainerInstancesContainerInstanceContainersHealthChecksList;
    putHealthChecks(value: ContainerInstancesContainerInstanceContainersHealthChecks[] | cdktf.IResolvable): void;
    resetHealthChecks(): void;
    get healthChecksInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceContainersHealthChecks[] | undefined;
    private _resourceConfig;
    get resourceConfig(): ContainerInstancesContainerInstanceContainersResourceConfigOutputReference;
    putResourceConfig(value: ContainerInstancesContainerInstanceContainersResourceConfig): void;
    resetResourceConfig(): void;
    get resourceConfigInput(): ContainerInstancesContainerInstanceContainersResourceConfig | undefined;
    private _securityContext;
    get securityContext(): ContainerInstancesContainerInstanceContainersSecurityContextOutputReference;
    putSecurityContext(value: ContainerInstancesContainerInstanceContainersSecurityContext): void;
    resetSecurityContext(): void;
    get securityContextInput(): ContainerInstancesContainerInstanceContainersSecurityContext | undefined;
    private _volumeMounts;
    get volumeMounts(): ContainerInstancesContainerInstanceContainersVolumeMountsList;
    putVolumeMounts(value: ContainerInstancesContainerInstanceContainersVolumeMounts[] | cdktf.IResolvable): void;
    resetVolumeMounts(): void;
    get volumeMountsInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceContainersVolumeMounts[] | undefined;
}
export declare class ContainerInstancesContainerInstanceContainersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceContainers[] | 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): ContainerInstancesContainerInstanceContainersOutputReference;
}
export interface ContainerInstancesContainerInstanceDnsConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#nameservers ContainerInstancesContainerInstance#nameservers}
    */
    readonly nameservers?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#options ContainerInstancesContainerInstance#options}
    */
    readonly options?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#searches ContainerInstancesContainerInstance#searches}
    */
    readonly searches?: string[];
}
export declare function containerInstancesContainerInstanceDnsConfigToTerraform(struct?: ContainerInstancesContainerInstanceDnsConfigOutputReference | ContainerInstancesContainerInstanceDnsConfig): any;
export declare function containerInstancesContainerInstanceDnsConfigToHclTerraform(struct?: ContainerInstancesContainerInstanceDnsConfigOutputReference | ContainerInstancesContainerInstanceDnsConfig): any;
export declare class ContainerInstancesContainerInstanceDnsConfigOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ContainerInstancesContainerInstanceDnsConfig | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceDnsConfig | undefined);
    private _nameservers?;
    get nameservers(): string[];
    set nameservers(value: string[]);
    resetNameservers(): void;
    get nameserversInput(): string[] | undefined;
    private _options?;
    get options(): string[];
    set options(value: string[]);
    resetOptions(): void;
    get optionsInput(): string[] | undefined;
    private _searches?;
    get searches(): string[];
    set searches(value: string[]);
    resetSearches(): void;
    get searchesInput(): string[] | undefined;
}
export interface ContainerInstancesContainerInstanceImagePullSecrets {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#password ContainerInstancesContainerInstance#password}
    */
    readonly password?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#registry_endpoint ContainerInstancesContainerInstance#registry_endpoint}
    */
    readonly registryEndpoint: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#secret_id ContainerInstancesContainerInstance#secret_id}
    */
    readonly secretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#secret_type ContainerInstancesContainerInstance#secret_type}
    */
    readonly secretType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#username ContainerInstancesContainerInstance#username}
    */
    readonly username?: string;
}
export declare function containerInstancesContainerInstanceImagePullSecretsToTerraform(struct?: ContainerInstancesContainerInstanceImagePullSecrets | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceImagePullSecretsToHclTerraform(struct?: ContainerInstancesContainerInstanceImagePullSecrets | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceImagePullSecretsOutputReference 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(): ContainerInstancesContainerInstanceImagePullSecrets | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceImagePullSecrets | cdktf.IResolvable | undefined);
    private _password?;
    get password(): string;
    set password(value: string);
    resetPassword(): void;
    get passwordInput(): string | undefined;
    private _registryEndpoint?;
    get registryEndpoint(): string;
    set registryEndpoint(value: string);
    get registryEndpointInput(): string | undefined;
    private _secretId?;
    get secretId(): string;
    set secretId(value: string);
    resetSecretId(): void;
    get secretIdInput(): string | undefined;
    private _secretType?;
    get secretType(): string;
    set secretType(value: string);
    get secretTypeInput(): string | undefined;
    private _username?;
    get username(): string;
    set username(value: string);
    resetUsername(): void;
    get usernameInput(): string | undefined;
}
export declare class ContainerInstancesContainerInstanceImagePullSecretsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceImagePullSecrets[] | 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): ContainerInstancesContainerInstanceImagePullSecretsOutputReference;
}
export interface ContainerInstancesContainerInstanceShapeConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#memory_in_gbs ContainerInstancesContainerInstance#memory_in_gbs}
    */
    readonly memoryInGbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#ocpus ContainerInstancesContainerInstance#ocpus}
    */
    readonly ocpus: number;
}
export declare function containerInstancesContainerInstanceShapeConfigToTerraform(struct?: ContainerInstancesContainerInstanceShapeConfigOutputReference | ContainerInstancesContainerInstanceShapeConfig): any;
export declare function containerInstancesContainerInstanceShapeConfigToHclTerraform(struct?: ContainerInstancesContainerInstanceShapeConfigOutputReference | ContainerInstancesContainerInstanceShapeConfig): any;
export declare class ContainerInstancesContainerInstanceShapeConfigOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ContainerInstancesContainerInstanceShapeConfig | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceShapeConfig | undefined);
    private _memoryInGbs?;
    get memoryInGbs(): number;
    set memoryInGbs(value: number);
    resetMemoryInGbs(): void;
    get memoryInGbsInput(): number | undefined;
    get networkingBandwidthInGbps(): number;
    private _ocpus?;
    get ocpus(): number;
    set ocpus(value: number);
    get ocpusInput(): number | undefined;
    get processorDescription(): string;
}
export interface ContainerInstancesContainerInstanceTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#create ContainerInstancesContainerInstance#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#delete ContainerInstancesContainerInstance#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#update ContainerInstancesContainerInstance#update}
    */
    readonly update?: string;
}
export declare function containerInstancesContainerInstanceTimeoutsToTerraform(struct?: ContainerInstancesContainerInstanceTimeouts | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceTimeoutsToHclTerraform(struct?: ContainerInstancesContainerInstanceTimeouts | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ContainerInstancesContainerInstanceTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
export interface ContainerInstancesContainerInstanceVnics {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#defined_tags ContainerInstancesContainerInstance#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#display_name ContainerInstancesContainerInstance#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#freeform_tags ContainerInstancesContainerInstance#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#hostname_label ContainerInstancesContainerInstance#hostname_label}
    */
    readonly hostnameLabel?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#is_public_ip_assigned ContainerInstancesContainerInstance#is_public_ip_assigned}
    */
    readonly isPublicIpAssigned?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#nsg_ids ContainerInstancesContainerInstance#nsg_ids}
    */
    readonly nsgIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#private_ip ContainerInstancesContainerInstance#private_ip}
    */
    readonly privateIp?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#skip_source_dest_check ContainerInstancesContainerInstance#skip_source_dest_check}
    */
    readonly skipSourceDestCheck?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#subnet_id ContainerInstancesContainerInstance#subnet_id}
    */
    readonly subnetId: string;
}
export declare function containerInstancesContainerInstanceVnicsToTerraform(struct?: ContainerInstancesContainerInstanceVnics | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceVnicsToHclTerraform(struct?: ContainerInstancesContainerInstanceVnics | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceVnicsOutputReference 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(): ContainerInstancesContainerInstanceVnics | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceVnics | cdktf.IResolvable | undefined);
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _hostnameLabel?;
    get hostnameLabel(): string;
    set hostnameLabel(value: string);
    resetHostnameLabel(): void;
    get hostnameLabelInput(): string | undefined;
    private _isPublicIpAssigned?;
    get isPublicIpAssigned(): boolean | cdktf.IResolvable;
    set isPublicIpAssigned(value: boolean | cdktf.IResolvable);
    resetIsPublicIpAssigned(): void;
    get isPublicIpAssignedInput(): boolean | cdktf.IResolvable | undefined;
    private _nsgIds?;
    get nsgIds(): string[];
    set nsgIds(value: string[]);
    resetNsgIds(): void;
    get nsgIdsInput(): string[] | undefined;
    private _privateIp?;
    get privateIp(): string;
    set privateIp(value: string);
    resetPrivateIp(): void;
    get privateIpInput(): string | undefined;
    private _skipSourceDestCheck?;
    get skipSourceDestCheck(): boolean | cdktf.IResolvable;
    set skipSourceDestCheck(value: boolean | cdktf.IResolvable);
    resetSkipSourceDestCheck(): void;
    get skipSourceDestCheckInput(): boolean | cdktf.IResolvable | undefined;
    private _subnetId?;
    get subnetId(): string;
    set subnetId(value: string);
    get subnetIdInput(): string | undefined;
    get vnicId(): string;
}
export declare class ContainerInstancesContainerInstanceVnicsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceVnics[] | 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): ContainerInstancesContainerInstanceVnicsOutputReference;
}
export interface ContainerInstancesContainerInstanceVolumesConfigs {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#data ContainerInstancesContainerInstance#data}
    */
    readonly data?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#file_name ContainerInstancesContainerInstance#file_name}
    */
    readonly fileName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#path ContainerInstancesContainerInstance#path}
    */
    readonly path?: string;
}
export declare function containerInstancesContainerInstanceVolumesConfigsToTerraform(struct?: ContainerInstancesContainerInstanceVolumesConfigs | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceVolumesConfigsToHclTerraform(struct?: ContainerInstancesContainerInstanceVolumesConfigs | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceVolumesConfigsOutputReference 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(): ContainerInstancesContainerInstanceVolumesConfigs | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceVolumesConfigs | cdktf.IResolvable | undefined);
    private _data?;
    get data(): string;
    set data(value: string);
    resetData(): void;
    get dataInput(): string | undefined;
    private _fileName?;
    get fileName(): string;
    set fileName(value: string);
    resetFileName(): void;
    get fileNameInput(): string | undefined;
    private _path?;
    get path(): string;
    set path(value: string);
    resetPath(): void;
    get pathInput(): string | undefined;
}
export declare class ContainerInstancesContainerInstanceVolumesConfigsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceVolumesConfigs[] | 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): ContainerInstancesContainerInstanceVolumesConfigsOutputReference;
}
export interface ContainerInstancesContainerInstanceVolumes {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#backing_store ContainerInstancesContainerInstance#backing_store}
    */
    readonly backingStore?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#name ContainerInstancesContainerInstance#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#volume_type ContainerInstancesContainerInstance#volume_type}
    */
    readonly volumeType: string;
    /**
    * configs block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#configs ContainerInstancesContainerInstance#configs}
    */
    readonly configs?: ContainerInstancesContainerInstanceVolumesConfigs[] | cdktf.IResolvable;
}
export declare function containerInstancesContainerInstanceVolumesToTerraform(struct?: ContainerInstancesContainerInstanceVolumes | cdktf.IResolvable): any;
export declare function containerInstancesContainerInstanceVolumesToHclTerraform(struct?: ContainerInstancesContainerInstanceVolumes | cdktf.IResolvable): any;
export declare class ContainerInstancesContainerInstanceVolumesOutputReference 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(): ContainerInstancesContainerInstanceVolumes | cdktf.IResolvable | undefined;
    set internalValue(value: ContainerInstancesContainerInstanceVolumes | cdktf.IResolvable | undefined);
    private _backingStore?;
    get backingStore(): string;
    set backingStore(value: string);
    resetBackingStore(): void;
    get backingStoreInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _volumeType?;
    get volumeType(): string;
    set volumeType(value: string);
    get volumeTypeInput(): string | undefined;
    private _configs;
    get configs(): ContainerInstancesContainerInstanceVolumesConfigsList;
    putConfigs(value: ContainerInstancesContainerInstanceVolumesConfigs[] | cdktf.IResolvable): void;
    resetConfigs(): void;
    get configsInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceVolumesConfigs[] | undefined;
}
export declare class ContainerInstancesContainerInstanceVolumesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ContainerInstancesContainerInstanceVolumes[] | 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): ContainerInstancesContainerInstanceVolumesOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance oci_container_instances_container_instance}
*/
export declare class ContainerInstancesContainerInstance extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_container_instances_container_instance";
    /**
    * Generates CDKTF code for importing a ContainerInstancesContainerInstance resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the ContainerInstancesContainerInstance to import
    * @param importFromId The id of the existing ContainerInstancesContainerInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the ContainerInstancesContainerInstance to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/container_instances_container_instance oci_container_instances_container_instance} 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 ContainerInstancesContainerInstanceConfig
    */
    constructor(scope: Construct, id: string, config: ContainerInstancesContainerInstanceConfig);
    private _availabilityDomain?;
    get availabilityDomain(): string;
    set availabilityDomain(value: string);
    get availabilityDomainInput(): string | undefined;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    get containerCount(): number;
    private _containerRestartPolicy?;
    get containerRestartPolicy(): string;
    set containerRestartPolicy(value: string);
    resetContainerRestartPolicy(): void;
    get containerRestartPolicyInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _faultDomain?;
    get faultDomain(): string;
    set faultDomain(value: string);
    resetFaultDomain(): void;
    get faultDomainInput(): string | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _gracefulShutdownTimeoutInSeconds?;
    get gracefulShutdownTimeoutInSeconds(): string;
    set gracefulShutdownTimeoutInSeconds(value: string);
    resetGracefulShutdownTimeoutInSeconds(): void;
    get gracefulShutdownTimeoutInSecondsInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    get lifecycleDetails(): string;
    private _shape?;
    get shape(): string;
    set shape(value: string);
    get shapeInput(): string | undefined;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    get volumeCount(): number;
    private _containers;
    get containers(): ContainerInstancesContainerInstanceContainersList;
    putContainers(value: ContainerInstancesContainerInstanceContainers[] | cdktf.IResolvable): void;
    get containersInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceContainers[] | undefined;
    private _dnsConfig;
    get dnsConfig(): ContainerInstancesContainerInstanceDnsConfigOutputReference;
    putDnsConfig(value: ContainerInstancesContainerInstanceDnsConfig): void;
    resetDnsConfig(): void;
    get dnsConfigInput(): ContainerInstancesContainerInstanceDnsConfig | undefined;
    private _imagePullSecrets;
    get imagePullSecrets(): ContainerInstancesContainerInstanceImagePullSecretsList;
    putImagePullSecrets(value: ContainerInstancesContainerInstanceImagePullSecrets[] | cdktf.IResolvable): void;
    resetImagePullSecrets(): void;
    get imagePullSecretsInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceImagePullSecrets[] | undefined;
    private _shapeConfig;
    get shapeConfig(): ContainerInstancesContainerInstanceShapeConfigOutputReference;
    putShapeConfig(value: ContainerInstancesContainerInstanceShapeConfig): void;
    get shapeConfigInput(): ContainerInstancesContainerInstanceShapeConfig | undefined;
    private _timeouts;
    get timeouts(): ContainerInstancesContainerInstanceTimeoutsOutputReference;
    putTimeouts(value: ContainerInstancesContainerInstanceTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceTimeouts | undefined;
    private _vnics;
    get vnics(): ContainerInstancesContainerInstanceVnicsList;
    putVnics(value: ContainerInstancesContainerInstanceVnics[] | cdktf.IResolvable): void;
    get vnicsInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceVnics[] | undefined;
    private _volumes;
    get volumes(): ContainerInstancesContainerInstanceVolumesList;
    putVolumes(value: ContainerInstancesContainerInstanceVolumes[] | cdktf.IResolvable): void;
    resetVolumes(): void;
    get volumesInput(): cdktf.IResolvable | ContainerInstancesContainerInstanceVolumes[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
