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.ec2.kotlin
import com.pulumi.awsnative.ec2.IpamPoolArgs.builder
import com.pulumi.awsnative.ec2.kotlin.enums.IpamPoolAwsService
import com.pulumi.awsnative.ec2.kotlin.enums.IpamPoolPublicIpSource
import com.pulumi.awsnative.ec2.kotlin.inputs.IpamPoolProvisionedCidrArgs
import com.pulumi.awsnative.ec2.kotlin.inputs.IpamPoolProvisionedCidrArgsBuilder
import com.pulumi.awsnative.ec2.kotlin.inputs.IpamPoolSourceResourceArgs
import com.pulumi.awsnative.ec2.kotlin.inputs.IpamPoolSourceResourceArgsBuilder
import com.pulumi.awsnative.ec2.kotlin.inputs.IpamPoolTagArgs
import com.pulumi.awsnative.ec2.kotlin.inputs.IpamPoolTagArgsBuilder
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.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource Schema of AWS::EC2::IPAMPool Type
* @property addressFamily The address family of the address space in this pool. Either IPv4 or IPv6.
* @property allocationDefaultNetmaskLength The default netmask length for allocations made from this pool. This value is used when the netmask length of an allocation isn't specified.
* @property allocationMaxNetmaskLength The maximum allowed netmask length for allocations made from this pool.
* @property allocationMinNetmaskLength The minimum allowed netmask length for allocations made from this pool.
* @property allocationResourceTags When specified, an allocation will not be allowed unless a resource has a matching set of tags.
* @property autoImport Determines what to do if IPAM discovers resources that haven't been assigned an allocation. If set to true, an allocation will be made automatically.
* @property awsService Limits which service in Amazon Web Services that the pool can be used in.
* @property description The description of the IPAM pool.
* @property ipamScopeId The Id of the scope this pool is a part of.
* @property locale The region of this pool. If not set, this will default to "None" which will disable non-custom allocations. If the locale has been specified for the source pool, this value must match.
* @property provisionedCidrs A list of cidrs representing the address space available for allocation in this pool.
* @property publicIpSource The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is `byoip`.
* @property publiclyAdvertisable Determines whether or not address space from this pool is publicly advertised. Must be set if and only if the pool is IPv6.
* @property sourceIpamPoolId The Id of this pool's source. If set, all space provisioned in this pool must be free space provisioned in the parent pool.
* @property sourceResource The resource used to provision CIDRs to a resource planning pool.
* @property tags An array of key-value pairs to apply to this resource.
*/
public data class IpamPoolArgs(
public val addressFamily: Output? = null,
public val allocationDefaultNetmaskLength: Output? = null,
public val allocationMaxNetmaskLength: Output? = null,
public val allocationMinNetmaskLength: Output? = null,
public val allocationResourceTags: Output>? = null,
public val autoImport: Output? = null,
public val awsService: Output? = null,
public val description: Output? = null,
public val ipamScopeId: Output? = null,
public val locale: Output? = null,
public val provisionedCidrs: Output>? = null,
public val publicIpSource: Output? = null,
public val publiclyAdvertisable: Output? = null,
public val sourceIpamPoolId: Output? = null,
public val sourceResource: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ec2.IpamPoolArgs =
com.pulumi.awsnative.ec2.IpamPoolArgs.builder()
.addressFamily(addressFamily?.applyValue({ args0 -> args0 }))
.allocationDefaultNetmaskLength(allocationDefaultNetmaskLength?.applyValue({ args0 -> args0 }))
.allocationMaxNetmaskLength(allocationMaxNetmaskLength?.applyValue({ args0 -> args0 }))
.allocationMinNetmaskLength(allocationMinNetmaskLength?.applyValue({ args0 -> args0 }))
.allocationResourceTags(
allocationResourceTags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.autoImport(autoImport?.applyValue({ args0 -> args0 }))
.awsService(awsService?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.description(description?.applyValue({ args0 -> args0 }))
.ipamScopeId(ipamScopeId?.applyValue({ args0 -> args0 }))
.locale(locale?.applyValue({ args0 -> args0 }))
.provisionedCidrs(
provisionedCidrs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.publicIpSource(publicIpSource?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.publiclyAdvertisable(publiclyAdvertisable?.applyValue({ args0 -> args0 }))
.sourceIpamPoolId(sourceIpamPoolId?.applyValue({ args0 -> args0 }))
.sourceResource(sourceResource?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [IpamPoolArgs].
*/
@PulumiTagMarker
public class IpamPoolArgsBuilder internal constructor() {
private var addressFamily: Output? = null
private var allocationDefaultNetmaskLength: Output? = null
private var allocationMaxNetmaskLength: Output? = null
private var allocationMinNetmaskLength: Output? = null
private var allocationResourceTags: Output>? = null
private var autoImport: Output? = null
private var awsService: Output? = null
private var description: Output? = null
private var ipamScopeId: Output? = null
private var locale: Output? = null
private var provisionedCidrs: Output>? = null
private var publicIpSource: Output? = null
private var publiclyAdvertisable: Output? = null
private var sourceIpamPoolId: Output? = null
private var sourceResource: Output? = null
private var tags: Output>? = null
/**
* @param value The address family of the address space in this pool. Either IPv4 or IPv6.
*/
@JvmName("ahlnfdknmuwbcmoy")
public suspend fun addressFamily(`value`: Output) {
this.addressFamily = value
}
/**
* @param value The default netmask length for allocations made from this pool. This value is used when the netmask length of an allocation isn't specified.
*/
@JvmName("gcrehbovnefpbgfm")
public suspend fun allocationDefaultNetmaskLength(`value`: Output) {
this.allocationDefaultNetmaskLength = value
}
/**
* @param value The maximum allowed netmask length for allocations made from this pool.
*/
@JvmName("mieuyphiekajlkml")
public suspend fun allocationMaxNetmaskLength(`value`: Output) {
this.allocationMaxNetmaskLength = value
}
/**
* @param value The minimum allowed netmask length for allocations made from this pool.
*/
@JvmName("sdblsicfepxaurjv")
public suspend fun allocationMinNetmaskLength(`value`: Output) {
this.allocationMinNetmaskLength = value
}
/**
* @param value When specified, an allocation will not be allowed unless a resource has a matching set of tags.
*/
@JvmName("ntjeshasgpuydftk")
public suspend fun allocationResourceTags(`value`: Output>) {
this.allocationResourceTags = value
}
@JvmName("bvksskcruicbbtta")
public suspend fun allocationResourceTags(vararg values: Output) {
this.allocationResourceTags = Output.all(values.asList())
}
/**
* @param values When specified, an allocation will not be allowed unless a resource has a matching set of tags.
*/
@JvmName("hsrrvjbjpejisbor")
public suspend fun allocationResourceTags(values: List