
com.pulumi.aws.datasync.kotlin.LocationFsxOntapFileSystem.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.datasync.kotlin
import com.pulumi.aws.datasync.kotlin.outputs.LocationFsxOntapFileSystemProtocol
import com.pulumi.aws.datasync.kotlin.outputs.LocationFsxOntapFileSystemProtocol.Companion.toKotlin
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.Deprecated
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
/**
* Builder for [LocationFsxOntapFileSystem].
*/
@PulumiTagMarker
public class LocationFsxOntapFileSystemResourceBuilder internal constructor() {
public var name: String? = null
public var args: LocationFsxOntapFileSystemArgs = LocationFsxOntapFileSystemArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend LocationFsxOntapFileSystemArgsBuilder.() -> Unit) {
val builder = LocationFsxOntapFileSystemArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): LocationFsxOntapFileSystem {
val builtJavaResource =
com.pulumi.aws.datasync.LocationFsxOntapFileSystem(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return LocationFsxOntapFileSystem(builtJavaResource)
}
}
/**
* Resource for managing an AWS DataSync Location FSx Ontap File System.
* ## Example Usage
* ### Basic Usage
*
* ```yaml
* resources:
* test:
* type: aws:datasync:LocationFsxOntapFileSystem
* properties:
* fsxFilesystemArn: ${testAwsFsxOntapFileSystem.arn}
* securityGroupArns:
* - ${testAwsSecurityGroup.arn}
* storageVirtualMachineArn: ${testAwsFsxOntapStorageVirtualMachine.arn}
* protocol:
* nfs:
* mountOptions:
* version: NFS3
* ```
*
* ## Import
* Using `pulumi import`, import `aws_datasync_location_fsx_ontap_file_system` using the `DataSync-ARN#FSx-ontap-svm-ARN`. For example:
* ```sh
* $ pulumi import aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:123456789012:storage-virtual-machine/svm-12345678abcdef123
* ```
*/
public class LocationFsxOntapFileSystem internal constructor(
override val javaResource: com.pulumi.aws.datasync.LocationFsxOntapFileSystem,
) : KotlinCustomResource(javaResource, LocationFsxOntapFileSystemMapper) {
/**
* ARN of the DataSync Location for the FSx Ontap File System.
*/
public val arn: Output
get() = javaResource.arn().applyValue({ args0 -> args0 })
public val creationTime: Output
get() = javaResource.creationTime().applyValue({ args0 -> args0 })
/**
* ARN of the FSx Ontap File System.
*/
public val fsxFilesystemArn: Output
get() = javaResource.fsxFilesystemArn().applyValue({ args0 -> args0 })
/**
* The data transfer protocol that DataSync uses to access your Amazon FSx file system. See Protocol below.
*/
public val protocol: Output
get() = javaResource.protocol().applyValue({ args0 -> args0.let({ args0 -> toKotlin(args0) }) })
/**
* The security groups that provide access to your file system's preferred subnet. The security groups must allow outbbound traffic on the following ports (depending on the protocol you use):
* * Network File System (NFS): TCP ports 111, 635, and 2049
* * Server Message Block (SMB): TCP port 445
*/
public val securityGroupArns: Output>
get() = javaResource.securityGroupArns().applyValue({ args0 -> args0.map({ args0 -> args0 }) })
/**
* The ARN of the SVM in your file system where you want to copy data to of from.
* The following arguments are optional:
*/
public val storageVirtualMachineArn: Output
get() = javaResource.storageVirtualMachineArn().applyValue({ args0 -> args0 })
/**
* Path to the file share in the SVM where you'll copy your data. You can specify a junction path (also known as a mount point), qtree path (for NFS file shares), or share name (for SMB file shares) (e.g. `/vol1`, `/vol1/tree1`, `share1`).
*/
public val subdirectory: Output
get() = javaResource.subdirectory().applyValue({ args0 -> args0 })
/**
* Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
public val tags: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy