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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ssm.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.ssm.DocumentArgs.builder
import com.pulumi.awsnative.ssm.kotlin.enums.DocumentFormat
import com.pulumi.awsnative.ssm.kotlin.enums.DocumentType
import com.pulumi.awsnative.ssm.kotlin.enums.DocumentUpdateMethod
import com.pulumi.awsnative.ssm.kotlin.inputs.DocumentAttachmentsSourceArgs
import com.pulumi.awsnative.ssm.kotlin.inputs.DocumentAttachmentsSourceArgsBuilder
import com.pulumi.awsnative.ssm.kotlin.inputs.DocumentRequiresArgs
import com.pulumi.awsnative.ssm.kotlin.inputs.DocumentRequiresArgsBuilder
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.Any
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances.
* ## Example Usage
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* @property attachments A list of key and value pairs that describe attachments to a version of a document.
* @property content The content for the Systems Manager document in JSON, YAML or String format.
* Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SSM::Document` for more information about the expected schema for this property.
* @property documentFormat Specify the document format for the request. The document format can be either JSON or YAML. JSON is the default format.
* @property documentType The type of document to create.
* @property name A name for the Systems Manager document.
* @property requires A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.
* @property tags Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment.
* @property targetType Specify a target type to define the kinds of resources the document can run on.
* @property updateMethod Update method - when set to 'Replace', the update will replace the existing document; when set to 'NewVersion', the update will create a new version.
* @property versionName An optional field specifying the version of the artifact you are creating with the document. This value is unique across all versions of a document, and cannot be changed.
*/
public data class DocumentArgs(
public val attachments: Output>? = null,
public val content: Output? = null,
public val documentFormat: Output? = null,
public val documentType: Output? = null,
public val name: Output? = null,
public val requires: Output>? = null,
public val tags: Output>? = null,
public val targetType: Output? = null,
public val updateMethod: Output? = null,
public val versionName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ssm.DocumentArgs =
com.pulumi.awsnative.ssm.DocumentArgs.builder()
.attachments(
attachments?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.content(content?.applyValue({ args0 -> args0 }))
.documentFormat(documentFormat?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.documentType(documentType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name?.applyValue({ args0 -> args0 }))
.requires(
requires?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.targetType(targetType?.applyValue({ args0 -> args0 }))
.updateMethod(updateMethod?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.versionName(versionName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DocumentArgs].
*/
@PulumiTagMarker
public class DocumentArgsBuilder internal constructor() {
private var attachments: Output>? = null
private var content: Output? = null
private var documentFormat: Output? = null
private var documentType: Output? = null
private var name: Output? = null
private var requires: Output>? = null
private var tags: Output>? = null
private var targetType: Output? = null
private var updateMethod: Output? = null
private var versionName: Output? = null
/**
* @param value A list of key and value pairs that describe attachments to a version of a document.
*/
@JvmName("ogrdfoimrwrrckxv")
public suspend fun attachments(`value`: Output>) {
this.attachments = value
}
@JvmName("cdkurpnmdanmbtxs")
public suspend fun attachments(vararg values: Output) {
this.attachments = Output.all(values.asList())
}
/**
* @param values A list of key and value pairs that describe attachments to a version of a document.
*/
@JvmName("rdoqvsaelincjprv")
public suspend fun attachments(values: List