Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.datasync.kotlin
import com.pulumi.awsnative.datasync.TaskArgs.builder
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskFilterRuleArgs
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskFilterRuleArgsBuilder
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskManifestConfigArgs
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskManifestConfigArgsBuilder
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskOptionsArgs
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskOptionsArgsBuilder
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskReportConfigArgs
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskReportConfigArgsBuilder
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskScheduleArgs
import com.pulumi.awsnative.datasync.kotlin.inputs.TaskScheduleArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource schema for AWS::DataSync::Task.
* ## Example Usage
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* @property cloudWatchLogGroupArn The ARN of the Amazon CloudWatch log group that is used to monitor and log events in the task.
* @property destinationLocationArn The ARN of an AWS storage resource's location.
* @property 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) .
* @property 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) .
* @property 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) .
* @property name The name of a task. This value is a text reference that is used to identify the task in the console.
* @property options Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.
* @property 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) .
* @property sourceLocationArn The ARN of the source location for the task.
* @property tags An array of key-value pairs to apply to this resource.
* @property 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 data class TaskArgs(
public val cloudWatchLogGroupArn: Output? = null,
public val destinationLocationArn: Output? = null,
public val excludes: Output>? = null,
public val includes: Output>? = null,
public val manifestConfig: Output? = null,
public val name: Output? = null,
public val options: Output? = null,
public val schedule: Output? = null,
public val sourceLocationArn: Output? = null,
public val tags: Output>? = null,
public val taskReportConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.datasync.TaskArgs =
com.pulumi.awsnative.datasync.TaskArgs.builder()
.cloudWatchLogGroupArn(cloudWatchLogGroupArn?.applyValue({ args0 -> args0 }))
.destinationLocationArn(destinationLocationArn?.applyValue({ args0 -> args0 }))
.excludes(
excludes?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.includes(
includes?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.manifestConfig(manifestConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name?.applyValue({ args0 -> args0 }))
.options(options?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.schedule(schedule?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sourceLocationArn(sourceLocationArn?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.taskReportConfig(
taskReportConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [TaskArgs].
*/
@PulumiTagMarker
public class TaskArgsBuilder internal constructor() {
private var cloudWatchLogGroupArn: Output? = null
private var destinationLocationArn: Output? = null
private var excludes: Output>? = null
private var includes: Output>? = null
private var manifestConfig: Output? = null
private var name: Output? = null
private var options: Output? = null
private var schedule: Output? = null
private var sourceLocationArn: Output? = null
private var tags: Output>? = null
private var taskReportConfig: Output? = null
/**
* @param value The ARN of the Amazon CloudWatch log group that is used to monitor and log events in the task.
*/
@JvmName("usqkdyaxpadqojdl")
public suspend fun cloudWatchLogGroupArn(`value`: Output) {
this.cloudWatchLogGroupArn = value
}
/**
* @param value The ARN of an AWS storage resource's location.
*/
@JvmName("myysegjxrijrdckh")
public suspend fun destinationLocationArn(`value`: Output) {
this.destinationLocationArn = value
}
/**
* @param value 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) .
*/
@JvmName("lpmatqwpvnnpfhir")
public suspend fun excludes(`value`: Output>) {
this.excludes = value
}
@JvmName("hraahmruhkqirjfg")
public suspend fun excludes(vararg values: Output) {
this.excludes = Output.all(values.asList())
}
/**
* @param values 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) .
*/
@JvmName("icrkogvbtdqvxedp")
public suspend fun excludes(values: List