io.cloudshiftdev.awscdk.services.datasync.CfnTaskProps.kt Maven / Gradle / Ivy
The newest version!
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")
package io.cloudshiftdev.awscdk.services.datasync
import io.cloudshiftdev.awscdk.CfnTag
import io.cloudshiftdev.awscdk.IResolvable
import io.cloudshiftdev.awscdk.common.CdkDslMarker
import io.cloudshiftdev.awscdk.common.CdkObject
import io.cloudshiftdev.awscdk.common.CdkObjectWrappers
import kotlin.Any
import kotlin.String
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Properties for defining a `CfnTask`.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.datasync.*;
* CfnTaskProps cfnTaskProps = CfnTaskProps.builder()
* .destinationLocationArn("destinationLocationArn")
* .sourceLocationArn("sourceLocationArn")
* // the properties below are optional
* .cloudWatchLogGroupArn("cloudWatchLogGroupArn")
* .excludes(List.of(FilterRuleProperty.builder()
* .filterType("filterType")
* .value("value")
* .build()))
* .includes(List.of(FilterRuleProperty.builder()
* .filterType("filterType")
* .value("value")
* .build()))
* .manifestConfig(ManifestConfigProperty.builder()
* .source(SourceProperty.builder()
* .s3(ManifestConfigSourceS3Property.builder()
* .bucketAccessRoleArn("bucketAccessRoleArn")
* .manifestObjectPath("manifestObjectPath")
* .manifestObjectVersionId("manifestObjectVersionId")
* .s3BucketArn("s3BucketArn")
* .build())
* .build())
* // the properties below are optional
* .action("action")
* .format("format")
* .build())
* .name("name")
* .options(OptionsProperty.builder()
* .atime("atime")
* .bytesPerSecond(123)
* .gid("gid")
* .logLevel("logLevel")
* .mtime("mtime")
* .objectTags("objectTags")
* .overwriteMode("overwriteMode")
* .posixPermissions("posixPermissions")
* .preserveDeletedFiles("preserveDeletedFiles")
* .preserveDevices("preserveDevices")
* .securityDescriptorCopyFlags("securityDescriptorCopyFlags")
* .taskQueueing("taskQueueing")
* .transferMode("transferMode")
* .uid("uid")
* .verifyMode("verifyMode")
* .build())
* .schedule(TaskScheduleProperty.builder()
* .scheduleExpression("scheduleExpression")
* .status("status")
* .build())
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .taskReportConfig(TaskReportConfigProperty.builder()
* .destination(DestinationProperty.builder()
* .s3(S3Property.builder()
* .bucketAccessRoleArn("bucketAccessRoleArn")
* .s3BucketArn("s3BucketArn")
* .subdirectory("subdirectory")
* .build())
* .build())
* .outputType("outputType")
* // the properties below are optional
* .objectVersionIds("objectVersionIds")
* .overrides(OverridesProperty.builder()
* .deleted(DeletedProperty.builder()
* .reportLevel("reportLevel")
* .build())
* .skipped(SkippedProperty.builder()
* .reportLevel("reportLevel")
* .build())
* .transferred(TransferredProperty.builder()
* .reportLevel("reportLevel")
* .build())
* .verified(VerifiedProperty.builder()
* .reportLevel("reportLevel")
* .build())
* .build())
* .reportLevel("reportLevel")
* .build())
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)
*/
public interface CfnTaskProps {
/**
* Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your
* task.
*
* For more information, see [Monitoring DataSync with Amazon
* CloudWatch](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-cloudwatchloggrouparn)
*/
public fun cloudWatchLogGroupArn(): String? = unwrap(this).getCloudWatchLogGroupArn()
/**
* The Amazon Resource Name (ARN) of an AWS storage resource's location.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-destinationlocationarn)
*/
public fun destinationLocationArn(): String
/**
* Specifies exclude filters that define the files, objects, and folders in your source location
* that you don't want DataSync to transfer.
*
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-excludes)
*/
public fun excludes(): Any? = unwrap(this).getExcludes()
/**
* Specifies include filters define the files, objects, and folders in your source location that
* you want DataSync to transfer.
*
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-includes)
*/
public fun includes(): Any? = unwrap(this).getIncludes()
/**
* The configuration of the manifest that lists the files or objects that you want DataSync to
* transfer.
*
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-manifestconfig)
*/
public fun manifestConfig(): Any? = unwrap(this).getManifestConfig()
/**
* Specifies the name of your task.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-name)
*/
public fun name(): String? = unwrap(this).getName()
/**
* Specifies your task's settings, such as preserving file metadata, verifying data integrity,
* among other options.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-options)
*/
public fun options(): Any? = unwrap(this).getOptions()
/**
* Specifies a schedule for when you want your task to run.
*
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-schedule)
*/
public fun schedule(): Any? = unwrap(this).getSchedule()
/**
* Specifies the ARN of your transfer's source location.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-sourcelocationarn)
*/
public fun sourceLocationArn(): String
/**
* Specifies the tags that you want to apply to your task.
*
* *Tags* are key-value pairs that help you manage, filter, and search for your DataSync
* resources.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-tags)
*/
public fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
/**
* Specifies how you want to configure a task report, which provides detailed information about
* your DataSync transfer.
*
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with) must
* have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskreportconfig)
*/
public fun taskReportConfig(): Any? = unwrap(this).getTaskReportConfig()
/**
* A builder for [CfnTaskProps]
*/
@CdkDslMarker
public interface Builder {
/**
* @param cloudWatchLogGroupArn Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch
* log group for monitoring your task.
* For more information, see [Monitoring DataSync with Amazon
* CloudWatch](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html) .
*/
public fun cloudWatchLogGroupArn(cloudWatchLogGroupArn: String)
/**
* @param destinationLocationArn The Amazon Resource Name (ARN) of an AWS storage resource's
* location.
*/
public fun destinationLocationArn(destinationLocationArn: String)
/**
* @param excludes Specifies exclude filters that define the files, objects, and folders in your
* source location that you don't want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
public fun excludes(excludes: IResolvable)
/**
* @param excludes Specifies exclude filters that define the files, objects, and folders in your
* source location that you don't want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
public fun excludes(excludes: List)
/**
* @param excludes Specifies exclude filters that define the files, objects, and folders in your
* source location that you don't want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
public fun excludes(vararg excludes: Any)
/**
* @param includes Specifies include filters define the files, objects, and folders in your
* source location that you want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
public fun includes(includes: IResolvable)
/**
* @param includes Specifies include filters define the files, objects, and folders in your
* source location that you want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
public fun includes(includes: List)
/**
* @param includes Specifies include filters define the files, objects, and folders in your
* source location that you want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
public fun includes(vararg includes: Any)
/**
* @param manifestConfig The configuration of the manifest that lists the files or objects that
* you want DataSync to transfer.
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)
* .
*/
public fun manifestConfig(manifestConfig: IResolvable)
/**
* @param manifestConfig The configuration of the manifest that lists the files or objects that
* you want DataSync to transfer.
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)
* .
*/
public fun manifestConfig(manifestConfig: CfnTask.ManifestConfigProperty)
/**
* @param manifestConfig The configuration of the manifest that lists the files or objects that
* you want DataSync to transfer.
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)
* .
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("ec8c77e6c6dfdb2c9cf682f7b4f269325702ad0aed75a50819a625d846d9ed6b")
public fun manifestConfig(manifestConfig: CfnTask.ManifestConfigProperty.Builder.() -> Unit)
/**
* @param name Specifies the name of your task.
*/
public fun name(name: String)
/**
* @param options Specifies your task's settings, such as preserving file metadata, verifying
* data integrity, among other options.
*/
public fun options(options: IResolvable)
/**
* @param options Specifies your task's settings, such as preserving file metadata, verifying
* data integrity, among other options.
*/
public fun options(options: CfnTask.OptionsProperty)
/**
* @param options Specifies your task's settings, such as preserving file metadata, verifying
* data integrity, among other options.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("1abaf271dd52396527a8a77c9fdad5bc3db1d413aea3a94f2532b919def4e4fc")
public fun options(options: CfnTask.OptionsProperty.Builder.() -> Unit)
/**
* @param schedule Specifies a schedule for when you want your task to run.
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*/
public fun schedule(schedule: IResolvable)
/**
* @param schedule Specifies a schedule for when you want your task to run.
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*/
public fun schedule(schedule: CfnTask.TaskScheduleProperty)
/**
* @param schedule Specifies a schedule for when you want your task to run.
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("a0169cab530a382b35b03f2071af7adf6d987732207f0c711c7d71b861cec8fd")
public fun schedule(schedule: CfnTask.TaskScheduleProperty.Builder.() -> Unit)
/**
* @param sourceLocationArn Specifies the ARN of your transfer's source location.
*/
public fun sourceLocationArn(sourceLocationArn: String)
/**
* @param tags Specifies the tags that you want to apply to your task.
* *Tags* are key-value pairs that help you manage, filter, and search for your DataSync
* resources.
*/
public fun tags(tags: List)
/**
* @param tags Specifies the tags that you want to apply to your task.
* *Tags* are key-value pairs that help you manage, filter, and search for your DataSync
* resources.
*/
public fun tags(vararg tags: CfnTag)
/**
* @param taskReportConfig Specifies how you want to configure a task report, which provides
* detailed information about your DataSync transfer.
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with)
* must have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*/
public fun taskReportConfig(taskReportConfig: IResolvable)
/**
* @param taskReportConfig Specifies how you want to configure a task report, which provides
* detailed information about your DataSync transfer.
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with)
* must have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*/
public fun taskReportConfig(taskReportConfig: CfnTask.TaskReportConfigProperty)
/**
* @param taskReportConfig Specifies how you want to configure a task report, which provides
* detailed information about your DataSync transfer.
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with)
* must have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("6e79cf2a5c9ab4868b668a0c4a6cfc11bdbda75a184e0540286ff4d950747b38")
public
fun taskReportConfig(taskReportConfig: CfnTask.TaskReportConfigProperty.Builder.() -> Unit)
}
private class BuilderImpl : Builder {
private val cdkBuilder: software.amazon.awscdk.services.datasync.CfnTaskProps.Builder =
software.amazon.awscdk.services.datasync.CfnTaskProps.builder()
/**
* @param cloudWatchLogGroupArn Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch
* log group for monitoring your task.
* For more information, see [Monitoring DataSync with Amazon
* CloudWatch](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html) .
*/
override fun cloudWatchLogGroupArn(cloudWatchLogGroupArn: String) {
cdkBuilder.cloudWatchLogGroupArn(cloudWatchLogGroupArn)
}
/**
* @param destinationLocationArn The Amazon Resource Name (ARN) of an AWS storage resource's
* location.
*/
override fun destinationLocationArn(destinationLocationArn: String) {
cdkBuilder.destinationLocationArn(destinationLocationArn)
}
/**
* @param excludes Specifies exclude filters that define the files, objects, and folders in your
* source location that you don't want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
override fun excludes(excludes: IResolvable) {
cdkBuilder.excludes(excludes.let(IResolvable.Companion::unwrap))
}
/**
* @param excludes Specifies exclude filters that define the files, objects, and folders in your
* source location that you don't want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
override fun excludes(excludes: List) {
cdkBuilder.excludes(excludes.map{CdkObjectWrappers.unwrap(it)})
}
/**
* @param excludes Specifies exclude filters that define the files, objects, and folders in your
* source location that you don't want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
override fun excludes(vararg excludes: Any): Unit = excludes(excludes.toList())
/**
* @param includes Specifies include filters define the files, objects, and folders in your
* source location that you want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
override fun includes(includes: IResolvable) {
cdkBuilder.includes(includes.let(IResolvable.Companion::unwrap))
}
/**
* @param includes Specifies include filters define the files, objects, and folders in your
* source location that you want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
override fun includes(includes: List) {
cdkBuilder.includes(includes.map{CdkObjectWrappers.unwrap(it)})
}
/**
* @param includes Specifies include filters define the files, objects, and folders in your
* source location that you want DataSync to transfer.
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*/
override fun includes(vararg includes: Any): Unit = includes(includes.toList())
/**
* @param manifestConfig The configuration of the manifest that lists the files or objects that
* you want DataSync to transfer.
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)
* .
*/
override fun manifestConfig(manifestConfig: IResolvable) {
cdkBuilder.manifestConfig(manifestConfig.let(IResolvable.Companion::unwrap))
}
/**
* @param manifestConfig The configuration of the manifest that lists the files or objects that
* you want DataSync to transfer.
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)
* .
*/
override fun manifestConfig(manifestConfig: CfnTask.ManifestConfigProperty) {
cdkBuilder.manifestConfig(manifestConfig.let(CfnTask.ManifestConfigProperty.Companion::unwrap))
}
/**
* @param manifestConfig The configuration of the manifest that lists the files or objects that
* you want DataSync to transfer.
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)
* .
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("ec8c77e6c6dfdb2c9cf682f7b4f269325702ad0aed75a50819a625d846d9ed6b")
override fun manifestConfig(manifestConfig: CfnTask.ManifestConfigProperty.Builder.() -> Unit):
Unit = manifestConfig(CfnTask.ManifestConfigProperty(manifestConfig))
/**
* @param name Specifies the name of your task.
*/
override fun name(name: String) {
cdkBuilder.name(name)
}
/**
* @param options Specifies your task's settings, such as preserving file metadata, verifying
* data integrity, among other options.
*/
override fun options(options: IResolvable) {
cdkBuilder.options(options.let(IResolvable.Companion::unwrap))
}
/**
* @param options Specifies your task's settings, such as preserving file metadata, verifying
* data integrity, among other options.
*/
override fun options(options: CfnTask.OptionsProperty) {
cdkBuilder.options(options.let(CfnTask.OptionsProperty.Companion::unwrap))
}
/**
* @param options Specifies your task's settings, such as preserving file metadata, verifying
* data integrity, among other options.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("1abaf271dd52396527a8a77c9fdad5bc3db1d413aea3a94f2532b919def4e4fc")
override fun options(options: CfnTask.OptionsProperty.Builder.() -> Unit): Unit =
options(CfnTask.OptionsProperty(options))
/**
* @param schedule Specifies a schedule for when you want your task to run.
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*/
override fun schedule(schedule: IResolvable) {
cdkBuilder.schedule(schedule.let(IResolvable.Companion::unwrap))
}
/**
* @param schedule Specifies a schedule for when you want your task to run.
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*/
override fun schedule(schedule: CfnTask.TaskScheduleProperty) {
cdkBuilder.schedule(schedule.let(CfnTask.TaskScheduleProperty.Companion::unwrap))
}
/**
* @param schedule Specifies a schedule for when you want your task to run.
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("a0169cab530a382b35b03f2071af7adf6d987732207f0c711c7d71b861cec8fd")
override fun schedule(schedule: CfnTask.TaskScheduleProperty.Builder.() -> Unit): Unit =
schedule(CfnTask.TaskScheduleProperty(schedule))
/**
* @param sourceLocationArn Specifies the ARN of your transfer's source location.
*/
override fun sourceLocationArn(sourceLocationArn: String) {
cdkBuilder.sourceLocationArn(sourceLocationArn)
}
/**
* @param tags Specifies the tags that you want to apply to your task.
* *Tags* are key-value pairs that help you manage, filter, and search for your DataSync
* resources.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* @param tags Specifies the tags that you want to apply to your task.
* *Tags* are key-value pairs that help you manage, filter, and search for your DataSync
* resources.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
/**
* @param taskReportConfig Specifies how you want to configure a task report, which provides
* detailed information about your DataSync transfer.
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with)
* must have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*/
override fun taskReportConfig(taskReportConfig: IResolvable) {
cdkBuilder.taskReportConfig(taskReportConfig.let(IResolvable.Companion::unwrap))
}
/**
* @param taskReportConfig Specifies how you want to configure a task report, which provides
* detailed information about your DataSync transfer.
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with)
* must have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*/
override fun taskReportConfig(taskReportConfig: CfnTask.TaskReportConfigProperty) {
cdkBuilder.taskReportConfig(taskReportConfig.let(CfnTask.TaskReportConfigProperty.Companion::unwrap))
}
/**
* @param taskReportConfig Specifies how you want to configure a task report, which provides
* detailed information about your DataSync transfer.
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with)
* must have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("6e79cf2a5c9ab4868b668a0c4a6cfc11bdbda75a184e0540286ff4d950747b38")
override
fun taskReportConfig(taskReportConfig: CfnTask.TaskReportConfigProperty.Builder.() -> Unit):
Unit = taskReportConfig(CfnTask.TaskReportConfigProperty(taskReportConfig))
public fun build(): software.amazon.awscdk.services.datasync.CfnTaskProps = cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.datasync.CfnTaskProps,
) : CdkObject(cdkObject),
CfnTaskProps {
/**
* Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring
* your task.
*
* For more information, see [Monitoring DataSync with Amazon
* CloudWatch](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-cloudwatchloggrouparn)
*/
override fun cloudWatchLogGroupArn(): String? = unwrap(this).getCloudWatchLogGroupArn()
/**
* The Amazon Resource Name (ARN) of an AWS storage resource's location.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-destinationlocationarn)
*/
override fun destinationLocationArn(): String = unwrap(this).getDestinationLocationArn()
/**
* Specifies exclude filters that define the files, objects, and folders in your source location
* that you don't want DataSync to transfer.
*
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-excludes)
*/
override fun excludes(): Any? = unwrap(this).getExcludes()
/**
* Specifies include filters define the files, objects, and folders in your source location that
* you want DataSync to transfer.
*
* For more information and examples, see [Specifying what DataSync transfers by using
* filters](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-includes)
*/
override fun includes(): Any? = unwrap(this).getIncludes()
/**
* The configuration of the manifest that lists the files or objects that you want DataSync to
* transfer.
*
* For more information, see [Specifying what DataSync transfers by using a
* manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)
* .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-manifestconfig)
*/
override fun manifestConfig(): Any? = unwrap(this).getManifestConfig()
/**
* Specifies the name of your task.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-name)
*/
override fun name(): String? = unwrap(this).getName()
/**
* Specifies your task's settings, such as preserving file metadata, verifying data integrity,
* among other options.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-options)
*/
override fun options(): Any? = unwrap(this).getOptions()
/**
* Specifies a schedule for when you want your task to run.
*
* For more information, see [Scheduling your
* task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-schedule)
*/
override fun schedule(): Any? = unwrap(this).getSchedule()
/**
* Specifies the ARN of your transfer's source location.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-sourcelocationarn)
*/
override fun sourceLocationArn(): String = unwrap(this).getSourceLocationArn()
/**
* Specifies the tags that you want to apply to your task.
*
* *Tags* are key-value pairs that help you manage, filter, and search for your DataSync
* resources.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-tags)
*/
override fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
/**
* Specifies how you want to configure a task report, which provides detailed information about
* your DataSync transfer.
*
* For more information, see [Monitoring your DataSync transfers with task
* reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
*
* When using this parameter, your caller identity (the role that you're using DataSync with)
* must have the `iam:PassRole` permission. The
* [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)
* policy includes this permission.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskreportconfig)
*/
override fun taskReportConfig(): Any? = unwrap(this).getTaskReportConfig()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): CfnTaskProps {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal fun wrap(cdkObject: software.amazon.awscdk.services.datasync.CfnTaskProps):
CfnTaskProps = CdkObjectWrappers.wrap(cdkObject) as? CfnTaskProps ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: CfnTaskProps):
software.amazon.awscdk.services.datasync.CfnTaskProps = (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.datasync.CfnTaskProps
}
}