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.resourcegroups.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.resourcegroups.GroupArgs.builder
import com.pulumi.awsnative.resourcegroups.kotlin.inputs.GroupConfigurationItemArgs
import com.pulumi.awsnative.resourcegroups.kotlin.inputs.GroupConfigurationItemArgsBuilder
import com.pulumi.awsnative.resourcegroups.kotlin.inputs.GroupResourceQueryArgs
import com.pulumi.awsnative.resourcegroups.kotlin.inputs.GroupResourceQueryArgsBuilder
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
/**
* Schema for ResourceGroups::Group
* @property configuration The service configuration currently associated with the resource group and in effect for the members of the resource group. A `Configuration` consists of one or more `ConfigurationItem` entries. For information about service configurations for resource groups and how to construct them, see [Service configurations for resource groups](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html) in the *AWS Resource Groups User Guide* .
* > You can include either a `Configuration` or a `ResourceQuery` , but not both.
* @property description The description of the resource group
* @property name The name of the resource group
* @property resourceQuery The resource query structure that is used to dynamically determine which AWS resources are members of the associated resource group. For more information about queries and how to construct them, see [Build queries and groups in AWS Resource Groups](https://docs.aws.amazon.com//ARG/latest/userguide/gettingstarted-query.html) in the *AWS Resource Groups User Guide*
* > - You can include either a `ResourceQuery` or a `Configuration` , but not both.
* > - You can specify the group's membership either by using a `ResourceQuery` or by using a list of `Resources` , but not both.
* @property resources A list of the Amazon Resource Names (ARNs) of AWS resources that you want to add to the specified group.
* > - You can specify the group membership either by using a list of `Resources` or by using a `ResourceQuery` , but not both.
* > - You can include a `Resources` property only if you also specify a `Configuration` property.
* @property tags The tag key and value pairs that are attached to the resource group.
*/
public data class GroupArgs(
public val configuration: Output>? = null,
public val description: Output? = null,
public val name: Output? = null,
public val resourceQuery: Output? = null,
public val resources: Output>? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.resourcegroups.GroupArgs =
com.pulumi.awsnative.resourcegroups.GroupArgs.builder()
.configuration(
configuration?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.description(description?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.resourceQuery(resourceQuery?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.resources(resources?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [GroupArgs].
*/
@PulumiTagMarker
public class GroupArgsBuilder internal constructor() {
private var configuration: Output>? = null
private var description: Output? = null
private var name: Output? = null
private var resourceQuery: Output? = null
private var resources: Output>? = null
private var tags: Output>? = null
/**
* @param value The service configuration currently associated with the resource group and in effect for the members of the resource group. A `Configuration` consists of one or more `ConfigurationItem` entries. For information about service configurations for resource groups and how to construct them, see [Service configurations for resource groups](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html) in the *AWS Resource Groups User Guide* .
* > You can include either a `Configuration` or a `ResourceQuery` , but not both.
*/
@JvmName("twudjunylmrqajue")
public suspend fun configuration(`value`: Output>) {
this.configuration = value
}
@JvmName("dbnltwgeuirqsiso")
public suspend fun configuration(vararg values: Output) {
this.configuration = Output.all(values.asList())
}
/**
* @param values The service configuration currently associated with the resource group and in effect for the members of the resource group. A `Configuration` consists of one or more `ConfigurationItem` entries. For information about service configurations for resource groups and how to construct them, see [Service configurations for resource groups](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html) in the *AWS Resource Groups User Guide* .
* > You can include either a `Configuration` or a `ResourceQuery` , but not both.
*/
@JvmName("byicbsvcetqowyok")
public suspend fun configuration(values: List