UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

869 lines 95.3 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface StorageTransferJobConfig extends cdktf.TerraformMetaArguments { /** * Unique description to identify the Transfer Job. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#description StorageTransferJob#description} */ readonly description: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#id StorageTransferJob#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; /** * The name of the Transfer Job. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#name StorageTransferJob#name} */ readonly name?: string; /** * The project in which the resource belongs. If it is not provided, the provider project is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#project StorageTransferJob#project} */ readonly project?: string; /** * Status of the job. Default: ENABLED. NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#status StorageTransferJob#status} */ readonly status?: string; /** * event_stream block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#event_stream StorageTransferJob#event_stream} */ readonly eventStream?: StorageTransferJobEventStream; /** * logging_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#logging_config StorageTransferJob#logging_config} */ readonly loggingConfig?: StorageTransferJobLoggingConfig; /** * notification_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#notification_config StorageTransferJob#notification_config} */ readonly notificationConfig?: StorageTransferJobNotificationConfig; /** * replication_spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#replication_spec StorageTransferJob#replication_spec} */ readonly replicationSpec?: StorageTransferJobReplicationSpec; /** * schedule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#schedule StorageTransferJob#schedule} */ readonly schedule?: StorageTransferJobSchedule; /** * transfer_spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#transfer_spec StorageTransferJob#transfer_spec} */ readonly transferSpec?: StorageTransferJobTransferSpec; } export interface StorageTransferJobEventStream { /** * Specifies the data and time at which Storage Transfer Service stops listening for events from this stream. After this time, any transfers in progress will complete, but no new transfers are initiated * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#event_stream_expiration_time StorageTransferJob#event_stream_expiration_time} */ readonly eventStreamExpirationTime?: string; /** * Specifies the date and time that Storage Transfer Service starts listening for events from this stream. If no start time is specified or start time is in the past, Storage Transfer Service starts listening immediately * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#event_stream_start_time StorageTransferJob#event_stream_start_time} */ readonly eventStreamStartTime?: string; /** * Specifies a unique name of the resource such as AWS SQS ARN in the form 'arn:aws:sqs:region:account_id:queue_name', or Pub/Sub subscription resource name in the form 'projects/{project}/subscriptions/{sub}' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#name StorageTransferJob#name} */ readonly name: string; } export declare function storageTransferJobEventStreamToTerraform(struct?: StorageTransferJobEventStreamOutputReference | StorageTransferJobEventStream): any; export declare function storageTransferJobEventStreamToHclTerraform(struct?: StorageTransferJobEventStreamOutputReference | StorageTransferJobEventStream): any; export declare class StorageTransferJobEventStreamOutputReference 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(): StorageTransferJobEventStream | undefined; set internalValue(value: StorageTransferJobEventStream | undefined); private _eventStreamExpirationTime?; get eventStreamExpirationTime(): string; set eventStreamExpirationTime(value: string); resetEventStreamExpirationTime(): void; get eventStreamExpirationTimeInput(): string | undefined; private _eventStreamStartTime?; get eventStreamStartTime(): string; set eventStreamStartTime(value: string); resetEventStreamStartTime(): void; get eventStreamStartTimeInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; } export interface StorageTransferJobLoggingConfig { /** * For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#enable_on_prem_gcs_transfer_logs StorageTransferJob#enable_on_prem_gcs_transfer_logs} */ readonly enableOnPremGcsTransferLogs?: boolean | cdktf.IResolvable; /** * States in which logActions are logged. Not supported for transfers with PosifxFilesystem data sources; use enable_on_prem_gcs_transfer_logs instead. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#log_action_states StorageTransferJob#log_action_states} */ readonly logActionStates?: string[]; /** * Specifies the actions to be logged. Not supported for transfers with PosifxFilesystem data sources; use enable_on_prem_gcs_transfer_logs instead. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#log_actions StorageTransferJob#log_actions} */ readonly logActions?: string[]; } export declare function storageTransferJobLoggingConfigToTerraform(struct?: StorageTransferJobLoggingConfigOutputReference | StorageTransferJobLoggingConfig): any; export declare function storageTransferJobLoggingConfigToHclTerraform(struct?: StorageTransferJobLoggingConfigOutputReference | StorageTransferJobLoggingConfig): any; export declare class StorageTransferJobLoggingConfigOutputReference 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(): StorageTransferJobLoggingConfig | undefined; set internalValue(value: StorageTransferJobLoggingConfig | undefined); private _enableOnPremGcsTransferLogs?; get enableOnPremGcsTransferLogs(): boolean | cdktf.IResolvable; set enableOnPremGcsTransferLogs(value: boolean | cdktf.IResolvable); resetEnableOnPremGcsTransferLogs(): void; get enableOnPremGcsTransferLogsInput(): boolean | cdktf.IResolvable | undefined; private _logActionStates?; get logActionStates(): string[]; set logActionStates(value: string[]); resetLogActionStates(): void; get logActionStatesInput(): string[] | undefined; private _logActions?; get logActions(): string[]; set logActions(value: string[]); resetLogActions(): void; get logActionsInput(): string[] | undefined; } export interface StorageTransferJobNotificationConfig { /** * Event types for which a notification is desired. If empty, send notifications for all event types. The valid types are "TRANSFER_OPERATION_SUCCESS", "TRANSFER_OPERATION_FAILED", "TRANSFER_OPERATION_ABORTED". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#event_types StorageTransferJob#event_types} */ readonly eventTypes?: string[]; /** * The desired format of the notification message payloads. One of "NONE" or "JSON". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#payload_format StorageTransferJob#payload_format} */ readonly payloadFormat: string; /** * The Topic.name of the Pub/Sub topic to which to publish notifications. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#pubsub_topic StorageTransferJob#pubsub_topic} */ readonly pubsubTopic: string; } export declare function storageTransferJobNotificationConfigToTerraform(struct?: StorageTransferJobNotificationConfigOutputReference | StorageTransferJobNotificationConfig): any; export declare function storageTransferJobNotificationConfigToHclTerraform(struct?: StorageTransferJobNotificationConfigOutputReference | StorageTransferJobNotificationConfig): any; export declare class StorageTransferJobNotificationConfigOutputReference 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(): StorageTransferJobNotificationConfig | undefined; set internalValue(value: StorageTransferJobNotificationConfig | undefined); private _eventTypes?; get eventTypes(): string[]; set eventTypes(value: string[]); resetEventTypes(): void; get eventTypesInput(): string[] | undefined; private _payloadFormat?; get payloadFormat(): string; set payloadFormat(value: string); get payloadFormatInput(): string | undefined; private _pubsubTopic?; get pubsubTopic(): string; set pubsubTopic(value: string); get pubsubTopicInput(): string | undefined; } export interface StorageTransferJobReplicationSpecGcsDataSink { /** * Google Cloud Storage bucket name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#bucket_name StorageTransferJob#bucket_name} */ readonly bucketName: string; /** * Google Cloud Storage path in bucket to transfer * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#path StorageTransferJob#path} */ readonly path?: string; } export declare function storageTransferJobReplicationSpecGcsDataSinkToTerraform(struct?: StorageTransferJobReplicationSpecGcsDataSinkOutputReference | StorageTransferJobReplicationSpecGcsDataSink): any; export declare function storageTransferJobReplicationSpecGcsDataSinkToHclTerraform(struct?: StorageTransferJobReplicationSpecGcsDataSinkOutputReference | StorageTransferJobReplicationSpecGcsDataSink): any; export declare class StorageTransferJobReplicationSpecGcsDataSinkOutputReference 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(): StorageTransferJobReplicationSpecGcsDataSink | undefined; set internalValue(value: StorageTransferJobReplicationSpecGcsDataSink | undefined); private _bucketName?; get bucketName(): string; set bucketName(value: string); get bucketNameInput(): string | undefined; private _path?; get path(): string; set path(value: string); resetPath(): void; get pathInput(): string | undefined; } export interface StorageTransferJobReplicationSpecGcsDataSource { /** * Google Cloud Storage bucket name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#bucket_name StorageTransferJob#bucket_name} */ readonly bucketName: string; /** * Google Cloud Storage path in bucket to transfer * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#path StorageTransferJob#path} */ readonly path?: string; } export declare function storageTransferJobReplicationSpecGcsDataSourceToTerraform(struct?: StorageTransferJobReplicationSpecGcsDataSourceOutputReference | StorageTransferJobReplicationSpecGcsDataSource): any; export declare function storageTransferJobReplicationSpecGcsDataSourceToHclTerraform(struct?: StorageTransferJobReplicationSpecGcsDataSourceOutputReference | StorageTransferJobReplicationSpecGcsDataSource): any; export declare class StorageTransferJobReplicationSpecGcsDataSourceOutputReference 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(): StorageTransferJobReplicationSpecGcsDataSource | undefined; set internalValue(value: StorageTransferJobReplicationSpecGcsDataSource | undefined); private _bucketName?; get bucketName(): string; set bucketName(value: string); get bucketNameInput(): string | undefined; private _path?; get path(): string; set path(value: string); resetPath(): void; get pathInput(): string | undefined; } export interface StorageTransferJobReplicationSpecObjectConditions { /** * exclude_prefixes must follow the requirements described for include_prefixes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#exclude_prefixes StorageTransferJob#exclude_prefixes} */ readonly excludePrefixes?: string[]; /** * If include_refixes is specified, objects that satisfy the object conditions must have names that start with one of the include_prefixes and that do not start with any of the exclude_prefixes. If include_prefixes is not specified, all objects except those that have names starting with one of the exclude_prefixes must satisfy the object conditions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#include_prefixes StorageTransferJob#include_prefixes} */ readonly includePrefixes?: string[]; /** * If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#last_modified_before StorageTransferJob#last_modified_before} */ readonly lastModifiedBefore?: string; /** * If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#last_modified_since StorageTransferJob#last_modified_since} */ readonly lastModifiedSince?: string; /** * A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#max_time_elapsed_since_last_modification StorageTransferJob#max_time_elapsed_since_last_modification} */ readonly maxTimeElapsedSinceLastModification?: string; /** * A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#min_time_elapsed_since_last_modification StorageTransferJob#min_time_elapsed_since_last_modification} */ readonly minTimeElapsedSinceLastModification?: string; } export declare function storageTransferJobReplicationSpecObjectConditionsToTerraform(struct?: StorageTransferJobReplicationSpecObjectConditionsOutputReference | StorageTransferJobReplicationSpecObjectConditions): any; export declare function storageTransferJobReplicationSpecObjectConditionsToHclTerraform(struct?: StorageTransferJobReplicationSpecObjectConditionsOutputReference | StorageTransferJobReplicationSpecObjectConditions): any; export declare class StorageTransferJobReplicationSpecObjectConditionsOutputReference 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(): StorageTransferJobReplicationSpecObjectConditions | undefined; set internalValue(value: StorageTransferJobReplicationSpecObjectConditions | undefined); private _excludePrefixes?; get excludePrefixes(): string[]; set excludePrefixes(value: string[]); resetExcludePrefixes(): void; get excludePrefixesInput(): string[] | undefined; private _includePrefixes?; get includePrefixes(): string[]; set includePrefixes(value: string[]); resetIncludePrefixes(): void; get includePrefixesInput(): string[] | undefined; private _lastModifiedBefore?; get lastModifiedBefore(): string; set lastModifiedBefore(value: string); resetLastModifiedBefore(): void; get lastModifiedBeforeInput(): string | undefined; private _lastModifiedSince?; get lastModifiedSince(): string; set lastModifiedSince(value: string); resetLastModifiedSince(): void; get lastModifiedSinceInput(): string | undefined; private _maxTimeElapsedSinceLastModification?; get maxTimeElapsedSinceLastModification(): string; set maxTimeElapsedSinceLastModification(value: string); resetMaxTimeElapsedSinceLastModification(): void; get maxTimeElapsedSinceLastModificationInput(): string | undefined; private _minTimeElapsedSinceLastModification?; get minTimeElapsedSinceLastModification(): string; set minTimeElapsedSinceLastModification(value: string); resetMinTimeElapsedSinceLastModification(): void; get minTimeElapsedSinceLastModificationInput(): string | undefined; } export interface StorageTransferJobReplicationSpecTransferOptionsMetadataOptions { /** * Specifies how each object's ACLs should be preserved for transfers between Google Cloud Storage buckets * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#acl StorageTransferJob#acl} */ readonly acl?: string; /** * Specifies how each file's POSIX group ID (GID) attribute should be handled by the transfer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#gid StorageTransferJob#gid} */ readonly gid?: string; /** * Specifies how each object's Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#kms_key StorageTransferJob#kms_key} */ readonly kmsKey?: string; /** * Specifies how each file's mode attribute should be handled by the transfer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#mode StorageTransferJob#mode} */ readonly mode?: string; /** * Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#storage_class StorageTransferJob#storage_class} */ readonly storageClass?: string; /** * Specifies how symlinks should be handled by the transfer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#symlink StorageTransferJob#symlink} */ readonly symlink?: string; /** * SSpecifies how each object's temporary hold status should be preserved for transfers between Google Cloud Storage buckets * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#temporary_hold StorageTransferJob#temporary_hold} */ readonly temporaryHold?: string; /** * Specifies how each object's timeCreated metadata is preserved for transfers. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#time_created StorageTransferJob#time_created} */ readonly timeCreated?: string; /** * Specifies how each file's POSIX user ID (UID) attribute should be handled by the transfer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#uid StorageTransferJob#uid} */ readonly uid?: string; } export declare function storageTransferJobReplicationSpecTransferOptionsMetadataOptionsToTerraform(struct?: StorageTransferJobReplicationSpecTransferOptionsMetadataOptionsOutputReference | StorageTransferJobReplicationSpecTransferOptionsMetadataOptions): any; export declare function storageTransferJobReplicationSpecTransferOptionsMetadataOptionsToHclTerraform(struct?: StorageTransferJobReplicationSpecTransferOptionsMetadataOptionsOutputReference | StorageTransferJobReplicationSpecTransferOptionsMetadataOptions): any; export declare class StorageTransferJobReplicationSpecTransferOptionsMetadataOptionsOutputReference 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(): StorageTransferJobReplicationSpecTransferOptionsMetadataOptions | undefined; set internalValue(value: StorageTransferJobReplicationSpecTransferOptionsMetadataOptions | undefined); private _acl?; get acl(): string; set acl(value: string); resetAcl(): void; get aclInput(): string | undefined; private _gid?; get gid(): string; set gid(value: string); resetGid(): void; get gidInput(): string | undefined; private _kmsKey?; get kmsKey(): string; set kmsKey(value: string); resetKmsKey(): void; get kmsKeyInput(): string | undefined; private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string | undefined; private _storageClass?; get storageClass(): string; set storageClass(value: string); resetStorageClass(): void; get storageClassInput(): string | undefined; private _symlink?; get symlink(): string; set symlink(value: string); resetSymlink(): void; get symlinkInput(): string | undefined; private _temporaryHold?; get temporaryHold(): string; set temporaryHold(value: string); resetTemporaryHold(): void; get temporaryHoldInput(): string | undefined; private _timeCreated?; get timeCreated(): string; set timeCreated(value: string); resetTimeCreated(): void; get timeCreatedInput(): string | undefined; private _uid?; get uid(): string; set uid(value: string); resetUid(): void; get uidInput(): string | undefined; } export interface StorageTransferJobReplicationSpecTransferOptions { /** * Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and delete_objects_unique_in_sink are mutually exclusive. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#delete_objects_from_source_after_transfer StorageTransferJob#delete_objects_from_source_after_transfer} */ readonly deleteObjectsFromSourceAfterTransfer?: boolean | cdktf.IResolvable; /** * Whether objects that exist only in the sink should be deleted. Note that this option and delete_objects_from_source_after_transfer are mutually exclusive. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#delete_objects_unique_in_sink StorageTransferJob#delete_objects_unique_in_sink} */ readonly deleteObjectsUniqueInSink?: boolean | cdktf.IResolvable; /** * Whether overwriting objects that already exist in the sink is allowed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#overwrite_objects_already_existing_in_sink StorageTransferJob#overwrite_objects_already_existing_in_sink} */ readonly overwriteObjectsAlreadyExistingInSink?: boolean | cdktf.IResolvable; /** * When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by overwriteObjectsAlreadyExistingInSink. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#overwrite_when StorageTransferJob#overwrite_when} */ readonly overwriteWhen?: string; /** * metadata_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#metadata_options StorageTransferJob#metadata_options} */ readonly metadataOptions?: StorageTransferJobReplicationSpecTransferOptionsMetadataOptions; } export declare function storageTransferJobReplicationSpecTransferOptionsToTerraform(struct?: StorageTransferJobReplicationSpecTransferOptionsOutputReference | StorageTransferJobReplicationSpecTransferOptions): any; export declare function storageTransferJobReplicationSpecTransferOptionsToHclTerraform(struct?: StorageTransferJobReplicationSpecTransferOptionsOutputReference | StorageTransferJobReplicationSpecTransferOptions): any; export declare class StorageTransferJobReplicationSpecTransferOptionsOutputReference 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(): StorageTransferJobReplicationSpecTransferOptions | undefined; set internalValue(value: StorageTransferJobReplicationSpecTransferOptions | undefined); private _deleteObjectsFromSourceAfterTransfer?; get deleteObjectsFromSourceAfterTransfer(): boolean | cdktf.IResolvable; set deleteObjectsFromSourceAfterTransfer(value: boolean | cdktf.IResolvable); resetDeleteObjectsFromSourceAfterTransfer(): void; get deleteObjectsFromSourceAfterTransferInput(): boolean | cdktf.IResolvable | undefined; private _deleteObjectsUniqueInSink?; get deleteObjectsUniqueInSink(): boolean | cdktf.IResolvable; set deleteObjectsUniqueInSink(value: boolean | cdktf.IResolvable); resetDeleteObjectsUniqueInSink(): void; get deleteObjectsUniqueInSinkInput(): boolean | cdktf.IResolvable | undefined; private _overwriteObjectsAlreadyExistingInSink?; get overwriteObjectsAlreadyExistingInSink(): boolean | cdktf.IResolvable; set overwriteObjectsAlreadyExistingInSink(value: boolean | cdktf.IResolvable); resetOverwriteObjectsAlreadyExistingInSink(): void; get overwriteObjectsAlreadyExistingInSinkInput(): boolean | cdktf.IResolvable | undefined; private _overwriteWhen?; get overwriteWhen(): string; set overwriteWhen(value: string); resetOverwriteWhen(): void; get overwriteWhenInput(): string | undefined; private _metadataOptions; get metadataOptions(): StorageTransferJobReplicationSpecTransferOptionsMetadataOptionsOutputReference; putMetadataOptions(value: StorageTransferJobReplicationSpecTransferOptionsMetadataOptions): void; resetMetadataOptions(): void; get metadataOptionsInput(): StorageTransferJobReplicationSpecTransferOptionsMetadataOptions | undefined; } export interface StorageTransferJobReplicationSpec { /** * gcs_data_sink block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#gcs_data_sink StorageTransferJob#gcs_data_sink} */ readonly gcsDataSink?: StorageTransferJobReplicationSpecGcsDataSink; /** * gcs_data_source block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#gcs_data_source StorageTransferJob#gcs_data_source} */ readonly gcsDataSource?: StorageTransferJobReplicationSpecGcsDataSource; /** * object_conditions block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#object_conditions StorageTransferJob#object_conditions} */ readonly objectConditions?: StorageTransferJobReplicationSpecObjectConditions; /** * transfer_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#transfer_options StorageTransferJob#transfer_options} */ readonly transferOptions?: StorageTransferJobReplicationSpecTransferOptions; } export declare function storageTransferJobReplicationSpecToTerraform(struct?: StorageTransferJobReplicationSpecOutputReference | StorageTransferJobReplicationSpec): any; export declare function storageTransferJobReplicationSpecToHclTerraform(struct?: StorageTransferJobReplicationSpecOutputReference | StorageTransferJobReplicationSpec): any; export declare class StorageTransferJobReplicationSpecOutputReference 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(): StorageTransferJobReplicationSpec | undefined; set internalValue(value: StorageTransferJobReplicationSpec | undefined); private _gcsDataSink; get gcsDataSink(): StorageTransferJobReplicationSpecGcsDataSinkOutputReference; putGcsDataSink(value: StorageTransferJobReplicationSpecGcsDataSink): void; resetGcsDataSink(): void; get gcsDataSinkInput(): StorageTransferJobReplicationSpecGcsDataSink | undefined; private _gcsDataSource; get gcsDataSource(): StorageTransferJobReplicationSpecGcsDataSourceOutputReference; putGcsDataSource(value: StorageTransferJobReplicationSpecGcsDataSource): void; resetGcsDataSource(): void; get gcsDataSourceInput(): StorageTransferJobReplicationSpecGcsDataSource | undefined; private _objectConditions; get objectConditions(): StorageTransferJobReplicationSpecObjectConditionsOutputReference; putObjectConditions(value: StorageTransferJobReplicationSpecObjectConditions): void; resetObjectConditions(): void; get objectConditionsInput(): StorageTransferJobReplicationSpecObjectConditions | undefined; private _transferOptions; get transferOptions(): StorageTransferJobReplicationSpecTransferOptionsOutputReference; putTransferOptions(value: StorageTransferJobReplicationSpecTransferOptions): void; resetTransferOptions(): void; get transferOptionsInput(): StorageTransferJobReplicationSpecTransferOptions | undefined; } export interface StorageTransferJobScheduleScheduleEndDate { /** * Day of month. Must be from 1 to 31 and valid for the year and month. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#day StorageTransferJob#day} */ readonly day: number; /** * Month of year. Must be from 1 to 12. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#month StorageTransferJob#month} */ readonly month: number; /** * Year of date. Must be from 1 to 9999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#year StorageTransferJob#year} */ readonly year: number; } export declare function storageTransferJobScheduleScheduleEndDateToTerraform(struct?: StorageTransferJobScheduleScheduleEndDateOutputReference | StorageTransferJobScheduleScheduleEndDate): any; export declare function storageTransferJobScheduleScheduleEndDateToHclTerraform(struct?: StorageTransferJobScheduleScheduleEndDateOutputReference | StorageTransferJobScheduleScheduleEndDate): any; export declare class StorageTransferJobScheduleScheduleEndDateOutputReference 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(): StorageTransferJobScheduleScheduleEndDate | undefined; set internalValue(value: StorageTransferJobScheduleScheduleEndDate | undefined); private _day?; get day(): number; set day(value: number); get dayInput(): number | undefined; private _month?; get month(): number; set month(value: number); get monthInput(): number | undefined; private _year?; get year(): number; set year(value: number); get yearInput(): number | undefined; } export interface StorageTransferJobScheduleScheduleStartDate { /** * Day of month. Must be from 1 to 31 and valid for the year and month. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#day StorageTransferJob#day} */ readonly day: number; /** * Month of year. Must be from 1 to 12. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#month StorageTransferJob#month} */ readonly month: number; /** * Year of date. Must be from 1 to 9999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#year StorageTransferJob#year} */ readonly year: number; } export declare function storageTransferJobScheduleScheduleStartDateToTerraform(struct?: StorageTransferJobScheduleScheduleStartDateOutputReference | StorageTransferJobScheduleScheduleStartDate): any; export declare function storageTransferJobScheduleScheduleStartDateToHclTerraform(struct?: StorageTransferJobScheduleScheduleStartDateOutputReference | StorageTransferJobScheduleScheduleStartDate): any; export declare class StorageTransferJobScheduleScheduleStartDateOutputReference 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(): StorageTransferJobScheduleScheduleStartDate | undefined; set internalValue(value: StorageTransferJobScheduleScheduleStartDate | undefined); private _day?; get day(): number; set day(value: number); get dayInput(): number | undefined; private _month?; get month(): number; set month(value: number); get monthInput(): number | undefined; private _year?; get year(): number; set year(value: number); get yearInput(): number | undefined; } export interface StorageTransferJobScheduleStartTimeOfDay { /** * Hours of day in 24 hour format. Should be from 0 to 23. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#hours StorageTransferJob#hours} */ readonly hours: number; /** * Minutes of hour of day. Must be from 0 to 59. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#minutes StorageTransferJob#minutes} */ readonly minutes: number; /** * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#nanos StorageTransferJob#nanos} */ readonly nanos: number; /** * Seconds of minutes of the time. Must normally be from 0 to 59. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#seconds StorageTransferJob#seconds} */ readonly seconds: number; } export declare function storageTransferJobScheduleStartTimeOfDayToTerraform(struct?: StorageTransferJobScheduleStartTimeOfDayOutputReference | StorageTransferJobScheduleStartTimeOfDay): any; export declare function storageTransferJobScheduleStartTimeOfDayToHclTerraform(struct?: StorageTransferJobScheduleStartTimeOfDayOutputReference | StorageTransferJobScheduleStartTimeOfDay): any; export declare class StorageTransferJobScheduleStartTimeOfDayOutputReference 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(): StorageTransferJobScheduleStartTimeOfDay | undefined; set internalValue(value: StorageTransferJobScheduleStartTimeOfDay | undefined); private _hours?; get hours(): number; set hours(value: number); get hoursInput(): number | undefined; private _minutes?; get minutes(): number; set minutes(value: number); get minutesInput(): number | undefined; private _nanos?; get nanos(): number; set nanos(value: number); get nanosInput(): number | undefined; private _seconds?; get seconds(): number; set seconds(value: number); get secondsInput(): number | undefined; } export interface StorageTransferJobSchedule { /** * Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#repeat_interval StorageTransferJob#repeat_interval} */ readonly repeatInterval?: string; /** * schedule_end_date block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#schedule_end_date StorageTransferJob#schedule_end_date} */ readonly scheduleEndDate?: StorageTransferJobScheduleScheduleEndDate; /** * schedule_start_date block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#schedule_start_date StorageTransferJob#schedule_start_date} */ readonly scheduleStartDate: StorageTransferJobScheduleScheduleStartDate; /** * start_time_of_day block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#start_time_of_day StorageTransferJob#start_time_of_day} */ readonly startTimeOfDay?: StorageTransferJobScheduleStartTimeOfDay; } export declare function storageTransferJobScheduleToTerraform(struct?: StorageTransferJobScheduleOutputReference | StorageTransferJobSchedule): any; export declare function storageTransferJobScheduleToHclTerraform(struct?: StorageTransferJobScheduleOutputReference | StorageTransferJobSchedule): any; export declare class StorageTransferJobScheduleOutputReference 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(): StorageTransferJobSchedule | undefined; set internalValue(value: StorageTransferJobSchedule | undefined); private _repeatInterval?; get repeatInterval(): string; set repeatInterval(value: string); resetRepeatInterval(): void; get repeatIntervalInput(): string | undefined; private _scheduleEndDate; get scheduleEndDate(): StorageTransferJobScheduleScheduleEndDateOutputReference; putScheduleEndDate(value: StorageTransferJobScheduleScheduleEndDate): void; resetScheduleEndDate(): void; get scheduleEndDateInput(): StorageTransferJobScheduleScheduleEndDate | undefined; private _scheduleStartDate; get scheduleStartDate(): StorageTransferJobScheduleScheduleStartDateOutputReference; putScheduleStartDate(value: StorageTransferJobScheduleScheduleStartDate): void; get scheduleStartDateInput(): StorageTransferJobScheduleScheduleStartDate | undefined; private _startTimeOfDay; get startTimeOfDay(): StorageTransferJobScheduleStartTimeOfDayOutputReference; putStartTimeOfDay(value: StorageTransferJobScheduleStartTimeOfDay): void; resetStartTimeOfDay(): void; get startTimeOfDayInput(): StorageTransferJobScheduleStartTimeOfDay | undefined; } export interface StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey { /** * AWS Key ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#access_key_id StorageTransferJob#access_key_id} */ readonly accessKeyId: string; /** * AWS Secret Access Key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#secret_access_key StorageTransferJob#secret_access_key} */ readonly secretAccessKey: string; } export declare function storageTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyToTerraform(struct?: StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputReference | StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey): any; export declare function storageTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyToHclTerraform(struct?: StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputReference | StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey): any; export declare class StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputReference 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(): StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey | undefined; set internalValue(value: StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey | undefined); private _accessKeyId?; get accessKeyId(): string; set accessKeyId(value: string); get accessKeyIdInput(): string | undefined; private _secretAccessKey?; get secretAccessKey(): string; set secretAccessKey(value: string); get secretAccessKeyInput(): string | undefined; } export interface StorageTransferJobTransferSpecAwsS3DataSource { /** * S3 Bucket name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#bucket_name StorageTransferJob#bucket_name} */ readonly bucketName: string; /** * Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#managed_private_network StorageTransferJob#managed_private_network} */ readonly managedPrivateNetwork?: boolean | cdktf.IResolvable; /** * S3 Bucket path in bucket to transfer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#path StorageTransferJob#path} */ readonly path?: string; /** * The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#role_arn StorageTransferJob#role_arn} */ readonly roleArn?: string; /** * aws_access_key block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/storage_transfer_job#aws_access_key StorageTransferJob#aws_access_key} */ readonly awsAccessKey?: StorageTransferJobTransferSpecAwsS3DataSourceAwsAccessKey; } export declare function storageTransferJobTransferSpecAwsS3DataSourceToTerraform(struct?: StorageTransferJobTransferSp