# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
[docs]class ConnectAttachmentOptions(AWSProperty):
"""
`ConnectAttachmentOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-connectattachment-connectattachmentoptions.html>`__
"""
props: PropsDictType = {
"Protocol": (str, False),
}
[docs]class ProposedSegmentChange(AWSProperty):
"""
`ProposedSegmentChange <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-vpcattachment-proposedsegmentchange.html>`__
"""
props: PropsDictType = {
"AttachmentPolicyRuleNumber": (integer, False),
"SegmentName": (str, False),
"Tags": (Tags, False),
}
[docs]class ConnectAttachment(AWSObject):
"""
`ConnectAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html>`__
"""
resource_type = "AWS::NetworkManager::ConnectAttachment"
props: PropsDictType = {
"CoreNetworkId": (str, True),
"EdgeLocation": (str, True),
"Options": (ConnectAttachmentOptions, True),
"ProposedSegmentChange": (ProposedSegmentChange, False),
"Tags": (Tags, False),
"TransportAttachmentId": (str, True),
}
[docs]class BgpOptions(AWSProperty):
"""
`BgpOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-connectpeer-bgpoptions.html>`__
"""
props: PropsDictType = {
"PeerAsn": (double, False),
}
[docs]class ConnectPeer(AWSObject):
"""
`ConnectPeer <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html>`__
"""
resource_type = "AWS::NetworkManager::ConnectPeer"
props: PropsDictType = {
"BgpOptions": (BgpOptions, False),
"ConnectAttachmentId": (str, True),
"CoreNetworkAddress": (str, False),
"InsideCidrBlocks": ([str], False),
"PeerAddress": (str, True),
"SubnetArn": (str, False),
"Tags": (Tags, False),
}
[docs]class CoreNetwork(AWSObject):
"""
`CoreNetwork <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html>`__
"""
resource_type = "AWS::NetworkManager::CoreNetwork"
props: PropsDictType = {
"Description": (str, False),
"GlobalNetworkId": (str, True),
"PolicyDocument": (dict, False),
"Tags": (Tags, False),
}
[docs]class CustomerGatewayAssociation(AWSObject):
"""
`CustomerGatewayAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html>`__
"""
resource_type = "AWS::NetworkManager::CustomerGatewayAssociation"
props: PropsDictType = {
"CustomerGatewayArn": (str, True),
"DeviceId": (str, True),
"GlobalNetworkId": (str, True),
"LinkId": (str, False),
}
[docs]class AWSLocation(AWSProperty):
"""
`AWSLocation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-device-awslocation.html>`__
"""
props: PropsDictType = {
"SubnetArn": (str, False),
"Zone": (str, False),
}
[docs]class Location(AWSProperty):
"""
`Location <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-site-location.html>`__
"""
props: PropsDictType = {
"Address": (str, False),
"Latitude": (str, False),
"Longitude": (str, False),
}
[docs]class Device(AWSObject):
"""
`Device <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html>`__
"""
resource_type = "AWS::NetworkManager::Device"
props: PropsDictType = {
"AWSLocation": (AWSLocation, False),
"Description": (str, False),
"GlobalNetworkId": (str, True),
"Location": (Location, False),
"Model": (str, False),
"SerialNumber": (str, False),
"SiteId": (str, False),
"Tags": (Tags, False),
"Type": (str, False),
"Vendor": (str, False),
}
[docs]class GlobalNetwork(AWSObject):
"""
`GlobalNetwork <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html>`__
"""
resource_type = "AWS::NetworkManager::GlobalNetwork"
props: PropsDictType = {
"CreatedAt": (str, False),
"Description": (str, False),
"State": (str, False),
"Tags": (Tags, False),
}
[docs]class Bandwidth(AWSProperty):
"""
`Bandwidth <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-link-bandwidth.html>`__
"""
props: PropsDictType = {
"DownloadSpeed": (integer, False),
"UploadSpeed": (integer, False),
}
[docs]class Link(AWSObject):
"""
`Link <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html>`__
"""
resource_type = "AWS::NetworkManager::Link"
props: PropsDictType = {
"Bandwidth": (Bandwidth, True),
"Description": (str, False),
"GlobalNetworkId": (str, True),
"Provider": (str, False),
"SiteId": (str, True),
"Tags": (Tags, False),
"Type": (str, False),
}
[docs]class LinkAssociation(AWSObject):
"""
`LinkAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html>`__
"""
resource_type = "AWS::NetworkManager::LinkAssociation"
props: PropsDictType = {
"DeviceId": (str, True),
"GlobalNetworkId": (str, True),
"LinkId": (str, True),
}
[docs]class Site(AWSObject):
"""
`Site <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html>`__
"""
resource_type = "AWS::NetworkManager::Site"
props: PropsDictType = {
"Description": (str, False),
"GlobalNetworkId": (str, True),
"Location": (Location, False),
"Tags": (Tags, False),
}
[docs]class SiteToSiteVpnAttachment(AWSObject):
"""
`SiteToSiteVpnAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html>`__
"""
resource_type = "AWS::NetworkManager::SiteToSiteVpnAttachment"
props: PropsDictType = {
"CoreNetworkId": (str, True),
"ProposedSegmentChange": (ProposedSegmentChange, False),
"Tags": (Tags, False),
"VpnConnectionArn": (str, True),
}
[docs]class TransitGatewayPeering(AWSObject):
"""
`TransitGatewayPeering <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html>`__
"""
resource_type = "AWS::NetworkManager::TransitGatewayPeering"
props: PropsDictType = {
"CoreNetworkId": (str, True),
"Tags": (Tags, False),
"TransitGatewayArn": (str, True),
}
[docs]class TransitGatewayRegistration(AWSObject):
"""
`TransitGatewayRegistration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html>`__
"""
resource_type = "AWS::NetworkManager::TransitGatewayRegistration"
props: PropsDictType = {
"GlobalNetworkId": (str, True),
"TransitGatewayArn": (str, True),
}
[docs]class TransitGatewayRouteTableAttachment(AWSObject):
"""
`TransitGatewayRouteTableAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html>`__
"""
resource_type = "AWS::NetworkManager::TransitGatewayRouteTableAttachment"
props: PropsDictType = {
"PeeringId": (str, True),
"ProposedSegmentChange": (ProposedSegmentChange, False),
"Tags": (Tags, False),
"TransitGatewayRouteTableArn": (str, True),
}
[docs]class VpcOptions(AWSProperty):
"""
`VpcOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-vpcattachment-vpcoptions.html>`__
"""
props: PropsDictType = {
"ApplianceModeSupport": (boolean, False),
"Ipv6Support": (boolean, False),
}
[docs]class VpcAttachment(AWSObject):
"""
`VpcAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html>`__
"""
resource_type = "AWS::NetworkManager::VpcAttachment"
props: PropsDictType = {
"CoreNetworkId": (str, True),
"Options": (VpcOptions, False),
"ProposedSegmentChange": (ProposedSegmentChange, False),
"SubnetArns": ([str], True),
"Tags": (Tags, False),
"VpcArn": (str, True),
}
[docs]class ConnectPeerBgpConfiguration(AWSProperty):
"""
`ConnectPeerBgpConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-connectpeer-connectpeerbgpconfiguration.html>`__
"""
props: PropsDictType = {
"CoreNetworkAddress": (str, False),
"CoreNetworkAsn": (double, False),
"PeerAddress": (str, False),
"PeerAsn": (double, False),
}
[docs]class ConnectPeerConfiguration(AWSProperty):
"""
`ConnectPeerConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-connectpeer-connectpeerconfiguration.html>`__
"""
props: PropsDictType = {
"BgpConfigurations": ([ConnectPeerBgpConfiguration], False),
"CoreNetworkAddress": (str, False),
"InsideCidrBlocks": ([str], False),
"PeerAddress": (str, False),
"Protocol": (str, False),
}
[docs]class CoreNetworkEdge(AWSProperty):
"""
`CoreNetworkEdge <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-corenetwork-corenetworkedge.html>`__
"""
props: PropsDictType = {
"Asn": (double, False),
"EdgeLocation": (str, False),
"InsideCidrBlocks": ([str], False),
}
[docs]class CoreNetworkSegment(AWSProperty):
"""
`CoreNetworkSegment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkmanager-corenetwork-corenetworksegment.html>`__
"""
props: PropsDictType = {
"EdgeLocations": ([str], False),
"Name": (str, False),
"SharedSegments": ([str], False),
}