import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataExoscaleSosBucketPolicyConfig extends cdktf.TerraformMetaArguments { /** * The name of the bucket to which the policy is to be applied. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sos_bucket_policy#bucket DataExoscaleSosBucketPolicy#bucket} */ readonly bucket: string; /** * The Exoscale [Zone](https://www.exoscale.com/datacenters/) name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sos_bucket_policy#zone DataExoscaleSosBucketPolicy#zone} */ readonly zone: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sos_bucket_policy#timeouts DataExoscaleSosBucketPolicy#timeouts} */ readonly timeouts?: DataExoscaleSosBucketPolicyTimeouts; } export interface DataExoscaleSosBucketPolicyTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sos_bucket_policy#read DataExoscaleSosBucketPolicy#read} */ readonly read?: string; } export declare function dataExoscaleSosBucketPolicyTimeoutsToTerraform(struct?: DataExoscaleSosBucketPolicyTimeouts | cdktf.IResolvable): any; export declare function dataExoscaleSosBucketPolicyTimeoutsToHclTerraform(struct?: DataExoscaleSosBucketPolicyTimeouts | cdktf.IResolvable): any; export declare class DataExoscaleSosBucketPolicyTimeoutsOutputReference 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(): DataExoscaleSosBucketPolicyTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DataExoscaleSosBucketPolicyTimeouts | cdktf.IResolvable | undefined); private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sos_bucket_policy exoscale_sos_bucket_policy} */ export declare class DataExoscaleSosBucketPolicy extends cdktf.TerraformDataSource { static readonly tfResourceType = "exoscale_sos_bucket_policy"; /** * Generates CDKTF code for importing a DataExoscaleSosBucketPolicy 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 DataExoscaleSosBucketPolicy to import * @param importFromId The id of the existing DataExoscaleSosBucketPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sos_bucket_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataExoscaleSosBucketPolicy 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/exoscale/exoscale/0.67.1/docs/data-sources/sos_bucket_policy exoscale_sos_bucket_policy} Data Source * * @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 DataExoscaleSosBucketPolicyConfig */ constructor(scope: Construct, id: string, config: DataExoscaleSosBucketPolicyConfig); private _bucket?; get bucket(): string; set bucket(value: string); get bucketInput(): string; get policy(): any; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _timeouts; get timeouts(): DataExoscaleSosBucketPolicyTimeoutsOutputReference; putTimeouts(value: DataExoscaleSosBucketPolicyTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }