![JAR search and dependency download from the Maven repository](/logo.png)
io.cloudshiftdev.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.kt Maven / Gradle / Ivy
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")
package io.cloudshiftdev.awscdk.services.networkmanager
import io.cloudshiftdev.awscdk.CfnResource
import io.cloudshiftdev.awscdk.CfnTag
import io.cloudshiftdev.awscdk.IInspectable
import io.cloudshiftdev.awscdk.IResolvable
import io.cloudshiftdev.awscdk.ITaggable
import io.cloudshiftdev.awscdk.TagManager
import io.cloudshiftdev.awscdk.TreeInspector
import io.cloudshiftdev.awscdk.common.CdkDslMarker
import io.cloudshiftdev.awscdk.common.CdkObject
import io.cloudshiftdev.awscdk.common.CdkObjectWrappers
import kotlin.Any
import kotlin.Number
import kotlin.String
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
import io.cloudshiftdev.constructs.Construct as CloudshiftdevConstructsConstruct
import software.constructs.Construct as SoftwareConstructsConstruct
/**
* Creates a transit gateway route table attachment.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.networkmanager.*;
* CfnTransitGatewayRouteTableAttachment cfnTransitGatewayRouteTableAttachment =
* CfnTransitGatewayRouteTableAttachment.Builder.create(this,
* "MyCfnTransitGatewayRouteTableAttachment")
* .peeringId("peeringId")
* .transitGatewayRouteTableArn("transitGatewayRouteTableArn")
* // the properties below are optional
* .networkFunctionGroupName("networkFunctionGroupName")
* .proposedNetworkFunctionGroupChange(ProposedNetworkFunctionGroupChangeProperty.builder()
* .attachmentPolicyRuleNumber(123)
* .networkFunctionGroupName("networkFunctionGroupName")
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build())
* .proposedSegmentChange(ProposedSegmentChangeProperty.builder()
* .attachmentPolicyRuleNumber(123)
* .segmentName("segmentName")
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build())
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)
*/
public open class CfnTransitGatewayRouteTableAttachment(
cdkObject: software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment,
) : CfnResource(cdkObject),
IInspectable,
ITaggable {
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnTransitGatewayRouteTableAttachmentProps,
) :
this(software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment(scope.let(CloudshiftdevConstructsConstruct.Companion::unwrap),
id, props.let(CfnTransitGatewayRouteTableAttachmentProps.Companion::unwrap))
)
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnTransitGatewayRouteTableAttachmentProps.Builder.() -> Unit,
) : this(scope, id, CfnTransitGatewayRouteTableAttachmentProps(props)
)
/**
* The ID of the transit gateway route table attachment.
*/
public open fun attrAttachmentId(): String = unwrap(this).getAttrAttachmentId()
/**
* The policy rule number associated with the attachment.
*/
public open fun attrAttachmentPolicyRuleNumber(): Number =
unwrap(this).getAttrAttachmentPolicyRuleNumber()
/**
* The type of attachment.
*
* This will be `TRANSIT_GATEWAY_ROUTE_TABLE` .
*/
public open fun attrAttachmentType(): String = unwrap(this).getAttrAttachmentType()
/**
* The ARN of the core network.
*/
public open fun attrCoreNetworkArn(): String = unwrap(this).getAttrCoreNetworkArn()
/**
* The ID of the core network.
*/
public open fun attrCoreNetworkId(): String = unwrap(this).getAttrCoreNetworkId()
/**
* The timestamp when the transit gateway route table attachment was created.
*/
public open fun attrCreatedAt(): String = unwrap(this).getAttrCreatedAt()
/**
* The Region where the core network edge is located.
*/
public open fun attrEdgeLocation(): String = unwrap(this).getAttrEdgeLocation()
/**
* The ID of the transit gateway route table attachment owner.
*/
public open fun attrOwnerAccountId(): String = unwrap(this).getAttrOwnerAccountId()
/**
* The resource ARN for the transit gateway route table attachment.
*/
public open fun attrResourceArn(): String = unwrap(this).getAttrResourceArn()
/**
* The name of the attachment's segment.
*/
public open fun attrSegmentName(): String = unwrap(this).getAttrSegmentName()
/**
* The state of the attachment.
*
* This can be: `REJECTED` | `PENDING_ATTACHMENT_ACCEPTANCE` | `CREATING` | `FAILED` | `AVAILABLE`
* | `UPDATING` | `PENDING_NETWORK_UPDATE` | `PENDING_TAG_ACCEPTANCE` | `DELETING` .
*/
public open fun attrState(): String = unwrap(this).getAttrState()
/**
* The timestamp when the transit gateway route table attachment was last updated.
*/
public open fun attrUpdatedAt(): String = unwrap(this).getAttrUpdatedAt()
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector tree inspector to collect and process attributes.
*/
public override fun inspect(inspector: TreeInspector) {
unwrap(this).inspect(inspector.let(TreeInspector.Companion::unwrap))
}
/**
* The name of the network function group.
*/
public open fun networkFunctionGroupName(): String? = unwrap(this).getNetworkFunctionGroupName()
/**
* The name of the network function group.
*/
public open fun networkFunctionGroupName(`value`: String) {
unwrap(this).setNetworkFunctionGroupName(`value`)
}
/**
* The ID of the transit gateway peering.
*/
public open fun peeringId(): String = unwrap(this).getPeeringId()
/**
* The ID of the transit gateway peering.
*/
public open fun peeringId(`value`: String) {
unwrap(this).setPeeringId(`value`)
}
/**
* Describes proposed changes to a network function group.
*/
public open fun proposedNetworkFunctionGroupChange(): Any? =
unwrap(this).getProposedNetworkFunctionGroupChange()
/**
* Describes proposed changes to a network function group.
*/
public open fun proposedNetworkFunctionGroupChange(`value`: IResolvable) {
unwrap(this).setProposedNetworkFunctionGroupChange(`value`.let(IResolvable.Companion::unwrap))
}
/**
* Describes proposed changes to a network function group.
*/
public open
fun proposedNetworkFunctionGroupChange(`value`: ProposedNetworkFunctionGroupChangeProperty) {
unwrap(this).setProposedNetworkFunctionGroupChange(`value`.let(ProposedNetworkFunctionGroupChangeProperty.Companion::unwrap))
}
/**
* Describes proposed changes to a network function group.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("3b88e01051b1ad8922f33bbdc87bd9e6e6c535c65fa5be108c3c119fee17a2fc")
public open
fun proposedNetworkFunctionGroupChange(`value`: ProposedNetworkFunctionGroupChangeProperty.Builder.() -> Unit):
Unit = proposedNetworkFunctionGroupChange(ProposedNetworkFunctionGroupChangeProperty(`value`))
/**
* This property is read-only.
*/
public open fun proposedSegmentChange(): Any? = unwrap(this).getProposedSegmentChange()
/**
* This property is read-only.
*/
public open fun proposedSegmentChange(`value`: IResolvable) {
unwrap(this).setProposedSegmentChange(`value`.let(IResolvable.Companion::unwrap))
}
/**
* This property is read-only.
*/
public open fun proposedSegmentChange(`value`: ProposedSegmentChangeProperty) {
unwrap(this).setProposedSegmentChange(`value`.let(ProposedSegmentChangeProperty.Companion::unwrap))
}
/**
* This property is read-only.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("1119ab37be45fcd13819f8543e90599f5ea47b92adf94d468b7fa43dfcc4eb93")
public open fun proposedSegmentChange(`value`: ProposedSegmentChangeProperty.Builder.() -> Unit):
Unit = proposedSegmentChange(ProposedSegmentChangeProperty(`value`))
/**
* Tag Manager which manages the tags for this resource.
*/
public override fun tags(): TagManager = unwrap(this).getTags().let(TagManager::wrap)
/**
* The list of key-value pairs associated with the transit gateway route table attachment.
*/
public open fun tagsRaw(): List = unwrap(this).getTagsRaw()?.map(CfnTag::wrap) ?:
emptyList()
/**
* The list of key-value pairs associated with the transit gateway route table attachment.
*/
public open fun tagsRaw(`value`: List) {
unwrap(this).setTagsRaw(`value`.map(CfnTag.Companion::unwrap))
}
/**
* The list of key-value pairs associated with the transit gateway route table attachment.
*/
public open fun tagsRaw(vararg `value`: CfnTag): Unit = tagsRaw(`value`.toList())
/**
* The ARN of the transit gateway attachment route table.
*/
public open fun transitGatewayRouteTableArn(): String =
unwrap(this).getTransitGatewayRouteTableArn()
/**
* The ARN of the transit gateway attachment route table.
*/
public open fun transitGatewayRouteTableArn(`value`: String) {
unwrap(this).setTransitGatewayRouteTableArn(`value`)
}
/**
* A fluent builder for
* [io.cloudshiftdev.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment].
*/
@CdkDslMarker
public interface Builder {
/**
* The name of the network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-networkfunctiongroupname)
* @param networkFunctionGroupName The name of the network function group.
*/
public fun networkFunctionGroupName(networkFunctionGroupName: String)
/**
* The ID of the transit gateway peering.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-peeringid)
* @param peeringId The ID of the transit gateway peering.
*/
public fun peeringId(peeringId: String)
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
public fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: IResolvable)
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
public
fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: ProposedNetworkFunctionGroupChangeProperty)
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0f4139e45992c1bbd01956f7da37fa231c1847e0ebff07200f7ebe761e779d18")
public
fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: ProposedNetworkFunctionGroupChangeProperty.Builder.() -> Unit)
/**
* This property is read-only.
*
* Values can't be assigned to it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange)
* @param proposedSegmentChange This property is read-only.
*/
public fun proposedSegmentChange(proposedSegmentChange: IResolvable)
/**
* This property is read-only.
*
* Values can't be assigned to it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange)
* @param proposedSegmentChange This property is read-only.
*/
public fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty)
/**
* This property is read-only.
*
* Values can't be assigned to it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange)
* @param proposedSegmentChange This property is read-only.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("d991b34abdf57174eede1ec2d656faad25f64d971bd38f7465659b28918fb763")
public
fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty.Builder.() -> Unit)
/**
* The list of key-value pairs associated with the transit gateway route table attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-tags)
* @param tags The list of key-value pairs associated with the transit gateway route table
* attachment.
*/
public fun tags(tags: List)
/**
* The list of key-value pairs associated with the transit gateway route table attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-tags)
* @param tags The list of key-value pairs associated with the transit gateway route table
* attachment.
*/
public fun tags(vararg tags: CfnTag)
/**
* The ARN of the transit gateway attachment route table.
*
* For example, `"TransitGatewayRouteTableArn":
* "arn:aws:ec2:us-west-2:123456789012:transit-gateway-route-table/tgw-rtb-9876543210123456"` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-transitgatewayroutetablearn)
* @param transitGatewayRouteTableArn The ARN of the transit gateway attachment route table.
*/
public fun transitGatewayRouteTableArn(transitGatewayRouteTableArn: String)
}
private class BuilderImpl(
scope: SoftwareConstructsConstruct,
id: String,
) : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.Builder
=
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.Builder.create(scope,
id)
/**
* The name of the network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-networkfunctiongroupname)
* @param networkFunctionGroupName The name of the network function group.
*/
override fun networkFunctionGroupName(networkFunctionGroupName: String) {
cdkBuilder.networkFunctionGroupName(networkFunctionGroupName)
}
/**
* The ID of the transit gateway peering.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-peeringid)
* @param peeringId The ID of the transit gateway peering.
*/
override fun peeringId(peeringId: String) {
cdkBuilder.peeringId(peeringId)
}
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
override
fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: IResolvable) {
cdkBuilder.proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange.let(IResolvable.Companion::unwrap))
}
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
override
fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: ProposedNetworkFunctionGroupChangeProperty) {
cdkBuilder.proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange.let(ProposedNetworkFunctionGroupChangeProperty.Companion::unwrap))
}
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0f4139e45992c1bbd01956f7da37fa231c1847e0ebff07200f7ebe761e779d18")
override
fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: ProposedNetworkFunctionGroupChangeProperty.Builder.() -> Unit):
Unit =
proposedNetworkFunctionGroupChange(ProposedNetworkFunctionGroupChangeProperty(proposedNetworkFunctionGroupChange))
/**
* This property is read-only.
*
* Values can't be assigned to it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange)
* @param proposedSegmentChange This property is read-only.
*/
override fun proposedSegmentChange(proposedSegmentChange: IResolvable) {
cdkBuilder.proposedSegmentChange(proposedSegmentChange.let(IResolvable.Companion::unwrap))
}
/**
* This property is read-only.
*
* Values can't be assigned to it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange)
* @param proposedSegmentChange This property is read-only.
*/
override fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty) {
cdkBuilder.proposedSegmentChange(proposedSegmentChange.let(ProposedSegmentChangeProperty.Companion::unwrap))
}
/**
* This property is read-only.
*
* Values can't be assigned to it.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange)
* @param proposedSegmentChange This property is read-only.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("d991b34abdf57174eede1ec2d656faad25f64d971bd38f7465659b28918fb763")
override
fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty.Builder.() -> Unit):
Unit = proposedSegmentChange(ProposedSegmentChangeProperty(proposedSegmentChange))
/**
* The list of key-value pairs associated with the transit gateway route table attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-tags)
* @param tags The list of key-value pairs associated with the transit gateway route table
* attachment.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* The list of key-value pairs associated with the transit gateway route table attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-tags)
* @param tags The list of key-value pairs associated with the transit gateway route table
* attachment.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
/**
* The ARN of the transit gateway attachment route table.
*
* For example, `"TransitGatewayRouteTableArn":
* "arn:aws:ec2:us-west-2:123456789012:transit-gateway-route-table/tgw-rtb-9876543210123456"` .
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html#cfn-networkmanager-transitgatewayroutetableattachment-transitgatewayroutetablearn)
* @param transitGatewayRouteTableArn The ARN of the transit gateway attachment route table.
*/
override fun transitGatewayRouteTableArn(transitGatewayRouteTableArn: String) {
cdkBuilder.transitGatewayRouteTableArn(transitGatewayRouteTableArn)
}
public fun build():
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment =
cdkBuilder.build()
}
public companion object {
public val CFN_RESOURCE_TYPE_NAME: String =
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.CFN_RESOURCE_TYPE_NAME
public operator fun invoke(
scope: CloudshiftdevConstructsConstruct,
id: String,
block: Builder.() -> Unit = {},
): CfnTransitGatewayRouteTableAttachment {
val builderImpl = BuilderImpl(CloudshiftdevConstructsConstruct.unwrap(scope), id)
return CfnTransitGatewayRouteTableAttachment(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment):
CfnTransitGatewayRouteTableAttachment = CfnTransitGatewayRouteTableAttachment(cdkObject)
internal fun unwrap(wrapped: CfnTransitGatewayRouteTableAttachment):
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment =
wrapped.cdkObject as
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment
}
/**
* Describes proposed changes to a network function group.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.networkmanager.*;
* ProposedNetworkFunctionGroupChangeProperty proposedNetworkFunctionGroupChangeProperty =
* ProposedNetworkFunctionGroupChangeProperty.builder()
* .attachmentPolicyRuleNumber(123)
* .networkFunctionGroupName("networkFunctionGroupName")
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange.html)
*/
public interface ProposedNetworkFunctionGroupChangeProperty {
/**
* The proposed new attachment policy rule number for the network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange-attachmentpolicyrulenumber)
*/
public fun attachmentPolicyRuleNumber(): Number? = unwrap(this).getAttachmentPolicyRuleNumber()
/**
* The proposed name change for the network function group name.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange-networkfunctiongroupname)
*/
public fun networkFunctionGroupName(): String? = unwrap(this).getNetworkFunctionGroupName()
/**
* The list of proposed changes to the key-value tags associated with the network function
* group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange-tags)
*/
public fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
/**
* A builder for [ProposedNetworkFunctionGroupChangeProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param attachmentPolicyRuleNumber The proposed new attachment policy rule number for the
* network function group.
*/
public fun attachmentPolicyRuleNumber(attachmentPolicyRuleNumber: Number)
/**
* @param networkFunctionGroupName The proposed name change for the network function group
* name.
*/
public fun networkFunctionGroupName(networkFunctionGroupName: String)
/**
* @param tags The list of proposed changes to the key-value tags associated with the network
* function group.
*/
public fun tags(tags: List)
/**
* @param tags The list of proposed changes to the key-value tags associated with the network
* function group.
*/
public fun tags(vararg tags: CfnTag)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChangeProperty.Builder
=
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChangeProperty.builder()
/**
* @param attachmentPolicyRuleNumber The proposed new attachment policy rule number for the
* network function group.
*/
override fun attachmentPolicyRuleNumber(attachmentPolicyRuleNumber: Number) {
cdkBuilder.attachmentPolicyRuleNumber(attachmentPolicyRuleNumber)
}
/**
* @param networkFunctionGroupName The proposed name change for the network function group
* name.
*/
override fun networkFunctionGroupName(networkFunctionGroupName: String) {
cdkBuilder.networkFunctionGroupName(networkFunctionGroupName)
}
/**
* @param tags The list of proposed changes to the key-value tags associated with the network
* function group.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* @param tags The list of proposed changes to the key-value tags associated with the network
* function group.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
public fun build():
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChangeProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChangeProperty,
) : CdkObject(cdkObject),
ProposedNetworkFunctionGroupChangeProperty {
/**
* The proposed new attachment policy rule number for the network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange-attachmentpolicyrulenumber)
*/
override fun attachmentPolicyRuleNumber(): Number? =
unwrap(this).getAttachmentPolicyRuleNumber()
/**
* The proposed name change for the network function group name.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange-networkfunctiongroupname)
*/
override fun networkFunctionGroupName(): String? = unwrap(this).getNetworkFunctionGroupName()
/**
* The list of proposed changes to the key-value tags associated with the network function
* group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposednetworkfunctiongroupchange-tags)
*/
override fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}):
ProposedNetworkFunctionGroupChangeProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChangeProperty):
ProposedNetworkFunctionGroupChangeProperty = CdkObjectWrappers.wrap(cdkObject) as?
ProposedNetworkFunctionGroupChangeProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: ProposedNetworkFunctionGroupChangeProperty):
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChangeProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedNetworkFunctionGroupChangeProperty
}
}
/**
* Describes a proposed segment change.
*
* In some cases, the segment change must first be evaluated and accepted.
*
* Example:
*
* ```
* // The code below shows an example of how to instantiate this type.
* // The values are placeholders you should change.
* import io.cloudshiftdev.awscdk.services.networkmanager.*;
* ProposedSegmentChangeProperty proposedSegmentChangeProperty =
* ProposedSegmentChangeProperty.builder()
* .attachmentPolicyRuleNumber(123)
* .segmentName("segmentName")
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange.html)
*/
public interface ProposedSegmentChangeProperty {
/**
* The rule number in the policy document that applies to this change.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange-attachmentpolicyrulenumber)
*/
public fun attachmentPolicyRuleNumber(): Number? = unwrap(this).getAttachmentPolicyRuleNumber()
/**
* The name of the segment to change.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange-segmentname)
*/
public fun segmentName(): String? = unwrap(this).getSegmentName()
/**
* The list of key-value tags that changed for the segment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange-tags)
*/
public fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
/**
* A builder for [ProposedSegmentChangeProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param attachmentPolicyRuleNumber The rule number in the policy document that applies to
* this change.
*/
public fun attachmentPolicyRuleNumber(attachmentPolicyRuleNumber: Number)
/**
* @param segmentName The name of the segment to change.
*/
public fun segmentName(segmentName: String)
/**
* @param tags The list of key-value tags that changed for the segment.
*/
public fun tags(tags: List)
/**
* @param tags The list of key-value tags that changed for the segment.
*/
public fun tags(vararg tags: CfnTag)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedSegmentChangeProperty.Builder
=
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedSegmentChangeProperty.builder()
/**
* @param attachmentPolicyRuleNumber The rule number in the policy document that applies to
* this change.
*/
override fun attachmentPolicyRuleNumber(attachmentPolicyRuleNumber: Number) {
cdkBuilder.attachmentPolicyRuleNumber(attachmentPolicyRuleNumber)
}
/**
* @param segmentName The name of the segment to change.
*/
override fun segmentName(segmentName: String) {
cdkBuilder.segmentName(segmentName)
}
/**
* @param tags The list of key-value tags that changed for the segment.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* @param tags The list of key-value tags that changed for the segment.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
public fun build():
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedSegmentChangeProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedSegmentChangeProperty,
) : CdkObject(cdkObject),
ProposedSegmentChangeProperty {
/**
* The rule number in the policy document that applies to this change.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange-attachmentpolicyrulenumber)
*/
override fun attachmentPolicyRuleNumber(): Number? =
unwrap(this).getAttachmentPolicyRuleNumber()
/**
* The name of the segment to change.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange-segmentname)
*/
override fun segmentName(): String? = unwrap(this).getSegmentName()
/**
* The list of key-value tags that changed for the segment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange.html#cfn-networkmanager-transitgatewayroutetableattachment-proposedsegmentchange-tags)
*/
override fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): ProposedSegmentChangeProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedSegmentChangeProperty):
ProposedSegmentChangeProperty = CdkObjectWrappers.wrap(cdkObject) as?
ProposedSegmentChangeProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: ProposedSegmentChangeProperty):
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedSegmentChangeProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.networkmanager.CfnTransitGatewayRouteTableAttachment.ProposedSegmentChangeProperty
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy