io.cloudshiftdev.awscdk.services.networkmanager.CfnConnectAttachment.kt Maven / Gradle / Ivy
The newest version!
@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 core network Connect attachment from a specified core network attachment.
*
* A core network Connect attachment is a GRE-based tunnel attachment that you can use to establish
* a connection between a core network and an appliance. A core network Connect attachment uses an
* existing VPC attachment as the underlying transport mechanism.
*
* 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.*;
* CfnConnectAttachment cfnConnectAttachment = CfnConnectAttachment.Builder.create(this,
* "MyCfnConnectAttachment")
* .coreNetworkId("coreNetworkId")
* .edgeLocation("edgeLocation")
* .options(ConnectAttachmentOptionsProperty.builder()
* .protocol("protocol")
* .build())
* .transportAttachmentId("transportAttachmentId")
* // 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-connectattachment.html)
*/
public open class CfnConnectAttachment(
cdkObject: software.amazon.awscdk.services.networkmanager.CfnConnectAttachment,
) : CfnResource(cdkObject),
IInspectable,
ITaggable {
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnConnectAttachmentProps,
) :
this(software.amazon.awscdk.services.networkmanager.CfnConnectAttachment(scope.let(CloudshiftdevConstructsConstruct.Companion::unwrap),
id, props.let(CfnConnectAttachmentProps.Companion::unwrap))
)
public constructor(
scope: CloudshiftdevConstructsConstruct,
id: String,
props: CfnConnectAttachmentProps.Builder.() -> Unit,
) : this(scope, id, CfnConnectAttachmentProps(props)
)
/**
* The ID of the Connect attachment.
*/
public open fun attrAttachmentId(): String = unwrap(this).getAttrAttachmentId()
/**
* The rule number associated with the attachment.
*/
public open fun attrAttachmentPolicyRuleNumber(): Number =
unwrap(this).getAttrAttachmentPolicyRuleNumber()
/**
* The type of attachment.
*
* This will be `CONNECT` .
*/
public open fun attrAttachmentType(): String = unwrap(this).getAttrAttachmentType()
/**
* The ARN of the core network.
*/
public open fun attrCoreNetworkArn(): String = unwrap(this).getAttrCoreNetworkArn()
/**
* The timestamp when the Connect attachment was created.
*/
public open fun attrCreatedAt(): String = unwrap(this).getAttrCreatedAt()
/**
* The ID of the Connect attachment owner.
*/
public open fun attrOwnerAccountId(): String = unwrap(this).getAttrOwnerAccountId()
/**
* The resource ARN for the Connect attachment.
*/
public open fun attrResourceArn(): String = unwrap(this).getAttrResourceArn()
/**
* The name of the Connect attachment's segment.
*/
public open fun attrSegmentName(): String = unwrap(this).getAttrSegmentName()
/**
* The state of the Connect 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 Connect attachment was last updated.
*/
public open fun attrUpdatedAt(): String = unwrap(this).getAttrUpdatedAt()
/**
* The ID of the core network where the Connect attachment is located.
*/
public open fun coreNetworkId(): String = unwrap(this).getCoreNetworkId()
/**
* The ID of the core network where the Connect attachment is located.
*/
public open fun coreNetworkId(`value`: String) {
unwrap(this).setCoreNetworkId(`value`)
}
/**
* The Region where the edge is located.
*/
public open fun edgeLocation(): String = unwrap(this).getEdgeLocation()
/**
* The Region where the edge is located.
*/
public open fun edgeLocation(`value`: String) {
unwrap(this).setEdgeLocation(`value`)
}
/**
* 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`)
}
/**
* Options for connecting an attachment.
*/
public open fun options(): Any = unwrap(this).getOptions()
/**
* Options for connecting an attachment.
*/
public open fun options(`value`: IResolvable) {
unwrap(this).setOptions(`value`.let(IResolvable.Companion::unwrap))
}
/**
* Options for connecting an attachment.
*/
public open fun options(`value`: ConnectAttachmentOptionsProperty) {
unwrap(this).setOptions(`value`.let(ConnectAttachmentOptionsProperty.Companion::unwrap))
}
/**
* Options for connecting an attachment.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("dd05dcfd6b8612cf4e07a079bc8a54d5546632d949b72d78e8b43f555a741b17")
public open fun options(`value`: ConnectAttachmentOptionsProperty.Builder.() -> Unit): Unit =
options(ConnectAttachmentOptionsProperty(`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("4785fc14b6a8fef011a7b18a827d680d8141bb9d33f99dcda249de5e936a5a84")
public open
fun proposedNetworkFunctionGroupChange(`value`: ProposedNetworkFunctionGroupChangeProperty.Builder.() -> Unit):
Unit = proposedNetworkFunctionGroupChange(ProposedNetworkFunctionGroupChangeProperty(`value`))
/**
* Describes a proposed segment change.
*/
public open fun proposedSegmentChange(): Any? = unwrap(this).getProposedSegmentChange()
/**
* Describes a proposed segment change.
*/
public open fun proposedSegmentChange(`value`: IResolvable) {
unwrap(this).setProposedSegmentChange(`value`.let(IResolvable.Companion::unwrap))
}
/**
* Describes a proposed segment change.
*/
public open fun proposedSegmentChange(`value`: ProposedSegmentChangeProperty) {
unwrap(this).setProposedSegmentChange(`value`.let(ProposedSegmentChangeProperty.Companion::unwrap))
}
/**
* Describes a proposed segment change.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("90e05f0905d1f30f0892ddabcd4903be9f998cd11a5be57fb0505353cf4c0c16")
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 tags associated with the Connect attachment.
*/
public open fun tagsRaw(): List = unwrap(this).getTagsRaw()?.map(CfnTag::wrap) ?:
emptyList()
/**
* The tags associated with the Connect attachment.
*/
public open fun tagsRaw(`value`: List) {
unwrap(this).setTagsRaw(`value`.map(CfnTag.Companion::unwrap))
}
/**
* The tags associated with the Connect attachment.
*/
public open fun tagsRaw(vararg `value`: CfnTag): Unit = tagsRaw(`value`.toList())
/**
* The ID of the transport attachment.
*/
public open fun transportAttachmentId(): String = unwrap(this).getTransportAttachmentId()
/**
* The ID of the transport attachment.
*/
public open fun transportAttachmentId(`value`: String) {
unwrap(this).setTransportAttachmentId(`value`)
}
/**
* A fluent builder for [io.cloudshiftdev.awscdk.services.networkmanager.CfnConnectAttachment].
*/
@CdkDslMarker
public interface Builder {
/**
* The ID of the core network where the Connect attachment is located.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-corenetworkid)
* @param coreNetworkId The ID of the core network where the Connect attachment is located.
*/
public fun coreNetworkId(coreNetworkId: String)
/**
* The Region where the edge is located.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-edgelocation)
* @param edgeLocation The Region where the edge is located.
*/
public fun edgeLocation(edgeLocation: String)
/**
* The name of the network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-networkfunctiongroupname)
* @param networkFunctionGroupName The name of the network function group.
*/
public fun networkFunctionGroupName(networkFunctionGroupName: String)
/**
* Options for connecting an attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-options)
* @param options Options for connecting an attachment.
*/
public fun options(options: IResolvable)
/**
* Options for connecting an attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-options)
* @param options Options for connecting an attachment.
*/
public fun options(options: ConnectAttachmentOptionsProperty)
/**
* Options for connecting an attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-options)
* @param options Options for connecting an attachment.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0ae73d13e23396694990778766a78b86e25f25965f3d2c60218a10f771363aed")
public fun options(options: ConnectAttachmentOptionsProperty.Builder.() -> Unit)
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-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-connectattachment.html#cfn-networkmanager-connectattachment-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-connectattachment.html#cfn-networkmanager-connectattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("f91b78f557095012d26f2ae0be6d251eaaab96fd89dff53f293d8d2ffd3a8b75")
public
fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: ProposedNetworkFunctionGroupChangeProperty.Builder.() -> Unit)
/**
* Describes a proposed segment change.
*
* In some cases, the segment change must first be evaluated and accepted.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-proposedsegmentchange)
* @param proposedSegmentChange Describes a proposed segment change.
*/
public fun proposedSegmentChange(proposedSegmentChange: IResolvable)
/**
* Describes a proposed segment change.
*
* In some cases, the segment change must first be evaluated and accepted.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-proposedsegmentchange)
* @param proposedSegmentChange Describes a proposed segment change.
*/
public fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty)
/**
* Describes a proposed segment change.
*
* In some cases, the segment change must first be evaluated and accepted.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-proposedsegmentchange)
* @param proposedSegmentChange Describes a proposed segment change.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("04ba31d1492cbea1f205c15a8b9770eeb64cee458d708f027c01e0a95a51fd27")
public
fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty.Builder.() -> Unit)
/**
* The tags associated with the Connect attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-tags)
* @param tags The tags associated with the Connect attachment.
*/
public fun tags(tags: List)
/**
* The tags associated with the Connect attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-tags)
* @param tags The tags associated with the Connect attachment.
*/
public fun tags(vararg tags: CfnTag)
/**
* The ID of the transport attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-transportattachmentid)
* @param transportAttachmentId The ID of the transport attachment.
*/
public fun transportAttachmentId(transportAttachmentId: String)
}
private class BuilderImpl(
scope: SoftwareConstructsConstruct,
id: String,
) : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.Builder =
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.Builder.create(scope,
id)
/**
* The ID of the core network where the Connect attachment is located.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-corenetworkid)
* @param coreNetworkId The ID of the core network where the Connect attachment is located.
*/
override fun coreNetworkId(coreNetworkId: String) {
cdkBuilder.coreNetworkId(coreNetworkId)
}
/**
* The Region where the edge is located.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-edgelocation)
* @param edgeLocation The Region where the edge is located.
*/
override fun edgeLocation(edgeLocation: String) {
cdkBuilder.edgeLocation(edgeLocation)
}
/**
* The name of the network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-networkfunctiongroupname)
* @param networkFunctionGroupName The name of the network function group.
*/
override fun networkFunctionGroupName(networkFunctionGroupName: String) {
cdkBuilder.networkFunctionGroupName(networkFunctionGroupName)
}
/**
* Options for connecting an attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-options)
* @param options Options for connecting an attachment.
*/
override fun options(options: IResolvable) {
cdkBuilder.options(options.let(IResolvable.Companion::unwrap))
}
/**
* Options for connecting an attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-options)
* @param options Options for connecting an attachment.
*/
override fun options(options: ConnectAttachmentOptionsProperty) {
cdkBuilder.options(options.let(ConnectAttachmentOptionsProperty.Companion::unwrap))
}
/**
* Options for connecting an attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-options)
* @param options Options for connecting an attachment.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("0ae73d13e23396694990778766a78b86e25f25965f3d2c60218a10f771363aed")
override fun options(options: ConnectAttachmentOptionsProperty.Builder.() -> Unit): Unit =
options(ConnectAttachmentOptionsProperty(options))
/**
* Describes proposed changes to a network function group.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-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-connectattachment.html#cfn-networkmanager-connectattachment-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-connectattachment.html#cfn-networkmanager-connectattachment-proposednetworkfunctiongroupchange)
* @param proposedNetworkFunctionGroupChange Describes proposed changes to a network function
* group.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("f91b78f557095012d26f2ae0be6d251eaaab96fd89dff53f293d8d2ffd3a8b75")
override
fun proposedNetworkFunctionGroupChange(proposedNetworkFunctionGroupChange: ProposedNetworkFunctionGroupChangeProperty.Builder.() -> Unit):
Unit =
proposedNetworkFunctionGroupChange(ProposedNetworkFunctionGroupChangeProperty(proposedNetworkFunctionGroupChange))
/**
* Describes a proposed segment change.
*
* In some cases, the segment change must first be evaluated and accepted.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-proposedsegmentchange)
* @param proposedSegmentChange Describes a proposed segment change.
*/
override fun proposedSegmentChange(proposedSegmentChange: IResolvable) {
cdkBuilder.proposedSegmentChange(proposedSegmentChange.let(IResolvable.Companion::unwrap))
}
/**
* Describes a proposed segment change.
*
* In some cases, the segment change must first be evaluated and accepted.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-proposedsegmentchange)
* @param proposedSegmentChange Describes a proposed segment change.
*/
override fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty) {
cdkBuilder.proposedSegmentChange(proposedSegmentChange.let(ProposedSegmentChangeProperty.Companion::unwrap))
}
/**
* Describes a proposed segment change.
*
* In some cases, the segment change must first be evaluated and accepted.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-proposedsegmentchange)
* @param proposedSegmentChange Describes a proposed segment change.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("04ba31d1492cbea1f205c15a8b9770eeb64cee458d708f027c01e0a95a51fd27")
override
fun proposedSegmentChange(proposedSegmentChange: ProposedSegmentChangeProperty.Builder.() -> Unit):
Unit = proposedSegmentChange(ProposedSegmentChangeProperty(proposedSegmentChange))
/**
* The tags associated with the Connect attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-tags)
* @param tags The tags associated with the Connect attachment.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* The tags associated with the Connect attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-tags)
* @param tags The tags associated with the Connect attachment.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
/**
* The ID of the transport attachment.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html#cfn-networkmanager-connectattachment-transportattachmentid)
* @param transportAttachmentId The ID of the transport attachment.
*/
override fun transportAttachmentId(transportAttachmentId: String) {
cdkBuilder.transportAttachmentId(transportAttachmentId)
}
public fun build(): software.amazon.awscdk.services.networkmanager.CfnConnectAttachment =
cdkBuilder.build()
}
public companion object {
public val CFN_RESOURCE_TYPE_NAME: String =
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.CFN_RESOURCE_TYPE_NAME
public operator fun invoke(
scope: CloudshiftdevConstructsConstruct,
id: String,
block: Builder.() -> Unit = {},
): CfnConnectAttachment {
val builderImpl = BuilderImpl(CloudshiftdevConstructsConstruct.unwrap(scope), id)
return CfnConnectAttachment(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.networkmanager.CfnConnectAttachment):
CfnConnectAttachment = CfnConnectAttachment(cdkObject)
internal fun unwrap(wrapped: CfnConnectAttachment):
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment = wrapped.cdkObject as
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment
}
/**
* Describes a core network Connect attachment options.
*
* 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.*;
* ConnectAttachmentOptionsProperty connectAttachmentOptionsProperty =
* ConnectAttachmentOptionsProperty.builder()
* .protocol("protocol")
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-connectattachment-connectattachmentoptions.html)
*/
public interface ConnectAttachmentOptionsProperty {
/**
* The protocol used for the attachment connection.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-connectattachment-connectattachmentoptions.html#cfn-networkmanager-connectattachment-connectattachmentoptions-protocol)
*/
public fun protocol(): String? = unwrap(this).getProtocol()
/**
* A builder for [ConnectAttachmentOptionsProperty]
*/
@CdkDslMarker
public interface Builder {
/**
* @param protocol The protocol used for the attachment connection.
*/
public fun protocol(protocol: String)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ConnectAttachmentOptionsProperty.Builder
=
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ConnectAttachmentOptionsProperty.builder()
/**
* @param protocol The protocol used for the attachment connection.
*/
override fun protocol(protocol: String) {
cdkBuilder.protocol(protocol)
}
public fun build():
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ConnectAttachmentOptionsProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ConnectAttachmentOptionsProperty,
) : CdkObject(cdkObject),
ConnectAttachmentOptionsProperty {
/**
* The protocol used for the attachment connection.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-connectattachment-connectattachmentoptions.html#cfn-networkmanager-connectattachment-connectattachmentoptions-protocol)
*/
override fun protocol(): String? = unwrap(this).getProtocol()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): ConnectAttachmentOptionsProperty {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal
fun wrap(cdkObject: software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ConnectAttachmentOptionsProperty):
ConnectAttachmentOptionsProperty = CdkObjectWrappers.wrap(cdkObject) as?
ConnectAttachmentOptionsProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: ConnectAttachmentOptionsProperty):
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ConnectAttachmentOptionsProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ConnectAttachmentOptionsProperty
}
}
/**
* 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-connectattachment-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-connectattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-connectattachment-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.CfnConnectAttachment.ProposedNetworkFunctionGroupChangeProperty.Builder
=
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.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.CfnConnectAttachment.ProposedNetworkFunctionGroupChangeProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.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-connectattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposednetworkfunctiongroupchange.html#cfn-networkmanager-connectattachment-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.CfnConnectAttachment.ProposedNetworkFunctionGroupChangeProperty):
ProposedNetworkFunctionGroupChangeProperty = CdkObjectWrappers.wrap(cdkObject) as?
ProposedNetworkFunctionGroupChangeProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: ProposedNetworkFunctionGroupChangeProperty):
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ProposedNetworkFunctionGroupChangeProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.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-connectattachment-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-connectattachment-proposedsegmentchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposedsegmentchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposedsegmentchange.html#cfn-networkmanager-connectattachment-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.CfnConnectAttachment.ProposedSegmentChangeProperty.Builder
=
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.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.CfnConnectAttachment.ProposedSegmentChangeProperty
= cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.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-connectattachment-proposedsegmentchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposedsegmentchange.html#cfn-networkmanager-connectattachment-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-connectattachment-proposedsegmentchange.html#cfn-networkmanager-connectattachment-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.CfnConnectAttachment.ProposedSegmentChangeProperty):
ProposedSegmentChangeProperty = CdkObjectWrappers.wrap(cdkObject) as?
ProposedSegmentChangeProperty ?: Wrapper(cdkObject)
internal fun unwrap(wrapped: ProposedSegmentChangeProperty):
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ProposedSegmentChangeProperty
= (wrapped as CdkObject).cdkObject as
software.amazon.awscdk.services.networkmanager.CfnConnectAttachment.ProposedSegmentChangeProperty
}
}
}