Documentation ¶
Index ¶
- func AmazonLinux2022ImageSsmParameter_SsmParameterName(props *AmazonLinux2022ImageSsmParameterProps) *string
- func AmazonLinux2023ImageSsmParameter_SsmParameterName(props *AmazonLinux2023ImageSsmParameterProps) *string
- func AmazonLinux2ImageSsmParameter_SsmParameterName(props *AmazonLinux2ImageSsmParameterProps) *string
- func AmazonLinuxImage_SsmParameterName(props *AmazonLinuxImageProps) *string
- func BastionHostLinux_IsConstruct(x interface{}) *bool
- func BastionHostLinux_IsOwnedResource(construct constructs.IConstruct) *bool
- func BastionHostLinux_IsResource(construct constructs.IConstruct) *bool
- func CfnCapacityReservationFleet_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCapacityReservationFleet_IsCfnElement(x interface{}) *bool
- func CfnCapacityReservationFleet_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCapacityReservationFleet_IsConstruct(x interface{}) *bool
- func CfnCapacityReservation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCapacityReservation_IsCfnElement(x interface{}) *bool
- func CfnCapacityReservation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCapacityReservation_IsConstruct(x interface{}) *bool
- func CfnCarrierGateway_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCarrierGateway_IsCfnElement(x interface{}) *bool
- func CfnCarrierGateway_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCarrierGateway_IsConstruct(x interface{}) *bool
- func CfnClientVpnAuthorizationRule_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClientVpnAuthorizationRule_IsCfnElement(x interface{}) *bool
- func CfnClientVpnAuthorizationRule_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClientVpnAuthorizationRule_IsConstruct(x interface{}) *bool
- func CfnClientVpnEndpoint_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClientVpnEndpoint_IsCfnElement(x interface{}) *bool
- func CfnClientVpnEndpoint_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClientVpnEndpoint_IsConstruct(x interface{}) *bool
- func CfnClientVpnRoute_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClientVpnRoute_IsCfnElement(x interface{}) *bool
- func CfnClientVpnRoute_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClientVpnRoute_IsConstruct(x interface{}) *bool
- func CfnClientVpnTargetNetworkAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClientVpnTargetNetworkAssociation_IsCfnElement(x interface{}) *bool
- func CfnClientVpnTargetNetworkAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClientVpnTargetNetworkAssociation_IsConstruct(x interface{}) *bool
- func CfnCustomerGateway_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCustomerGateway_IsCfnElement(x interface{}) *bool
- func CfnCustomerGateway_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCustomerGateway_IsConstruct(x interface{}) *bool
- func CfnDHCPOptions_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDHCPOptions_IsCfnElement(x interface{}) *bool
- func CfnDHCPOptions_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDHCPOptions_IsConstruct(x interface{}) *bool
- func CfnEC2Fleet_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEC2Fleet_IsCfnElement(x interface{}) *bool
- func CfnEC2Fleet_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEC2Fleet_IsConstruct(x interface{}) *bool
- func CfnEIPAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEIPAssociation_IsCfnElement(x interface{}) *bool
- func CfnEIPAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEIPAssociation_IsConstruct(x interface{}) *bool
- func CfnEIP_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEIP_IsCfnElement(x interface{}) *bool
- func CfnEIP_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEIP_IsConstruct(x interface{}) *bool
- func CfnEgressOnlyInternetGateway_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEgressOnlyInternetGateway_IsCfnElement(x interface{}) *bool
- func CfnEgressOnlyInternetGateway_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEgressOnlyInternetGateway_IsConstruct(x interface{}) *bool
- func CfnEnclaveCertificateIamRoleAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEnclaveCertificateIamRoleAssociation_IsCfnElement(x interface{}) *bool
- func CfnEnclaveCertificateIamRoleAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnEnclaveCertificateIamRoleAssociation_IsConstruct(x interface{}) *bool
- func CfnFlowLog_CFN_RESOURCE_TYPE_NAME() *string
- func CfnFlowLog_IsCfnElement(x interface{}) *bool
- func CfnFlowLog_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnFlowLog_IsConstruct(x interface{}) *bool
- func CfnGatewayRouteTableAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnGatewayRouteTableAssociation_IsCfnElement(x interface{}) *bool
- func CfnGatewayRouteTableAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnGatewayRouteTableAssociation_IsConstruct(x interface{}) *bool
- func CfnHost_CFN_RESOURCE_TYPE_NAME() *string
- func CfnHost_IsCfnElement(x interface{}) *bool
- func CfnHost_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnHost_IsConstruct(x interface{}) *bool
- func CfnIPAMAllocation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIPAMAllocation_IsCfnElement(x interface{}) *bool
- func CfnIPAMAllocation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnIPAMAllocation_IsConstruct(x interface{}) *bool
- func CfnIPAMPoolCidr_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIPAMPoolCidr_IsCfnElement(x interface{}) *bool
- func CfnIPAMPoolCidr_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnIPAMPoolCidr_IsConstruct(x interface{}) *bool
- func CfnIPAMPool_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIPAMPool_IsCfnElement(x interface{}) *bool
- func CfnIPAMPool_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnIPAMPool_IsConstruct(x interface{}) *bool
- func CfnIPAMResourceDiscoveryAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIPAMResourceDiscoveryAssociation_IsCfnElement(x interface{}) *bool
- func CfnIPAMResourceDiscoveryAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnIPAMResourceDiscoveryAssociation_IsConstruct(x interface{}) *bool
- func CfnIPAMResourceDiscovery_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIPAMResourceDiscovery_IsCfnElement(x interface{}) *bool
- func CfnIPAMResourceDiscovery_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnIPAMResourceDiscovery_IsConstruct(x interface{}) *bool
- func CfnIPAMScope_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIPAMScope_IsCfnElement(x interface{}) *bool
- func CfnIPAMScope_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnIPAMScope_IsConstruct(x interface{}) *bool
- func CfnIPAM_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIPAM_IsCfnElement(x interface{}) *bool
- func CfnIPAM_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnIPAM_IsConstruct(x interface{}) *bool
- func CfnInstance_CFN_RESOURCE_TYPE_NAME() *string
- func CfnInstance_IsCfnElement(x interface{}) *bool
- func CfnInstance_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnInstance_IsConstruct(x interface{}) *bool
- func CfnInternetGateway_CFN_RESOURCE_TYPE_NAME() *string
- func CfnInternetGateway_IsCfnElement(x interface{}) *bool
- func CfnInternetGateway_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnInternetGateway_IsConstruct(x interface{}) *bool
- func CfnKeyPair_CFN_RESOURCE_TYPE_NAME() *string
- func CfnKeyPair_IsCfnElement(x interface{}) *bool
- func CfnKeyPair_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnKeyPair_IsConstruct(x interface{}) *bool
- func CfnLaunchTemplate_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLaunchTemplate_IsCfnElement(x interface{}) *bool
- func CfnLaunchTemplate_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLaunchTemplate_IsConstruct(x interface{}) *bool
- func CfnLocalGatewayRouteTableVPCAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLocalGatewayRouteTableVPCAssociation_IsCfnElement(x interface{}) *bool
- func CfnLocalGatewayRouteTableVPCAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLocalGatewayRouteTableVPCAssociation_IsConstruct(x interface{}) *bool
- func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsCfnElement(x interface{}) *bool
- func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsConstruct(x interface{}) *bool
- func CfnLocalGatewayRouteTable_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLocalGatewayRouteTable_IsCfnElement(x interface{}) *bool
- func CfnLocalGatewayRouteTable_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLocalGatewayRouteTable_IsConstruct(x interface{}) *bool
- func CfnLocalGatewayRoute_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLocalGatewayRoute_IsCfnElement(x interface{}) *bool
- func CfnLocalGatewayRoute_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLocalGatewayRoute_IsConstruct(x interface{}) *bool
- func CfnNatGateway_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNatGateway_IsCfnElement(x interface{}) *bool
- func CfnNatGateway_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNatGateway_IsConstruct(x interface{}) *bool
- func CfnNetworkAclEntry_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkAclEntry_IsCfnElement(x interface{}) *bool
- func CfnNetworkAclEntry_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkAclEntry_IsConstruct(x interface{}) *bool
- func CfnNetworkAcl_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkAcl_IsCfnElement(x interface{}) *bool
- func CfnNetworkAcl_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkAcl_IsConstruct(x interface{}) *bool
- func CfnNetworkInsightsAccessScopeAnalysis_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkInsightsAccessScopeAnalysis_IsCfnElement(x interface{}) *bool
- func CfnNetworkInsightsAccessScopeAnalysis_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkInsightsAccessScopeAnalysis_IsConstruct(x interface{}) *bool
- func CfnNetworkInsightsAccessScope_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkInsightsAccessScope_IsCfnElement(x interface{}) *bool
- func CfnNetworkInsightsAccessScope_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkInsightsAccessScope_IsConstruct(x interface{}) *bool
- func CfnNetworkInsightsAnalysis_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkInsightsAnalysis_IsCfnElement(x interface{}) *bool
- func CfnNetworkInsightsAnalysis_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkInsightsAnalysis_IsConstruct(x interface{}) *bool
- func CfnNetworkInsightsPath_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkInsightsPath_IsCfnElement(x interface{}) *bool
- func CfnNetworkInsightsPath_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkInsightsPath_IsConstruct(x interface{}) *bool
- func CfnNetworkInterfaceAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkInterfaceAttachment_IsCfnElement(x interface{}) *bool
- func CfnNetworkInterfaceAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkInterfaceAttachment_IsConstruct(x interface{}) *bool
- func CfnNetworkInterfacePermission_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkInterfacePermission_IsCfnElement(x interface{}) *bool
- func CfnNetworkInterfacePermission_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkInterfacePermission_IsConstruct(x interface{}) *bool
- func CfnNetworkInterface_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkInterface_IsCfnElement(x interface{}) *bool
- func CfnNetworkInterface_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkInterface_IsConstruct(x interface{}) *bool
- func CfnNetworkPerformanceMetricSubscription_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNetworkPerformanceMetricSubscription_IsCfnElement(x interface{}) *bool
- func CfnNetworkPerformanceMetricSubscription_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNetworkPerformanceMetricSubscription_IsConstruct(x interface{}) *bool
- func CfnPlacementGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPlacementGroup_IsCfnElement(x interface{}) *bool
- func CfnPlacementGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnPlacementGroup_IsConstruct(x interface{}) *bool
- func CfnPrefixList_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPrefixList_IsCfnElement(x interface{}) *bool
- func CfnPrefixList_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnPrefixList_IsConstruct(x interface{}) *bool
- func CfnRouteTable_CFN_RESOURCE_TYPE_NAME() *string
- func CfnRouteTable_IsCfnElement(x interface{}) *bool
- func CfnRouteTable_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnRouteTable_IsConstruct(x interface{}) *bool
- func CfnRoute_CFN_RESOURCE_TYPE_NAME() *string
- func CfnRoute_IsCfnElement(x interface{}) *bool
- func CfnRoute_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnRoute_IsConstruct(x interface{}) *bool
- func CfnSecurityGroupEgress_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSecurityGroupEgress_IsCfnElement(x interface{}) *bool
- func CfnSecurityGroupEgress_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSecurityGroupEgress_IsConstruct(x interface{}) *bool
- func CfnSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSecurityGroupIngress_IsCfnElement(x interface{}) *bool
- func CfnSecurityGroupIngress_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSecurityGroupIngress_IsConstruct(x interface{}) *bool
- func CfnSecurityGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSecurityGroup_IsCfnElement(x interface{}) *bool
- func CfnSecurityGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSecurityGroup_IsConstruct(x interface{}) *bool
- func CfnSpotFleet_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSpotFleet_IsCfnElement(x interface{}) *bool
- func CfnSpotFleet_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSpotFleet_IsConstruct(x interface{}) *bool
- func CfnSubnetCidrBlock_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSubnetCidrBlock_IsCfnElement(x interface{}) *bool
- func CfnSubnetCidrBlock_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSubnetCidrBlock_IsConstruct(x interface{}) *bool
- func CfnSubnetNetworkAclAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSubnetNetworkAclAssociation_IsCfnElement(x interface{}) *bool
- func CfnSubnetNetworkAclAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSubnetNetworkAclAssociation_IsConstruct(x interface{}) *bool
- func CfnSubnetRouteTableAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSubnetRouteTableAssociation_IsCfnElement(x interface{}) *bool
- func CfnSubnetRouteTableAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSubnetRouteTableAssociation_IsConstruct(x interface{}) *bool
- func CfnSubnet_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSubnet_IsCfnElement(x interface{}) *bool
- func CfnSubnet_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSubnet_IsConstruct(x interface{}) *bool
- func CfnTrafficMirrorFilterRule_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTrafficMirrorFilterRule_IsCfnElement(x interface{}) *bool
- func CfnTrafficMirrorFilterRule_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTrafficMirrorFilterRule_IsConstruct(x interface{}) *bool
- func CfnTrafficMirrorFilter_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTrafficMirrorFilter_IsCfnElement(x interface{}) *bool
- func CfnTrafficMirrorFilter_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTrafficMirrorFilter_IsConstruct(x interface{}) *bool
- func CfnTrafficMirrorSession_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTrafficMirrorSession_IsCfnElement(x interface{}) *bool
- func CfnTrafficMirrorSession_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTrafficMirrorSession_IsConstruct(x interface{}) *bool
- func CfnTrafficMirrorTarget_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTrafficMirrorTarget_IsCfnElement(x interface{}) *bool
- func CfnTrafficMirrorTarget_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTrafficMirrorTarget_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayAttachment_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayAttachment_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayConnect_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayConnect_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayConnect_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayConnect_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayMulticastDomainAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayMulticastDomainAssociation_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayMulticastDomainAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayMulticastDomainAssociation_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayMulticastDomain_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayMulticastDomain_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayMulticastDomain_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayMulticastDomain_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayMulticastGroupMember_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayMulticastGroupMember_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayMulticastGroupMember_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayMulticastGroupMember_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayMulticastGroupSource_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayMulticastGroupSource_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayMulticastGroupSource_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayMulticastGroupSource_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayPeeringAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayPeeringAttachment_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayPeeringAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayPeeringAttachment_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayRouteTableAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayRouteTableAssociation_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayRouteTableAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayRouteTableAssociation_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayRouteTablePropagation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayRouteTablePropagation_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayRouteTablePropagation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayRouteTablePropagation_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayRouteTable_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayRouteTable_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayRouteTable_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayRouteTable_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayRoute_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayRoute_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayRoute_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayRoute_IsConstruct(x interface{}) *bool
- func CfnTransitGatewayVpcAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGatewayVpcAttachment_IsCfnElement(x interface{}) *bool
- func CfnTransitGatewayVpcAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGatewayVpcAttachment_IsConstruct(x interface{}) *bool
- func CfnTransitGateway_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTransitGateway_IsCfnElement(x interface{}) *bool
- func CfnTransitGateway_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTransitGateway_IsConstruct(x interface{}) *bool
- func CfnVPCCidrBlock_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCCidrBlock_IsCfnElement(x interface{}) *bool
- func CfnVPCCidrBlock_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCCidrBlock_IsConstruct(x interface{}) *bool
- func CfnVPCDHCPOptionsAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCDHCPOptionsAssociation_IsCfnElement(x interface{}) *bool
- func CfnVPCDHCPOptionsAssociation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCDHCPOptionsAssociation_IsConstruct(x interface{}) *bool
- func CfnVPCEndpointConnectionNotification_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCEndpointConnectionNotification_IsCfnElement(x interface{}) *bool
- func CfnVPCEndpointConnectionNotification_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCEndpointConnectionNotification_IsConstruct(x interface{}) *bool
- func CfnVPCEndpointServicePermissions_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCEndpointServicePermissions_IsCfnElement(x interface{}) *bool
- func CfnVPCEndpointServicePermissions_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCEndpointServicePermissions_IsConstruct(x interface{}) *bool
- func CfnVPCEndpointService_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCEndpointService_IsCfnElement(x interface{}) *bool
- func CfnVPCEndpointService_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCEndpointService_IsConstruct(x interface{}) *bool
- func CfnVPCEndpoint_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCEndpoint_IsCfnElement(x interface{}) *bool
- func CfnVPCEndpoint_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCEndpoint_IsConstruct(x interface{}) *bool
- func CfnVPCGatewayAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCGatewayAttachment_IsCfnElement(x interface{}) *bool
- func CfnVPCGatewayAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCGatewayAttachment_IsConstruct(x interface{}) *bool
- func CfnVPCPeeringConnection_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPCPeeringConnection_IsCfnElement(x interface{}) *bool
- func CfnVPCPeeringConnection_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPCPeeringConnection_IsConstruct(x interface{}) *bool
- func CfnVPC_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPC_IsCfnElement(x interface{}) *bool
- func CfnVPC_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPC_IsConstruct(x interface{}) *bool
- func CfnVPNConnectionRoute_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPNConnectionRoute_IsCfnElement(x interface{}) *bool
- func CfnVPNConnectionRoute_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPNConnectionRoute_IsConstruct(x interface{}) *bool
- func CfnVPNConnection_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPNConnection_IsCfnElement(x interface{}) *bool
- func CfnVPNConnection_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPNConnection_IsConstruct(x interface{}) *bool
- func CfnVPNGatewayRoutePropagation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPNGatewayRoutePropagation_IsCfnElement(x interface{}) *bool
- func CfnVPNGatewayRoutePropagation_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPNGatewayRoutePropagation_IsConstruct(x interface{}) *bool
- func CfnVPNGateway_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVPNGateway_IsCfnElement(x interface{}) *bool
- func CfnVPNGateway_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVPNGateway_IsConstruct(x interface{}) *bool
- func CfnVerifiedAccessEndpoint_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVerifiedAccessEndpoint_IsCfnElement(x interface{}) *bool
- func CfnVerifiedAccessEndpoint_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVerifiedAccessEndpoint_IsConstruct(x interface{}) *bool
- func CfnVerifiedAccessGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVerifiedAccessGroup_IsCfnElement(x interface{}) *bool
- func CfnVerifiedAccessGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVerifiedAccessGroup_IsConstruct(x interface{}) *bool
- func CfnVerifiedAccessInstance_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVerifiedAccessInstance_IsCfnElement(x interface{}) *bool
- func CfnVerifiedAccessInstance_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVerifiedAccessInstance_IsConstruct(x interface{}) *bool
- func CfnVerifiedAccessTrustProvider_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVerifiedAccessTrustProvider_IsCfnElement(x interface{}) *bool
- func CfnVerifiedAccessTrustProvider_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVerifiedAccessTrustProvider_IsConstruct(x interface{}) *bool
- func CfnVolumeAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVolumeAttachment_IsCfnElement(x interface{}) *bool
- func CfnVolumeAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVolumeAttachment_IsConstruct(x interface{}) *bool
- func CfnVolume_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVolume_IsCfnElement(x interface{}) *bool
- func CfnVolume_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVolume_IsConstruct(x interface{}) *bool
- func ClientVpnAuthorizationRule_IsConstruct(x interface{}) *bool
- func ClientVpnAuthorizationRule_IsOwnedResource(construct constructs.IConstruct) *bool
- func ClientVpnAuthorizationRule_IsResource(construct constructs.IConstruct) *bool
- func ClientVpnEndpoint_IsConstruct(x interface{}) *bool
- func ClientVpnEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
- func ClientVpnEndpoint_IsResource(construct constructs.IConstruct) *bool
- func ClientVpnRoute_IsConstruct(x interface{}) *bool
- func ClientVpnRoute_IsOwnedResource(construct constructs.IConstruct) *bool
- func ClientVpnRoute_IsResource(construct constructs.IConstruct) *bool
- func FlowLog_IsConstruct(x interface{}) *bool
- func FlowLog_IsOwnedResource(construct constructs.IConstruct) *bool
- func FlowLog_IsResource(construct constructs.IConstruct) *bool
- func GatewayVpcEndpoint_IsConstruct(x interface{}) *bool
- func GatewayVpcEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
- func GatewayVpcEndpoint_IsResource(construct constructs.IConstruct) *bool
- func Instance_IsConstruct(x interface{}) *bool
- func Instance_IsOwnedResource(construct constructs.IConstruct) *bool
- func Instance_IsResource(construct constructs.IConstruct) *bool
- func InterfaceVpcEndpoint_IsConstruct(x interface{}) *bool
- func InterfaceVpcEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
- func InterfaceVpcEndpoint_IsResource(construct constructs.IConstruct) *bool
- func LaunchTemplateSpecialVersions_DEFAULT_VERSION() *string
- func LaunchTemplateSpecialVersions_LATEST_VERSION() *string
- func LaunchTemplate_IsConstruct(x interface{}) *bool
- func LaunchTemplate_IsOwnedResource(construct constructs.IConstruct) *bool
- func LaunchTemplate_IsResource(construct constructs.IConstruct) *bool
- func MultipartBody_CLOUD_BOOTHOOK() *string
- func MultipartBody_SHELL_SCRIPT() *string
- func NetworkAclEntry_IsConstruct(x interface{}) *bool
- func NetworkAclEntry_IsOwnedResource(construct constructs.IConstruct) *bool
- func NetworkAclEntry_IsResource(construct constructs.IConstruct) *bool
- func NetworkAcl_IsConstruct(x interface{}) *bool
- func NetworkAcl_IsOwnedResource(construct constructs.IConstruct) *bool
- func NetworkAcl_IsResource(construct constructs.IConstruct) *bool
- func NewAclCidr_Override(a AclCidr)
- func NewAclTraffic_Override(a AclTraffic)
- func NewAmazonLinux2022ImageSsmParameter_Override(a AmazonLinux2022ImageSsmParameter, ...)
- func NewAmazonLinux2022Kernel_Override(a AmazonLinux2022Kernel, version *string)
- func NewAmazonLinux2023ImageSsmParameter_Override(a AmazonLinux2023ImageSsmParameter, ...)
- func NewAmazonLinux2023Kernel_Override(a AmazonLinux2023Kernel, version *string)
- func NewAmazonLinux2ImageSsmParameter_Override(a AmazonLinux2ImageSsmParameter, props *AmazonLinux2ImageSsmParameterProps)
- func NewAmazonLinux2Kernel_Override(a AmazonLinux2Kernel, version *string)
- func NewAmazonLinuxImageSsmParameterBase_Override(a AmazonLinuxImageSsmParameterBase, ...)
- func NewAmazonLinuxImage_Override(a AmazonLinuxImage, props *AmazonLinuxImageProps)
- func NewBastionHostLinux_Override(b BastionHostLinux, scope constructs.Construct, id *string, ...)
- func NewBlockDeviceVolume_Override(b BlockDeviceVolume, ebsDevice *EbsDeviceProps, virtualName *string)
- func NewCfnCapacityReservationFleet_Override(c CfnCapacityReservationFleet, scope constructs.Construct, id *string, ...)
- func NewCfnCapacityReservation_Override(c CfnCapacityReservation, scope constructs.Construct, id *string, ...)
- func NewCfnCarrierGateway_Override(c CfnCarrierGateway, scope constructs.Construct, id *string, ...)
- func NewCfnClientVpnAuthorizationRule_Override(c CfnClientVpnAuthorizationRule, scope constructs.Construct, id *string, ...)
- func NewCfnClientVpnEndpoint_Override(c CfnClientVpnEndpoint, scope constructs.Construct, id *string, ...)
- func NewCfnClientVpnRoute_Override(c CfnClientVpnRoute, scope constructs.Construct, id *string, ...)
- func NewCfnClientVpnTargetNetworkAssociation_Override(c CfnClientVpnTargetNetworkAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnCustomerGateway_Override(c CfnCustomerGateway, scope constructs.Construct, id *string, ...)
- func NewCfnDHCPOptions_Override(c CfnDHCPOptions, scope constructs.Construct, id *string, ...)
- func NewCfnEC2Fleet_Override(c CfnEC2Fleet, scope constructs.Construct, id *string, props *CfnEC2FleetProps)
- func NewCfnEIPAssociation_Override(c CfnEIPAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnEIP_Override(c CfnEIP, scope constructs.Construct, id *string, props *CfnEIPProps)
- func NewCfnEgressOnlyInternetGateway_Override(c CfnEgressOnlyInternetGateway, scope constructs.Construct, id *string, ...)
- func NewCfnEnclaveCertificateIamRoleAssociation_Override(c CfnEnclaveCertificateIamRoleAssociation, scope constructs.Construct, ...)
- func NewCfnFlowLog_Override(c CfnFlowLog, scope constructs.Construct, id *string, props *CfnFlowLogProps)
- func NewCfnGatewayRouteTableAssociation_Override(c CfnGatewayRouteTableAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnHost_Override(c CfnHost, scope constructs.Construct, id *string, props *CfnHostProps)
- func NewCfnIPAMAllocation_Override(c CfnIPAMAllocation, scope constructs.Construct, id *string, ...)
- func NewCfnIPAMPoolCidr_Override(c CfnIPAMPoolCidr, scope constructs.Construct, id *string, ...)
- func NewCfnIPAMPool_Override(c CfnIPAMPool, scope constructs.Construct, id *string, props *CfnIPAMPoolProps)
- func NewCfnIPAMResourceDiscoveryAssociation_Override(c CfnIPAMResourceDiscoveryAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnIPAMResourceDiscovery_Override(c CfnIPAMResourceDiscovery, scope constructs.Construct, id *string, ...)
- func NewCfnIPAMScope_Override(c CfnIPAMScope, scope constructs.Construct, id *string, ...)
- func NewCfnIPAM_Override(c CfnIPAM, scope constructs.Construct, id *string, props *CfnIPAMProps)
- func NewCfnInstance_Override(c CfnInstance, scope constructs.Construct, id *string, props *CfnInstanceProps)
- func NewCfnInternetGateway_Override(c CfnInternetGateway, scope constructs.Construct, id *string, ...)
- func NewCfnKeyPair_Override(c CfnKeyPair, scope constructs.Construct, id *string, props *CfnKeyPairProps)
- func NewCfnLaunchTemplate_Override(c CfnLaunchTemplate, scope constructs.Construct, id *string, ...)
- func NewCfnLocalGatewayRouteTableVPCAssociation_Override(c CfnLocalGatewayRouteTableVPCAssociation, scope constructs.Construct, ...)
- func NewCfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_Override(c CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation, ...)
- func NewCfnLocalGatewayRouteTable_Override(c CfnLocalGatewayRouteTable, scope constructs.Construct, id *string, ...)
- func NewCfnLocalGatewayRoute_Override(c CfnLocalGatewayRoute, scope constructs.Construct, id *string, ...)
- func NewCfnNatGateway_Override(c CfnNatGateway, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkAclEntry_Override(c CfnNetworkAclEntry, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkAcl_Override(c CfnNetworkAcl, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkInsightsAccessScopeAnalysis_Override(c CfnNetworkInsightsAccessScopeAnalysis, scope constructs.Construct, ...)
- func NewCfnNetworkInsightsAccessScope_Override(c CfnNetworkInsightsAccessScope, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkInsightsAnalysis_Override(c CfnNetworkInsightsAnalysis, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkInsightsPath_Override(c CfnNetworkInsightsPath, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkInterfaceAttachment_Override(c CfnNetworkInterfaceAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkInterfacePermission_Override(c CfnNetworkInterfacePermission, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkInterface_Override(c CfnNetworkInterface, scope constructs.Construct, id *string, ...)
- func NewCfnNetworkPerformanceMetricSubscription_Override(c CfnNetworkPerformanceMetricSubscription, scope constructs.Construct, ...)
- func NewCfnPlacementGroup_Override(c CfnPlacementGroup, scope constructs.Construct, id *string, ...)
- func NewCfnPrefixList_Override(c CfnPrefixList, scope constructs.Construct, id *string, ...)
- func NewCfnRouteTable_Override(c CfnRouteTable, scope constructs.Construct, id *string, ...)
- func NewCfnRoute_Override(c CfnRoute, scope constructs.Construct, id *string, props *CfnRouteProps)
- func NewCfnSecurityGroupEgress_Override(c CfnSecurityGroupEgress, scope constructs.Construct, id *string, ...)
- func NewCfnSecurityGroupIngress_Override(c CfnSecurityGroupIngress, scope constructs.Construct, id *string, ...)
- func NewCfnSecurityGroup_Override(c CfnSecurityGroup, scope constructs.Construct, id *string, ...)
- func NewCfnSpotFleet_Override(c CfnSpotFleet, scope constructs.Construct, id *string, ...)
- func NewCfnSubnetCidrBlock_Override(c CfnSubnetCidrBlock, scope constructs.Construct, id *string, ...)
- func NewCfnSubnetNetworkAclAssociation_Override(c CfnSubnetNetworkAclAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnSubnetRouteTableAssociation_Override(c CfnSubnetRouteTableAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnSubnet_Override(c CfnSubnet, scope constructs.Construct, id *string, props *CfnSubnetProps)
- func NewCfnTrafficMirrorFilterRule_Override(c CfnTrafficMirrorFilterRule, scope constructs.Construct, id *string, ...)
- func NewCfnTrafficMirrorFilter_Override(c CfnTrafficMirrorFilter, scope constructs.Construct, id *string, ...)
- func NewCfnTrafficMirrorSession_Override(c CfnTrafficMirrorSession, scope constructs.Construct, id *string, ...)
- func NewCfnTrafficMirrorTarget_Override(c CfnTrafficMirrorTarget, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGatewayAttachment_Override(c CfnTransitGatewayAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGatewayConnect_Override(c CfnTransitGatewayConnect, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGatewayMulticastDomainAssociation_Override(c CfnTransitGatewayMulticastDomainAssociation, scope constructs.Construct, ...)
- func NewCfnTransitGatewayMulticastDomain_Override(c CfnTransitGatewayMulticastDomain, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGatewayMulticastGroupMember_Override(c CfnTransitGatewayMulticastGroupMember, scope constructs.Construct, ...)
- func NewCfnTransitGatewayMulticastGroupSource_Override(c CfnTransitGatewayMulticastGroupSource, scope constructs.Construct, ...)
- func NewCfnTransitGatewayPeeringAttachment_Override(c CfnTransitGatewayPeeringAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGatewayRouteTableAssociation_Override(c CfnTransitGatewayRouteTableAssociation, scope constructs.Construct, ...)
- func NewCfnTransitGatewayRouteTablePropagation_Override(c CfnTransitGatewayRouteTablePropagation, scope constructs.Construct, ...)
- func NewCfnTransitGatewayRouteTable_Override(c CfnTransitGatewayRouteTable, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGatewayRoute_Override(c CfnTransitGatewayRoute, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGatewayVpcAttachment_Override(c CfnTransitGatewayVpcAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnTransitGateway_Override(c CfnTransitGateway, scope constructs.Construct, id *string, ...)
- func NewCfnVPCCidrBlock_Override(c CfnVPCCidrBlock, scope constructs.Construct, id *string, ...)
- func NewCfnVPCDHCPOptionsAssociation_Override(c CfnVPCDHCPOptionsAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnVPCEndpointConnectionNotification_Override(c CfnVPCEndpointConnectionNotification, scope constructs.Construct, id *string, ...)
- func NewCfnVPCEndpointServicePermissions_Override(c CfnVPCEndpointServicePermissions, scope constructs.Construct, id *string, ...)
- func NewCfnVPCEndpointService_Override(c CfnVPCEndpointService, scope constructs.Construct, id *string, ...)
- func NewCfnVPCEndpoint_Override(c CfnVPCEndpoint, scope constructs.Construct, id *string, ...)
- func NewCfnVPCGatewayAttachment_Override(c CfnVPCGatewayAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnVPCPeeringConnection_Override(c CfnVPCPeeringConnection, scope constructs.Construct, id *string, ...)
- func NewCfnVPC_Override(c CfnVPC, scope constructs.Construct, id *string, props *CfnVPCProps)
- func NewCfnVPNConnectionRoute_Override(c CfnVPNConnectionRoute, scope constructs.Construct, id *string, ...)
- func NewCfnVPNConnection_Override(c CfnVPNConnection, scope constructs.Construct, id *string, ...)
- func NewCfnVPNGatewayRoutePropagation_Override(c CfnVPNGatewayRoutePropagation, scope constructs.Construct, id *string, ...)
- func NewCfnVPNGateway_Override(c CfnVPNGateway, scope constructs.Construct, id *string, ...)
- func NewCfnVerifiedAccessEndpoint_Override(c CfnVerifiedAccessEndpoint, scope constructs.Construct, id *string, ...)
- func NewCfnVerifiedAccessGroup_Override(c CfnVerifiedAccessGroup, scope constructs.Construct, id *string, ...)
- func NewCfnVerifiedAccessInstance_Override(c CfnVerifiedAccessInstance, scope constructs.Construct, id *string, ...)
- func NewCfnVerifiedAccessTrustProvider_Override(c CfnVerifiedAccessTrustProvider, scope constructs.Construct, id *string, ...)
- func NewCfnVolumeAttachment_Override(c CfnVolumeAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnVolume_Override(c CfnVolume, scope constructs.Construct, id *string, props *CfnVolumeProps)
- func NewClientVpnAuthorizationRule_Override(c ClientVpnAuthorizationRule, scope constructs.Construct, id *string, ...)
- func NewClientVpnEndpoint_Override(c ClientVpnEndpoint, scope constructs.Construct, id *string, ...)
- func NewClientVpnRouteTarget_Override(c ClientVpnRouteTarget)
- func NewClientVpnRoute_Override(c ClientVpnRoute, scope constructs.Construct, id *string, ...)
- func NewClientVpnUserBasedAuthentication_Override(c ClientVpnUserBasedAuthentication)
- func NewConnections_Override(c Connections, props *ConnectionsProps)
- func NewFlowLogDestination_Override(f FlowLogDestination)
- func NewFlowLogResourceType_Override(f FlowLogResourceType)
- func NewFlowLog_Override(f FlowLog, scope constructs.Construct, id *string, props *FlowLogProps)
- func NewGatewayVpcEndpointAwsService_Override(g GatewayVpcEndpointAwsService, name *string, prefix *string)
- func NewGatewayVpcEndpoint_Override(g GatewayVpcEndpoint, scope constructs.Construct, id *string, ...)
- func NewGenericLinuxImage_Override(g GenericLinuxImage, amiMap *map[string]*string, props *GenericLinuxImageProps)
- func NewGenericSSMParameterImage_Override(g GenericSSMParameterImage, parameterName *string, os OperatingSystemType, ...)
- func NewGenericWindowsImage_Override(g GenericWindowsImage, amiMap *map[string]*string, ...)
- func NewInitCommandWaitDuration_Override(i InitCommandWaitDuration)
- func NewInitConfig_Override(i InitConfig, elements *[]InitElement)
- func NewInitElement_Override(i InitElement)
- func NewInitFile_Override(i InitFile, fileName *string, options *InitFileOptions)
- func NewInitGroup_Override(i InitGroup, groupName *string, groupId *float64)
- func NewInitPackage_Override(i InitPackage, type_ *string, versions *[]*string, packageName *string, ...)
- func NewInitServiceRestartHandle_Override(i InitServiceRestartHandle)
- func NewInitSource_Override(i InitSource, targetDirectory *string, ...)
- func NewInitUser_Override(i InitUser, userName *string, userOptions *InitUserOptions)
- func NewInstanceRequireImdsv2Aspect_Override(i InstanceRequireImdsv2Aspect, props *InstanceRequireImdsv2AspectProps)
- func NewInstanceType_Override(i InstanceType, instanceTypeIdentifier *string)
- func NewInstance_Override(i Instance, scope constructs.Construct, id *string, props *InstanceProps)
- func NewInterfaceVpcEndpointAwsService_Override(i InterfaceVpcEndpointAwsService, name *string, prefix *string, port *float64)
- func NewInterfaceVpcEndpointService_Override(i InterfaceVpcEndpointService, name *string, port *float64)
- func NewInterfaceVpcEndpoint_Override(i InterfaceVpcEndpoint, scope constructs.Construct, id *string, ...)
- func NewLaunchTemplateRequireImdsv2Aspect_Override(l LaunchTemplateRequireImdsv2Aspect, ...)
- func NewLaunchTemplateSpecialVersions_Override(l LaunchTemplateSpecialVersions)
- func NewLaunchTemplate_Override(l LaunchTemplate, scope constructs.Construct, id *string, ...)
- func NewLogFormat_Override(l LogFormat, value *string)
- func NewLookupMachineImage_Override(l LookupMachineImage, props *LookupMachineImageProps)
- func NewMachineImage_Override(m MachineImage)
- func NewMultipartBody_Override(m MultipartBody)
- func NewMultipartUserData_Override(m MultipartUserData, opts *MultipartUserDataOptions)
- func NewNatInstanceImage_Override(n NatInstanceImage)
- func NewNatInstanceProvider_Override(n NatInstanceProvider, props *NatInstanceProps)
- func NewNatProvider_Override(n NatProvider)
- func NewNetworkAclEntry_Override(n NetworkAclEntry, scope constructs.Construct, id *string, ...)
- func NewNetworkAcl_Override(n NetworkAcl, scope constructs.Construct, id *string, props *NetworkAclProps)
- func NewPeer_Override(p Peer)
- func NewPlacementGroup_Override(p PlacementGroup, scope constructs.Construct, id *string, ...)
- func NewPort_Override(p Port, props *PortProps)
- func NewPrefixList_Override(p PrefixList, scope constructs.Construct, id *string, props *PrefixListProps)
- func NewPrivateSubnet_Override(p PrivateSubnet, scope constructs.Construct, id *string, ...)
- func NewPublicSubnet_Override(p PublicSubnet, scope constructs.Construct, id *string, ...)
- func NewSecurityGroup_Override(s SecurityGroup, scope constructs.Construct, id *string, ...)
- func NewSubnetFilter_Override(s SubnetFilter)
- func NewSubnetNetworkAclAssociation_Override(s SubnetNetworkAclAssociation, scope constructs.Construct, id *string, ...)
- func NewSubnet_Override(s Subnet, scope constructs.Construct, id *string, props *SubnetProps)
- func NewUserData_Override(u UserData)
- func NewVolume_Override(v Volume, scope constructs.Construct, id *string, props *VolumeProps)
- func NewVpcEndpointService_Override(v VpcEndpointService, scope constructs.Construct, id *string, ...)
- func NewVpcEndpoint_Override(v VpcEndpoint, scope constructs.Construct, id *string, ...)
- func NewVpc_Override(v Vpc, scope constructs.Construct, id *string, props *VpcProps)
- func NewVpnConnectionBase_Override(v VpnConnectionBase, scope constructs.Construct, id *string, ...)
- func NewVpnConnection_Override(v VpnConnection, scope constructs.Construct, id *string, ...)
- func NewVpnGateway_Override(v VpnGateway, scope constructs.Construct, id *string, props *VpnGatewayProps)
- func NewWindowsImage_Override(w WindowsImage, version WindowsVersion, props *WindowsImageProps)
- func PlacementGroup_IsConstruct(x interface{}) *bool
- func PlacementGroup_IsOwnedResource(construct constructs.IConstruct) *bool
- func PlacementGroup_IsResource(construct constructs.IConstruct) *bool
- func PrefixList_IsConstruct(x interface{}) *bool
- func PrefixList_IsOwnedResource(construct constructs.IConstruct) *bool
- func PrefixList_IsResource(construct constructs.IConstruct) *bool
- func PrivateSubnet_IsConstruct(x interface{}) *bool
- func PrivateSubnet_IsOwnedResource(construct constructs.IConstruct) *bool
- func PrivateSubnet_IsResource(construct constructs.IConstruct) *bool
- func PrivateSubnet_IsVpcSubnet(x interface{}) *bool
- func PublicSubnet_IsConstruct(x interface{}) *bool
- func PublicSubnet_IsOwnedResource(construct constructs.IConstruct) *bool
- func PublicSubnet_IsResource(construct constructs.IConstruct) *bool
- func PublicSubnet_IsVpcSubnet(x interface{}) *bool
- func SecurityGroup_IsConstruct(x interface{}) *bool
- func SecurityGroup_IsOwnedResource(construct constructs.IConstruct) *bool
- func SecurityGroup_IsResource(construct constructs.IConstruct) *bool
- func SecurityGroup_IsSecurityGroup(x interface{}) *bool
- func SubnetNetworkAclAssociation_IsConstruct(x interface{}) *bool
- func SubnetNetworkAclAssociation_IsOwnedResource(construct constructs.IConstruct) *bool
- func SubnetNetworkAclAssociation_IsResource(construct constructs.IConstruct) *bool
- func Subnet_IsConstruct(x interface{}) *bool
- func Subnet_IsOwnedResource(construct constructs.IConstruct) *bool
- func Subnet_IsResource(construct constructs.IConstruct) *bool
- func Subnet_IsVpcSubnet(x interface{}) *bool
- func Volume_IsConstruct(x interface{}) *bool
- func Volume_IsOwnedResource(construct constructs.IConstruct) *bool
- func Volume_IsResource(construct constructs.IConstruct) *bool
- func VpcEndpointService_IsConstruct(x interface{}) *bool
- func VpcEndpointService_IsOwnedResource(construct constructs.IConstruct) *bool
- func VpcEndpointService_IsResource(construct constructs.IConstruct) *bool
- func VpcEndpoint_IsConstruct(x interface{}) *bool
- func VpcEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
- func VpcEndpoint_IsResource(construct constructs.IConstruct) *bool
- func Vpc_DEFAULT_CIDR_RANGE() *string
- func Vpc_DEFAULT_SUBNETS() *[]*SubnetConfiguration
- func Vpc_DEFAULT_SUBNETS_NO_NAT() *[]*SubnetConfiguration
- func Vpc_IsConstruct(x interface{}) *bool
- func Vpc_IsOwnedResource(construct constructs.IConstruct) *bool
- func Vpc_IsResource(construct constructs.IConstruct) *bool
- func VpnConnectionBase_IsConstruct(x interface{}) *bool
- func VpnConnectionBase_IsOwnedResource(construct constructs.IConstruct) *bool
- func VpnConnectionBase_IsResource(construct constructs.IConstruct) *bool
- func VpnConnection_IsConstruct(x interface{}) *bool
- func VpnConnection_IsOwnedResource(construct constructs.IConstruct) *bool
- func VpnConnection_IsResource(construct constructs.IConstruct) *bool
- func VpnConnection_MetricAll(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
- func VpnConnection_MetricAllTunnelDataIn(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
- func VpnConnection_MetricAllTunnelDataOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
- func VpnConnection_MetricAllTunnelState(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
- func VpnGateway_IsConstruct(x interface{}) *bool
- func VpnGateway_IsOwnedResource(construct constructs.IConstruct) *bool
- func VpnGateway_IsResource(construct constructs.IConstruct) *bool
- type AclCidr
- type AclCidrConfig
- type AclIcmp
- type AclPortRange
- type AclTraffic
- func AclTraffic_AllTraffic() AclTraffic
- func AclTraffic_Icmp(props *AclIcmp) AclTraffic
- func AclTraffic_Icmpv6(props *AclIcmp) AclTraffic
- func AclTraffic_TcpPort(port *float64) AclTraffic
- func AclTraffic_TcpPortRange(startPort *float64, endPort *float64) AclTraffic
- func AclTraffic_UdpPort(port *float64) AclTraffic
- func AclTraffic_UdpPortRange(startPort *float64, endPort *float64) AclTraffic
- type AclTrafficConfig
- type Action
- type AddRouteOptions
- type AddressFamily
- type AllocateCidrRequest
- type AllocatedSubnet
- type AmazonLinux2022ImageSsmParameter
- type AmazonLinux2022ImageSsmParameterProps
- type AmazonLinux2022Kernel
- type AmazonLinux2023ImageSsmParameter
- type AmazonLinux2023ImageSsmParameterProps
- type AmazonLinux2023Kernel
- type AmazonLinux2ImageSsmParameter
- type AmazonLinux2ImageSsmParameterProps
- type AmazonLinux2Kernel
- type AmazonLinuxCpuType
- type AmazonLinuxEdition
- type AmazonLinuxGeneration
- type AmazonLinuxImage
- type AmazonLinuxImageProps
- type AmazonLinuxImageSsmParameterBase
- type AmazonLinuxImageSsmParameterBaseOptions
- type AmazonLinuxImageSsmParameterBaseProps
- type AmazonLinuxImageSsmParameterCommonOptions
- type AmazonLinuxKernel
- type AmazonLinuxStorage
- type AmazonLinuxVirt
- type ApplyCloudFormationInitOptions
- type AttachInitOptions
- type AwsIpamProps
- type BastionHostLinux
- type BastionHostLinuxProps
- type BlockDevice
- type BlockDeviceVolume
- func BlockDeviceVolume_Ebs(volumeSize *float64, options *EbsDeviceOptions) BlockDeviceVolume
- func BlockDeviceVolume_EbsFromSnapshot(snapshotId *string, options *EbsDeviceSnapshotOptions) BlockDeviceVolume
- func BlockDeviceVolume_Ephemeral(volumeIndex *float64) BlockDeviceVolume
- func NewBlockDeviceVolume(ebsDevice *EbsDeviceProps, virtualName *string) BlockDeviceVolume
- type CfnCapacityReservation
- type CfnCapacityReservationFleet
- type CfnCapacityReservationFleetProps
- type CfnCapacityReservationFleet_InstanceTypeSpecificationProperty
- type CfnCapacityReservationFleet_TagSpecificationProperty
- type CfnCapacityReservationProps
- type CfnCapacityReservation_TagSpecificationProperty
- type CfnCarrierGateway
- type CfnCarrierGatewayProps
- type CfnClientVpnAuthorizationRule
- type CfnClientVpnAuthorizationRuleProps
- type CfnClientVpnEndpoint
- type CfnClientVpnEndpointProps
- type CfnClientVpnEndpoint_CertificateAuthenticationRequestProperty
- type CfnClientVpnEndpoint_ClientAuthenticationRequestProperty
- type CfnClientVpnEndpoint_ClientConnectOptionsProperty
- type CfnClientVpnEndpoint_ClientLoginBannerOptionsProperty
- type CfnClientVpnEndpoint_ConnectionLogOptionsProperty
- type CfnClientVpnEndpoint_DirectoryServiceAuthenticationRequestProperty
- type CfnClientVpnEndpoint_FederatedAuthenticationRequestProperty
- type CfnClientVpnEndpoint_TagSpecificationProperty
- type CfnClientVpnRoute
- type CfnClientVpnRouteProps
- type CfnClientVpnTargetNetworkAssociation
- type CfnClientVpnTargetNetworkAssociationProps
- type CfnCustomerGateway
- type CfnCustomerGatewayProps
- type CfnDHCPOptions
- type CfnDHCPOptionsProps
- type CfnEC2Fleet
- type CfnEC2FleetProps
- type CfnEC2Fleet_AcceleratorCountRequestProperty
- type CfnEC2Fleet_AcceleratorTotalMemoryMiBRequestProperty
- type CfnEC2Fleet_BaselineEbsBandwidthMbpsRequestProperty
- type CfnEC2Fleet_CapacityRebalanceProperty
- type CfnEC2Fleet_CapacityReservationOptionsRequestProperty
- type CfnEC2Fleet_FleetLaunchTemplateConfigRequestProperty
- type CfnEC2Fleet_FleetLaunchTemplateOverridesRequestProperty
- type CfnEC2Fleet_FleetLaunchTemplateSpecificationRequestProperty
- type CfnEC2Fleet_InstanceRequirementsRequestProperty
- type CfnEC2Fleet_MaintenanceStrategiesProperty
- type CfnEC2Fleet_MemoryGiBPerVCpuRequestProperty
- type CfnEC2Fleet_MemoryMiBRequestProperty
- type CfnEC2Fleet_NetworkBandwidthGbpsRequestProperty
- type CfnEC2Fleet_NetworkInterfaceCountRequestProperty
- type CfnEC2Fleet_OnDemandOptionsRequestProperty
- type CfnEC2Fleet_PlacementProperty
- type CfnEC2Fleet_SpotOptionsRequestProperty
- type CfnEC2Fleet_TagSpecificationProperty
- type CfnEC2Fleet_TargetCapacitySpecificationRequestProperty
- type CfnEC2Fleet_TotalLocalStorageGBRequestProperty
- type CfnEC2Fleet_VCpuCountRangeRequestProperty
- type CfnEIP
- type CfnEIPAssociation
- type CfnEIPAssociationProps
- type CfnEIPProps
- type CfnEgressOnlyInternetGateway
- type CfnEgressOnlyInternetGatewayProps
- type CfnEnclaveCertificateIamRoleAssociation
- type CfnEnclaveCertificateIamRoleAssociationProps
- type CfnFlowLog
- type CfnFlowLogProps
- type CfnFlowLog_DestinationOptionsProperty
- type CfnGatewayRouteTableAssociation
- type CfnGatewayRouteTableAssociationProps
- type CfnHost
- type CfnHostProps
- type CfnIPAM
- type CfnIPAMAllocation
- type CfnIPAMAllocationProps
- type CfnIPAMPool
- type CfnIPAMPoolCidr
- type CfnIPAMPoolCidrProps
- type CfnIPAMPoolProps
- type CfnIPAMPool_ProvisionedCidrProperty
- type CfnIPAMProps
- type CfnIPAMResourceDiscovery
- type CfnIPAMResourceDiscoveryAssociation
- type CfnIPAMResourceDiscoveryAssociationProps
- type CfnIPAMResourceDiscoveryProps
- type CfnIPAMResourceDiscovery_IpamOperatingRegionProperty
- type CfnIPAMScope
- type CfnIPAMScopeProps
- type CfnIPAM_IpamOperatingRegionProperty
- type CfnInstance
- type CfnInstanceProps
- type CfnInstance_AssociationParameterProperty
- type CfnInstance_BlockDeviceMappingProperty
- type CfnInstance_CpuOptionsProperty
- type CfnInstance_CreditSpecificationProperty
- type CfnInstance_EbsProperty
- type CfnInstance_ElasticGpuSpecificationProperty
- type CfnInstance_ElasticInferenceAcceleratorProperty
- type CfnInstance_EnclaveOptionsProperty
- type CfnInstance_HibernationOptionsProperty
- type CfnInstance_InstanceIpv6AddressProperty
- type CfnInstance_LaunchTemplateSpecificationProperty
- type CfnInstance_LicenseSpecificationProperty
- type CfnInstance_NetworkInterfaceProperty
- type CfnInstance_NoDeviceProperty
- type CfnInstance_PrivateDnsNameOptionsProperty
- type CfnInstance_PrivateIpAddressSpecificationProperty
- type CfnInstance_SsmAssociationProperty
- type CfnInstance_VolumeProperty
- type CfnInternetGateway
- type CfnInternetGatewayProps
- type CfnKeyPair
- type CfnKeyPairProps
- type CfnLaunchTemplate
- type CfnLaunchTemplateProps
- type CfnLaunchTemplate_AcceleratorCountProperty
- type CfnLaunchTemplate_AcceleratorTotalMemoryMiBProperty
- type CfnLaunchTemplate_BaselineEbsBandwidthMbpsProperty
- type CfnLaunchTemplate_BlockDeviceMappingProperty
- type CfnLaunchTemplate_CapacityReservationSpecificationProperty
- type CfnLaunchTemplate_CapacityReservationTargetProperty
- type CfnLaunchTemplate_CpuOptionsProperty
- type CfnLaunchTemplate_CreditSpecificationProperty
- type CfnLaunchTemplate_EbsProperty
- type CfnLaunchTemplate_ElasticGpuSpecificationProperty
- type CfnLaunchTemplate_EnclaveOptionsProperty
- type CfnLaunchTemplate_HibernationOptionsProperty
- type CfnLaunchTemplate_IamInstanceProfileProperty
- type CfnLaunchTemplate_InstanceMarketOptionsProperty
- type CfnLaunchTemplate_InstanceRequirementsProperty
- type CfnLaunchTemplate_Ipv4PrefixSpecificationProperty
- type CfnLaunchTemplate_Ipv6AddProperty
- type CfnLaunchTemplate_Ipv6PrefixSpecificationProperty
- type CfnLaunchTemplate_LaunchTemplateDataProperty
- type CfnLaunchTemplate_LaunchTemplateElasticInferenceAcceleratorProperty
- type CfnLaunchTemplate_LaunchTemplateTagSpecificationProperty
- type CfnLaunchTemplate_LicenseSpecificationProperty
- type CfnLaunchTemplate_MaintenanceOptionsProperty
- type CfnLaunchTemplate_MemoryGiBPerVCpuProperty
- type CfnLaunchTemplate_MemoryMiBProperty
- type CfnLaunchTemplate_MetadataOptionsProperty
- type CfnLaunchTemplate_MonitoringProperty
- type CfnLaunchTemplate_NetworkBandwidthGbpsProperty
- type CfnLaunchTemplate_NetworkInterfaceCountProperty
- type CfnLaunchTemplate_NetworkInterfaceProperty
- type CfnLaunchTemplate_PlacementProperty
- type CfnLaunchTemplate_PrivateDnsNameOptionsProperty
- type CfnLaunchTemplate_PrivateIpAddProperty
- type CfnLaunchTemplate_SpotOptionsProperty
- type CfnLaunchTemplate_TagSpecificationProperty
- type CfnLaunchTemplate_TotalLocalStorageGBProperty
- type CfnLaunchTemplate_VCpuCountProperty
- type CfnLocalGatewayRoute
- type CfnLocalGatewayRouteProps
- type CfnLocalGatewayRouteTable
- type CfnLocalGatewayRouteTableProps
- type CfnLocalGatewayRouteTableVPCAssociation
- type CfnLocalGatewayRouteTableVPCAssociationProps
- type CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation
- type CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps
- type CfnNatGateway
- type CfnNatGatewayProps
- type CfnNetworkAcl
- type CfnNetworkAclEntry
- type CfnNetworkAclEntryProps
- type CfnNetworkAclEntry_IcmpProperty
- type CfnNetworkAclEntry_PortRangeProperty
- type CfnNetworkAclProps
- type CfnNetworkInsightsAccessScope
- type CfnNetworkInsightsAccessScopeAnalysis
- type CfnNetworkInsightsAccessScopeAnalysisProps
- type CfnNetworkInsightsAccessScopeProps
- type CfnNetworkInsightsAccessScope_AccessScopePathRequestProperty
- type CfnNetworkInsightsAccessScope_PacketHeaderStatementRequestProperty
- type CfnNetworkInsightsAccessScope_PathStatementRequestProperty
- type CfnNetworkInsightsAccessScope_ResourceStatementRequestProperty
- type CfnNetworkInsightsAccessScope_ThroughResourcesStatementRequestProperty
- type CfnNetworkInsightsAnalysis
- type CfnNetworkInsightsAnalysisProps
- type CfnNetworkInsightsAnalysis_AdditionalDetailProperty
- type CfnNetworkInsightsAnalysis_AlternatePathHintProperty
- type CfnNetworkInsightsAnalysis_AnalysisAclRuleProperty
- type CfnNetworkInsightsAnalysis_AnalysisComponentProperty
- type CfnNetworkInsightsAnalysis_AnalysisLoadBalancerListenerProperty
- type CfnNetworkInsightsAnalysis_AnalysisLoadBalancerTargetProperty
- type CfnNetworkInsightsAnalysis_AnalysisPacketHeaderProperty
- type CfnNetworkInsightsAnalysis_AnalysisRouteTableRouteProperty
- type CfnNetworkInsightsAnalysis_AnalysisSecurityGroupRuleProperty
- type CfnNetworkInsightsAnalysis_ExplanationProperty
- type CfnNetworkInsightsAnalysis_PathComponentProperty
- type CfnNetworkInsightsAnalysis_PortRangeProperty
- type CfnNetworkInsightsAnalysis_TransitGatewayRouteTableRouteProperty
- type CfnNetworkInsightsPath
- type CfnNetworkInsightsPathProps
- type CfnNetworkInsightsPath_FilterPortRangeProperty
- type CfnNetworkInsightsPath_PathFilterProperty
- type CfnNetworkInterface
- type CfnNetworkInterfaceAttachment
- type CfnNetworkInterfaceAttachmentProps
- type CfnNetworkInterfacePermission
- type CfnNetworkInterfacePermissionProps
- type CfnNetworkInterfaceProps
- type CfnNetworkInterface_InstanceIpv6AddressProperty
- type CfnNetworkInterface_PrivateIpAddressSpecificationProperty
- type CfnNetworkPerformanceMetricSubscription
- type CfnNetworkPerformanceMetricSubscriptionProps
- type CfnPlacementGroup
- type CfnPlacementGroupProps
- type CfnPrefixList
- type CfnPrefixListProps
- type CfnPrefixList_EntryProperty
- type CfnRoute
- type CfnRouteProps
- type CfnRouteTable
- type CfnRouteTableProps
- type CfnSecurityGroup
- type CfnSecurityGroupEgress
- type CfnSecurityGroupEgressProps
- type CfnSecurityGroupIngress
- type CfnSecurityGroupIngressProps
- type CfnSecurityGroupProps
- type CfnSecurityGroup_EgressProperty
- type CfnSecurityGroup_IngressProperty
- type CfnSpotFleet
- type CfnSpotFleetProps
- type CfnSpotFleet_AcceleratorCountRequestProperty
- type CfnSpotFleet_AcceleratorTotalMemoryMiBRequestProperty
- type CfnSpotFleet_BaselineEbsBandwidthMbpsRequestProperty
- type CfnSpotFleet_BlockDeviceMappingProperty
- type CfnSpotFleet_ClassicLoadBalancerProperty
- type CfnSpotFleet_ClassicLoadBalancersConfigProperty
- type CfnSpotFleet_EbsBlockDeviceProperty
- type CfnSpotFleet_FleetLaunchTemplateSpecificationProperty
- type CfnSpotFleet_GroupIdentifierProperty
- type CfnSpotFleet_IamInstanceProfileSpecificationProperty
- type CfnSpotFleet_InstanceIpv6AddressProperty
- type CfnSpotFleet_InstanceNetworkInterfaceSpecificationProperty
- type CfnSpotFleet_InstanceRequirementsRequestProperty
- type CfnSpotFleet_LaunchTemplateConfigProperty
- type CfnSpotFleet_LaunchTemplateOverridesProperty
- type CfnSpotFleet_LoadBalancersConfigProperty
- type CfnSpotFleet_MemoryGiBPerVCpuRequestProperty
- type CfnSpotFleet_MemoryMiBRequestProperty
- type CfnSpotFleet_NetworkBandwidthGbpsRequestProperty
- type CfnSpotFleet_NetworkInterfaceCountRequestProperty
- type CfnSpotFleet_PrivateIpAddressSpecificationProperty
- type CfnSpotFleet_SpotCapacityRebalanceProperty
- type CfnSpotFleet_SpotFleetLaunchSpecificationProperty
- type CfnSpotFleet_SpotFleetMonitoringProperty
- type CfnSpotFleet_SpotFleetRequestConfigDataProperty
- type CfnSpotFleet_SpotFleetTagSpecificationProperty
- type CfnSpotFleet_SpotMaintenanceStrategiesProperty
- type CfnSpotFleet_SpotPlacementProperty
- type CfnSpotFleet_TargetGroupProperty
- type CfnSpotFleet_TargetGroupsConfigProperty
- type CfnSpotFleet_TotalLocalStorageGBRequestProperty
- type CfnSpotFleet_VCpuCountRangeRequestProperty
- type CfnSubnet
- type CfnSubnetCidrBlock
- type CfnSubnetCidrBlockProps
- type CfnSubnetNetworkAclAssociation
- type CfnSubnetNetworkAclAssociationProps
- type CfnSubnetProps
- type CfnSubnetRouteTableAssociation
- type CfnSubnetRouteTableAssociationProps
- type CfnSubnet_PrivateDnsNameOptionsOnLaunchProperty
- type CfnTrafficMirrorFilter
- type CfnTrafficMirrorFilterProps
- type CfnTrafficMirrorFilterRule
- type CfnTrafficMirrorFilterRuleProps
- type CfnTrafficMirrorFilterRule_TrafficMirrorPortRangeProperty
- type CfnTrafficMirrorSession
- type CfnTrafficMirrorSessionProps
- type CfnTrafficMirrorTarget
- type CfnTrafficMirrorTargetProps
- type CfnTransitGateway
- type CfnTransitGatewayAttachment
- type CfnTransitGatewayAttachmentProps
- type CfnTransitGatewayAttachment_OptionsProperty
- type CfnTransitGatewayConnect
- type CfnTransitGatewayConnectProps
- type CfnTransitGatewayConnect_TransitGatewayConnectOptionsProperty
- type CfnTransitGatewayMulticastDomain
- type CfnTransitGatewayMulticastDomainAssociation
- type CfnTransitGatewayMulticastDomainAssociationProps
- type CfnTransitGatewayMulticastDomainProps
- type CfnTransitGatewayMulticastDomain_OptionsProperty
- type CfnTransitGatewayMulticastGroupMember
- type CfnTransitGatewayMulticastGroupMemberProps
- type CfnTransitGatewayMulticastGroupSource
- type CfnTransitGatewayMulticastGroupSourceProps
- type CfnTransitGatewayPeeringAttachment
- type CfnTransitGatewayPeeringAttachmentProps
- type CfnTransitGatewayPeeringAttachment_PeeringAttachmentStatusProperty
- type CfnTransitGatewayProps
- type CfnTransitGatewayRoute
- type CfnTransitGatewayRouteProps
- type CfnTransitGatewayRouteTable
- type CfnTransitGatewayRouteTableAssociation
- type CfnTransitGatewayRouteTableAssociationProps
- type CfnTransitGatewayRouteTablePropagation
- type CfnTransitGatewayRouteTablePropagationProps
- type CfnTransitGatewayRouteTableProps
- type CfnTransitGatewayVpcAttachment
- type CfnTransitGatewayVpcAttachmentProps
- type CfnTransitGatewayVpcAttachment_OptionsProperty
- type CfnVPC
- type CfnVPCCidrBlock
- type CfnVPCCidrBlockProps
- type CfnVPCDHCPOptionsAssociation
- type CfnVPCDHCPOptionsAssociationProps
- type CfnVPCEndpoint
- type CfnVPCEndpointConnectionNotification
- type CfnVPCEndpointConnectionNotificationProps
- type CfnVPCEndpointProps
- type CfnVPCEndpointService
- type CfnVPCEndpointServicePermissions
- type CfnVPCEndpointServicePermissionsProps
- type CfnVPCEndpointServiceProps
- type CfnVPCGatewayAttachment
- type CfnVPCGatewayAttachmentProps
- type CfnVPCPeeringConnection
- type CfnVPCPeeringConnectionProps
- type CfnVPCProps
- type CfnVPNConnection
- type CfnVPNConnectionProps
- type CfnVPNConnectionRoute
- type CfnVPNConnectionRouteProps
- type CfnVPNConnection_VpnTunnelOptionsSpecificationProperty
- type CfnVPNGateway
- type CfnVPNGatewayProps
- type CfnVPNGatewayRoutePropagation
- type CfnVPNGatewayRoutePropagationProps
- type CfnVerifiedAccessEndpoint
- type CfnVerifiedAccessEndpointProps
- type CfnVerifiedAccessEndpoint_LoadBalancerOptionsProperty
- type CfnVerifiedAccessEndpoint_NetworkInterfaceOptionsProperty
- type CfnVerifiedAccessGroup
- type CfnVerifiedAccessGroupProps
- type CfnVerifiedAccessInstance
- type CfnVerifiedAccessInstanceProps
- type CfnVerifiedAccessInstance_CloudWatchLogsProperty
- type CfnVerifiedAccessInstance_KinesisDataFirehoseProperty
- type CfnVerifiedAccessInstance_S3Property
- type CfnVerifiedAccessInstance_VerifiedAccessLogsProperty
- type CfnVerifiedAccessInstance_VerifiedAccessTrustProviderProperty
- type CfnVerifiedAccessTrustProvider
- type CfnVerifiedAccessTrustProviderProps
- type CfnVerifiedAccessTrustProvider_DeviceOptionsProperty
- type CfnVerifiedAccessTrustProvider_OidcOptionsProperty
- type CfnVolume
- type CfnVolumeAttachment
- type CfnVolumeAttachmentProps
- type CfnVolumeProps
- type ClientVpnAuthorizationRule
- type ClientVpnAuthorizationRuleOptions
- type ClientVpnAuthorizationRuleProps
- type ClientVpnEndpoint
- type ClientVpnEndpointAttributes
- type ClientVpnEndpointOptions
- type ClientVpnEndpointProps
- type ClientVpnRoute
- type ClientVpnRouteOptions
- type ClientVpnRouteProps
- type ClientVpnRouteTarget
- type ClientVpnSessionTimeout
- type ClientVpnUserBasedAuthentication
- type CloudFormationInit
- type CommonNetworkAclEntryOptions
- type ConfigSetProps
- type ConfigureNatOptions
- type ConnectionRule
- type Connections
- type ConnectionsProps
- type CpuCredits
- type DefaultInstanceTenancy
- type DestinationOptions
- type EbsDeviceOptions
- type EbsDeviceOptionsBase
- type EbsDeviceProps
- type EbsDeviceSnapshotOptions
- type EbsDeviceVolumeType
- type EnableVpnGatewayOptions
- type ExecuteFileOptions
- type FlowLog
- type FlowLogDestination
- type FlowLogDestinationConfig
- type FlowLogDestinationType
- type FlowLogFileFormat
- type FlowLogMaxAggregationInterval
- type FlowLogOptions
- type FlowLogProps
- type FlowLogResourceType
- type FlowLogTrafficType
- type GatewayConfig
- type GatewayVpcEndpoint
- type GatewayVpcEndpointAwsService
- type GatewayVpcEndpointOptions
- type GatewayVpcEndpointProps
- type GenericLinuxImage
- type GenericLinuxImageProps
- type GenericSSMParameterImage
- type GenericWindowsImage
- type GenericWindowsImageProps
- type IClientVpnConnectionHandler
- type IClientVpnEndpoint
- type IConnectable
- type IFlowLog
- type IGatewayVpcEndpoint
- type IGatewayVpcEndpointService
- type IInstance
- type IInterfaceVpcEndpoint
- type IInterfaceVpcEndpointService
- type IIpAddresses
- type ILaunchTemplate
- type IMachineImage
- func MachineImage_FromSsmParameter(parameterName *string, options *SsmParameterImageOptions) IMachineImage
- func MachineImage_GenericLinux(amiMap *map[string]*string, props *GenericLinuxImageProps) IMachineImage
- func MachineImage_GenericWindows(amiMap *map[string]*string, props *GenericWindowsImageProps) IMachineImage
- func MachineImage_LatestAmazonLinux(props *AmazonLinuxImageProps) IMachineImage
- func MachineImage_LatestAmazonLinux2(props *AmazonLinux2ImageSsmParameterProps) IMachineImage
- func MachineImage_LatestAmazonLinux2022(props *AmazonLinux2022ImageSsmParameterProps) IMachineImage
- func MachineImage_LatestAmazonLinux2023(props *AmazonLinux2023ImageSsmParameterProps) IMachineImage
- func MachineImage_LatestWindows(version WindowsVersion, props *WindowsImageProps) IMachineImage
- func MachineImage_Lookup(props *LookupMachineImageProps) IMachineImage
- type INetworkAcl
- type INetworkAclEntry
- type IPeer
- type IPlacementGroup
- type IPrefixList
- type IPrivateSubnet
- type IPublicSubnet
- type IRouteTable
- type ISecurityGroup
- func SecurityGroup_FromLookupById(scope constructs.Construct, id *string, securityGroupId *string) ISecurityGroup
- func SecurityGroup_FromLookupByName(scope constructs.Construct, id *string, securityGroupName *string, vpc IVpc) ISecurityGroup
- func SecurityGroup_FromSecurityGroupId(scope constructs.Construct, id *string, securityGroupId *string, ...) ISecurityGroup
- type ISubnet
- func PrivateSubnet_FromSubnetAttributes(scope constructs.Construct, id *string, attrs *SubnetAttributes) ISubnet
- func PrivateSubnet_FromSubnetId(scope constructs.Construct, id *string, subnetId *string) ISubnet
- func PublicSubnet_FromSubnetAttributes(scope constructs.Construct, id *string, attrs *SubnetAttributes) ISubnet
- func PublicSubnet_FromSubnetId(scope constructs.Construct, id *string, subnetId *string) ISubnet
- func Subnet_FromSubnetAttributes(scope constructs.Construct, id *string, attrs *SubnetAttributes) ISubnet
- func Subnet_FromSubnetId(scope constructs.Construct, id *string, subnetId *string) ISubnet
- type ISubnetNetworkAclAssociation
- type IVolume
- type IVpc
- type IVpcEndpoint
- type IVpcEndpointService
- type IVpcEndpointServiceLoadBalancer
- type IVpnConnection
- type IVpnGateway
- type InitCommand
- type InitCommandOptions
- type InitCommandWaitDuration
- type InitConfig
- type InitElement
- type InitFile
- func InitFile_FromAsset(targetFileName *string, path *string, options *InitFileAssetOptions) InitFile
- func InitFile_FromExistingAsset(targetFileName *string, asset awss3assets.Asset, options *InitFileOptions) InitFile
- func InitFile_FromFileInline(targetFileName *string, sourceFileName *string, options *InitFileOptions) InitFile
- func InitFile_FromObject(fileName *string, obj *map[string]interface{}, options *InitFileOptions) InitFile
- func InitFile_FromS3Object(fileName *string, bucket awss3.IBucket, key *string, options *InitFileOptions) InitFile
- func InitFile_FromString(fileName *string, content *string, options *InitFileOptions) InitFile
- func InitFile_FromUrl(fileName *string, url *string, options *InitFileOptions) InitFile
- func InitFile_Symlink(fileName *string, target *string, options *InitFileOptions) InitFile
- func InitService_SystemdConfigFile(serviceName *string, options *SystemdConfigFileOptions) InitFile
- type InitFileAssetOptions
- type InitFileOptions
- type InitGroup
- type InitPackage
- func InitPackage_Apt(packageName *string, options *NamedPackageOptions) InitPackage
- func InitPackage_Msi(location *string, options *LocationPackageOptions) InitPackage
- func InitPackage_Python(packageName *string, options *NamedPackageOptions) InitPackage
- func InitPackage_Rpm(location *string, options *LocationPackageOptions) InitPackage
- func InitPackage_RubyGem(gemName *string, options *NamedPackageOptions) InitPackage
- func InitPackage_Yum(packageName *string, options *NamedPackageOptions) InitPackage
- func NewInitPackage(type_ *string, versions *[]*string, packageName *string, ...) InitPackage
- type InitService
- type InitServiceOptions
- type InitServiceRestartHandle
- type InitSource
- func InitSource_FromAsset(targetDirectory *string, path *string, options *InitSourceAssetOptions) InitSource
- func InitSource_FromExistingAsset(targetDirectory *string, asset awss3assets.Asset, options *InitSourceOptions) InitSource
- func InitSource_FromGitHub(targetDirectory *string, owner *string, repo *string, refSpec *string, ...) InitSource
- func InitSource_FromS3Object(targetDirectory *string, bucket awss3.IBucket, key *string, ...) InitSource
- func InitSource_FromUrl(targetDirectory *string, url *string, options *InitSourceOptions) InitSource
- type InitSourceAssetOptions
- type InitSourceOptions
- type InitUser
- type InitUserOptions
- type Instance
- type InstanceArchitecture
- type InstanceClass
- type InstanceInitiatedShutdownBehavior
- type InstanceProps
- type InstanceRequireImdsv2Aspect
- type InstanceRequireImdsv2AspectProps
- type InstanceSize
- type InstanceType
- type InterfaceVpcEndpoint
- type InterfaceVpcEndpointAttributes
- type InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ACCESS_ANALYZER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ACCOUNT_MANAGEMENT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_AIRFLOW_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_AIRFLOW_ENV() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_AIRFLOW_OPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APIGATEWAY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APPLICATION_AUTOSCALING() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APPLICATION_MIGRATION_SERVICE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APPSTREAM_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APPSTREAM_STREAMING() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APP_MESH() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APP_RUNNER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APP_RUNNER_REQUESTS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_APP_SYNC() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ATHENA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_AUDIT_MANAGER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_AUTOSCALING() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_AUTOSCALING_PLANS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_BACKUP() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_BACKUP_GATEWAY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_BATCH() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_BILLING_CONDUCTOR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_BRAKET() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDFORMATION() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDHSM() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDTRAIL() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVENTS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVIDENTLY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVIDENTLY_DATAPLANE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_LOGS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_MONITORING() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_RUM() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_RUM_DATAPLANE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUDWATCH_SYNTHETICS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUD_CONTROL_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUD_CONTROL_API_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CLOUD_DIRECTORY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEARTIFACT_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEARTIFACT_REPOSITORIES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEBUILD() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEBUILD_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODECOMMIT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODECOMMIT_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODECOMMIT_GIT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODECOMMIT_GIT_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEDEPLOY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEDEPLOY_COMMANDS_SECURE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEGURU_PROFILER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEGURU_REVIEWER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODEPIPELINE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CODESTAR_CONNECTIONS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_COMPREHEND() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_COMPREHEND_MEDICAL() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CONFIG() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CONNECT_APP_INTEGRATIONS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CONNECT_CASES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CONNECT_CONNECT_CAMPAIGNS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CONNECT_PROFILE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CONNECT_VOICEID() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_CONNECT_WISDOM() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_DATABASE_MIGRATION_SERVICE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_DATABASE_MIGRATION_SERVICE_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_DATASYNC() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_DATA_EXCHANGE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_DEVOPS_GURU() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EBS_DIRECT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EC2() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EC2_MESSAGES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ECR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ECR_DOCKER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ECS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ECS_AGENT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ECS_TELEMETRY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EKS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTICACHE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTICACHE_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTIC_BEANSTALK() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTIC_BEANSTALK_HEALTH() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTIC_DISASTER_RECOVERY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTIC_FILESYSTEM() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTIC_FILESYSTEM_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTIC_INFERENCE_RUNTIME() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ELASTIC_LOAD_BALANCING() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EMAIL_SMTP() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EMR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EMR_EKS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EMR_SERVERLESS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_EVENTBRIDGE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FAULT_INJECTION_SIMULATOR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FINSPACE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FINSPACE_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FORECAST() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FORECAST_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FORECAST_QUERY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FORECAST_QUERY_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FRAUD_DETECTOR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FSX() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_FSX_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_GLUE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_GLUE_DATABREW() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_GRAFANA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_GRAFANA_WORKSPACE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_GROUNDSTATION() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_HEALTHLAKE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IAM_IDENTITY_CENTER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IAM_ROLES_ANYWHERE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IMAGE_BUILDER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_INSPECTOR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_CORE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_CORE_DEVICE_ADVISOR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_CORE_FOR_LORAWAN() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_GREENGRASS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_LORAWAN_CUPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_LORAWAN_LNS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_ROBORUNNER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_SITEWISE_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_SITEWISE_DATA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_TWINMAKER_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_IOT_TWINMAKER_DATA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KENDRA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KENDRA_RANKING() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KEYSPACES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KEYSPACES_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KINESIS_FIREHOSE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KINESIS_STREAMS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KMS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_KMS_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LAKE_FORMATION() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LAMBDA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LEX_MODELS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LEX_RUNTIME() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LICENSE_MANAGER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LICENSE_MANAGER_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LOOKOUT_EQUIPMENT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LOOKOUT_METRICS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_LOOKOUT_VISION() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_MACIE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_MAINFRAME_MODERNIZATION() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_MEMORY_DB() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_MEMORY_DB_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_MIGRATIONHUB_ORCHESTRATOR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_MIGRATIONHUB_REFACTOR_SPACES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_MIGRATIONHUB_STRATEGY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_NIMBLE_STUDIO() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_OMICS_ANALYTICS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_OMICS_CONTROL_STORAGE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_OMICS_STORAGE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_OMICS_TAGS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_OMICS_WORKFLOWS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_PANORAMA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_PINPOINT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_POLLY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_PRIVATE_5G() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_PRIVATE_CERTIFICATE_AUTHORITY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_PROMETHEUS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_PROMETHEUS_WORKSPACES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_PROTON() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_QLDB() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_RDS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_RDS_DATA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_REDSHIFT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_REDSHIFT_DATA() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_REDSHIFT_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_REKOGNITION() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_REKOGNITION_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_ROBOMAKER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_S3() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_S3_MULTI_REGION_ACCESS_POINTS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_S3_OUTPOSTS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SAGEMAKER_API() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SAGEMAKER_FEATURESTORE_RUNTIME() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SAGEMAKER_METRICS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SAGEMAKER_NOTEBOOK() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SAGEMAKER_RUNTIME() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SAGEMAKER_RUNTIME_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SAGEMAKER_STUDIO() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SECRETS_MANAGER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SECURITYHUB() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE_AWSCONNECTOR() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SERVICE_CATALOG() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SERVICE_CATALOG_APPREGISTRY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SNOW_DEVICE_MANAGEMENT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SNS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SQS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SSM() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SSM_CONTACTS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SSM_INCIDENTS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_SSM_MESSAGES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_STEP_FUNCTIONS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_STEP_FUNCTIONS_SYNC() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_STORAGE_GATEWAY() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_STS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_TEXTRACT() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_TEXTRACT_FIPS() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_TRANSCRIBE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_TRANSCRIBE_STREAMING() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_TRANSFER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_TRANSFER_SERVER() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_TRANSLATE() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_WORKSPACES() InterfaceVpcEndpointAwsService
- func InterfaceVpcEndpointAwsService_XRAY() InterfaceVpcEndpointAwsService
- func NewInterfaceVpcEndpointAwsService(name *string, prefix *string, port *float64) InterfaceVpcEndpointAwsService
- type InterfaceVpcEndpointOptions
- type InterfaceVpcEndpointProps
- type InterfaceVpcEndpointService
- type IpAddresses
- type LaunchTemplate
- type LaunchTemplateAttributes
- type LaunchTemplateHttpTokens
- type LaunchTemplateProps
- type LaunchTemplateRequireImdsv2Aspect
- type LaunchTemplateRequireImdsv2AspectProps
- type LaunchTemplateSpecialVersions
- type LaunchTemplateSpotOptions
- type LinuxUserDataOptions
- type LocationPackageOptions
- type LogFormat
- func LogFormat_ACCOUNT_ID() LogFormat
- func LogFormat_ACTION() LogFormat
- func LogFormat_ALL_DEFAULT_FIELDS() LogFormat
- func LogFormat_AZ_ID() LogFormat
- func LogFormat_BYTES() LogFormat
- func LogFormat_Custom(formatString *string) LogFormat
- func LogFormat_DST_ADDR() LogFormat
- func LogFormat_DST_PORT() LogFormat
- func LogFormat_END_TIMESTAMP() LogFormat
- func LogFormat_FLOW_DIRECTION() LogFormat
- func LogFormat_Field(field *string) LogFormat
- func LogFormat_INSTANCE_ID() LogFormat
- func LogFormat_INTERFACE_ID() LogFormat
- func LogFormat_LOG_STATUS() LogFormat
- func LogFormat_PACKETS() LogFormat
- func LogFormat_PKT_DST_ADDR() LogFormat
- func LogFormat_PKT_DST_AWS_SERVICE() LogFormat
- func LogFormat_PKT_SRC_ADDR() LogFormat
- func LogFormat_PKT_SRC_AWS_SERVICE() LogFormat
- func LogFormat_PROTOCOL() LogFormat
- func LogFormat_REGION() LogFormat
- func LogFormat_SRC_ADDR() LogFormat
- func LogFormat_SRC_PORT() LogFormat
- func LogFormat_START_TIMESTAMP() LogFormat
- func LogFormat_SUBLOCATION_ID() LogFormat
- func LogFormat_SUBLOCATION_TYPE() LogFormat
- func LogFormat_SUBNET_ID() LogFormat
- func LogFormat_TCP_FLAGS() LogFormat
- func LogFormat_TRAFFIC_PATH() LogFormat
- func LogFormat_TRAFFIC_TYPE() LogFormat
- func LogFormat_VERSION() LogFormat
- func LogFormat_VPC_ID() LogFormat
- func NewLogFormat(value *string) LogFormat
- type LookupMachineImage
- type LookupMachineImageProps
- type MachineImage
- type MachineImageConfig
- type MultipartBody
- type MultipartBodyOptions
- type MultipartUserData
- type MultipartUserDataOptions
- type NamedPackageOptions
- type NatGatewayProps
- type NatInstanceImage
- type NatInstanceProps
- type NatInstanceProvider
- type NatProvider
- type NatTrafficDirection
- type NetworkAcl
- type NetworkAclEntry
- type NetworkAclEntryProps
- type NetworkAclProps
- type OperatingSystemType
- type Peer
- type PlacementGroup
- type PlacementGroupProps
- type PlacementGroupSpreadLevel
- type PlacementGroupStrategy
- type Port
- func NewPort(props *PortProps) Port
- func Port_Ah() Port
- func Port_AllIcmp() Port
- func Port_AllIcmpV6() Port
- func Port_AllTcp() Port
- func Port_AllTraffic() Port
- func Port_AllUdp() Port
- func Port_Esp() Port
- func Port_IcmpPing() Port
- func Port_IcmpType(type_ *float64) Port
- func Port_IcmpTypeAndCode(type_ *float64, code *float64) Port
- func Port_Tcp(port *float64) Port
- func Port_TcpRange(startPort *float64, endPort *float64) Port
- func Port_Udp(port *float64) Port
- func Port_UdpRange(startPort *float64, endPort *float64) Port
- type PortProps
- type PrefixList
- type PrefixListOptions
- type PrefixListProps
- type PrivateSubnet
- type PrivateSubnetAttributes
- type PrivateSubnetProps
- type Protocol
- type PublicSubnet
- type PublicSubnetAttributes
- type PublicSubnetProps
- type RequestedSubnet
- type RouterType
- type RuleScope
- type S3DestinationOptions
- type S3DownloadOptions
- type SecurityGroup
- type SecurityGroupImportOptions
- type SecurityGroupProps
- type SelectedSubnets
- type ServiceManager
- type SpotInstanceInterruption
- type SpotRequestType
- type SsmParameterImageOptions
- type Subnet
- type SubnetAttributes
- type SubnetConfiguration
- type SubnetFilter
- func SubnetFilter_AvailabilityZones(availabilityZones *[]*string) SubnetFilter
- func SubnetFilter_ByCidrMask(mask *float64) SubnetFilter
- func SubnetFilter_ByIds(subnetIds *[]*string) SubnetFilter
- func SubnetFilter_ContainsIpAddresses(ipv4addrs *[]*string) SubnetFilter
- func SubnetFilter_OnePerAz() SubnetFilter
- type SubnetIpamOptions
- type SubnetNetworkAclAssociation
- type SubnetNetworkAclAssociationProps
- type SubnetProps
- type SubnetSelection
- type SubnetType
- type SystemdConfigFileOptions
- type TrafficDirection
- type TransportProtocol
- type UserData
- func MultipartUserData_Custom(content *string) UserData
- func MultipartUserData_ForLinux(options *LinuxUserDataOptions) UserData
- func MultipartUserData_ForOperatingSystem(os OperatingSystemType) UserData
- func MultipartUserData_ForWindows(options *WindowsUserDataOptions) UserData
- func UserData_Custom(content *string) UserData
- func UserData_ForLinux(options *LinuxUserDataOptions) UserData
- func UserData_ForOperatingSystem(os OperatingSystemType) UserData
- func UserData_ForWindows(options *WindowsUserDataOptions) UserData
- type Volume
- type VolumeAttributes
- type VolumeProps
- type Vpc
- type VpcAttributes
- type VpcEndpoint
- type VpcEndpointService
- type VpcEndpointServiceProps
- type VpcEndpointType
- type VpcIpamOptions
- type VpcLookupOptions
- type VpcProps
- type VpnConnection
- type VpnConnectionAttributes
- type VpnConnectionBase
- type VpnConnectionOptions
- type VpnConnectionProps
- type VpnConnectionType
- type VpnGateway
- type VpnGatewayProps
- type VpnPort
- type VpnTunnelOption
- type WindowsImage
- type WindowsImageProps
- type WindowsUserDataOptions
- type WindowsVersion
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AmazonLinux2022ImageSsmParameter_SsmParameterName ¶ added in v2.76.0
func AmazonLinux2022ImageSsmParameter_SsmParameterName(props *AmazonLinux2022ImageSsmParameterProps) *string
Generates a SSM Parameter name for a specific amazon linux 2022 AMI.
Example values:
"/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.15-x86_64", "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-default-x86_64", "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-5.15-arm64", "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-5.15-x86_64", "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.15-arm64", "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-default-arm64", "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-default-x86_64",
"/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-default-arm64",.
func AmazonLinux2023ImageSsmParameter_SsmParameterName ¶ added in v2.76.0
func AmazonLinux2023ImageSsmParameter_SsmParameterName(props *AmazonLinux2023ImageSsmParameterProps) *string
Generates a SSM Parameter name for a specific amazon linux 2022 AMI.
Example values:
"/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64", "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64", "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64", "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-x86_64", "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-arm64", "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64", "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64",
"/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64",.
func AmazonLinux2ImageSsmParameter_SsmParameterName ¶ added in v2.76.0
func AmazonLinux2ImageSsmParameter_SsmParameterName(props *AmazonLinux2ImageSsmParameterProps) *string
Generates a SSM Parameter name for a specific amazon linux 2 AMI.
Example values:
"/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-ebs", "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2", "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-ebs", "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2", "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-arm64-ebs", "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-arm64-gp2", "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-gp2",
"/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-x86_64-ebs".
func AmazonLinuxImage_SsmParameterName ¶
func AmazonLinuxImage_SsmParameterName(props *AmazonLinuxImageProps) *string
Return the SSM parameter name that will contain the Amazon Linux image with the given attributes.
func BastionHostLinux_IsConstruct ¶
func BastionHostLinux_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func BastionHostLinux_IsOwnedResource ¶ added in v2.32.0
func BastionHostLinux_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func BastionHostLinux_IsResource ¶
func BastionHostLinux_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func CfnCapacityReservationFleet_CFN_RESOURCE_TYPE_NAME ¶
func CfnCapacityReservationFleet_CFN_RESOURCE_TYPE_NAME() *string
func CfnCapacityReservationFleet_IsCfnElement ¶
func CfnCapacityReservationFleet_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnCapacityReservationFleet_IsCfnResource ¶
func CfnCapacityReservationFleet_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCapacityReservationFleet_IsConstruct ¶
func CfnCapacityReservationFleet_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnCapacityReservation_CFN_RESOURCE_TYPE_NAME ¶
func CfnCapacityReservation_CFN_RESOURCE_TYPE_NAME() *string
func CfnCapacityReservation_IsCfnElement ¶
func CfnCapacityReservation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnCapacityReservation_IsCfnResource ¶
func CfnCapacityReservation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCapacityReservation_IsConstruct ¶
func CfnCapacityReservation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnCarrierGateway_CFN_RESOURCE_TYPE_NAME ¶
func CfnCarrierGateway_CFN_RESOURCE_TYPE_NAME() *string
func CfnCarrierGateway_IsCfnElement ¶
func CfnCarrierGateway_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnCarrierGateway_IsCfnResource ¶
func CfnCarrierGateway_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCarrierGateway_IsConstruct ¶
func CfnCarrierGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnClientVpnAuthorizationRule_CFN_RESOURCE_TYPE_NAME ¶
func CfnClientVpnAuthorizationRule_CFN_RESOURCE_TYPE_NAME() *string
func CfnClientVpnAuthorizationRule_IsCfnElement ¶
func CfnClientVpnAuthorizationRule_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnClientVpnAuthorizationRule_IsCfnResource ¶
func CfnClientVpnAuthorizationRule_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnClientVpnAuthorizationRule_IsConstruct ¶
func CfnClientVpnAuthorizationRule_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnClientVpnEndpoint_CFN_RESOURCE_TYPE_NAME ¶
func CfnClientVpnEndpoint_CFN_RESOURCE_TYPE_NAME() *string
func CfnClientVpnEndpoint_IsCfnElement ¶
func CfnClientVpnEndpoint_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnClientVpnEndpoint_IsCfnResource ¶
func CfnClientVpnEndpoint_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnClientVpnEndpoint_IsConstruct ¶
func CfnClientVpnEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnClientVpnRoute_CFN_RESOURCE_TYPE_NAME ¶
func CfnClientVpnRoute_CFN_RESOURCE_TYPE_NAME() *string
func CfnClientVpnRoute_IsCfnElement ¶
func CfnClientVpnRoute_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnClientVpnRoute_IsCfnResource ¶
func CfnClientVpnRoute_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnClientVpnRoute_IsConstruct ¶
func CfnClientVpnRoute_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnClientVpnTargetNetworkAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnClientVpnTargetNetworkAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnClientVpnTargetNetworkAssociation_IsCfnElement ¶
func CfnClientVpnTargetNetworkAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnClientVpnTargetNetworkAssociation_IsCfnResource ¶
func CfnClientVpnTargetNetworkAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnClientVpnTargetNetworkAssociation_IsConstruct ¶
func CfnClientVpnTargetNetworkAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnCustomerGateway_CFN_RESOURCE_TYPE_NAME ¶
func CfnCustomerGateway_CFN_RESOURCE_TYPE_NAME() *string
func CfnCustomerGateway_IsCfnElement ¶
func CfnCustomerGateway_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnCustomerGateway_IsCfnResource ¶
func CfnCustomerGateway_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCustomerGateway_IsConstruct ¶
func CfnCustomerGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDHCPOptions_CFN_RESOURCE_TYPE_NAME ¶
func CfnDHCPOptions_CFN_RESOURCE_TYPE_NAME() *string
func CfnDHCPOptions_IsCfnElement ¶
func CfnDHCPOptions_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDHCPOptions_IsCfnResource ¶
func CfnDHCPOptions_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDHCPOptions_IsConstruct ¶
func CfnDHCPOptions_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnEC2Fleet_CFN_RESOURCE_TYPE_NAME ¶
func CfnEC2Fleet_CFN_RESOURCE_TYPE_NAME() *string
func CfnEC2Fleet_IsCfnElement ¶
func CfnEC2Fleet_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnEC2Fleet_IsCfnResource ¶
func CfnEC2Fleet_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnEC2Fleet_IsConstruct ¶
func CfnEC2Fleet_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnEIPAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnEIPAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnEIPAssociation_IsCfnElement ¶
func CfnEIPAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnEIPAssociation_IsCfnResource ¶
func CfnEIPAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnEIPAssociation_IsConstruct ¶
func CfnEIPAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnEIP_CFN_RESOURCE_TYPE_NAME ¶
func CfnEIP_CFN_RESOURCE_TYPE_NAME() *string
func CfnEIP_IsCfnElement ¶
func CfnEIP_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnEIP_IsCfnResource ¶
func CfnEIP_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnEIP_IsConstruct ¶
func CfnEIP_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnEgressOnlyInternetGateway_CFN_RESOURCE_TYPE_NAME ¶
func CfnEgressOnlyInternetGateway_CFN_RESOURCE_TYPE_NAME() *string
func CfnEgressOnlyInternetGateway_IsCfnElement ¶
func CfnEgressOnlyInternetGateway_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnEgressOnlyInternetGateway_IsCfnResource ¶
func CfnEgressOnlyInternetGateway_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnEgressOnlyInternetGateway_IsConstruct ¶
func CfnEgressOnlyInternetGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnEnclaveCertificateIamRoleAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnEnclaveCertificateIamRoleAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnEnclaveCertificateIamRoleAssociation_IsCfnElement ¶
func CfnEnclaveCertificateIamRoleAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnEnclaveCertificateIamRoleAssociation_IsCfnResource ¶
func CfnEnclaveCertificateIamRoleAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnEnclaveCertificateIamRoleAssociation_IsConstruct ¶
func CfnEnclaveCertificateIamRoleAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnFlowLog_CFN_RESOURCE_TYPE_NAME ¶
func CfnFlowLog_CFN_RESOURCE_TYPE_NAME() *string
func CfnFlowLog_IsCfnElement ¶
func CfnFlowLog_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnFlowLog_IsCfnResource ¶
func CfnFlowLog_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnFlowLog_IsConstruct ¶
func CfnFlowLog_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnGatewayRouteTableAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnGatewayRouteTableAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnGatewayRouteTableAssociation_IsCfnElement ¶
func CfnGatewayRouteTableAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnGatewayRouteTableAssociation_IsCfnResource ¶
func CfnGatewayRouteTableAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnGatewayRouteTableAssociation_IsConstruct ¶
func CfnGatewayRouteTableAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnHost_CFN_RESOURCE_TYPE_NAME ¶
func CfnHost_CFN_RESOURCE_TYPE_NAME() *string
func CfnHost_IsCfnElement ¶
func CfnHost_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnHost_IsCfnResource ¶
func CfnHost_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnHost_IsConstruct ¶
func CfnHost_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIPAMAllocation_CFN_RESOURCE_TYPE_NAME ¶ added in v2.2.0
func CfnIPAMAllocation_CFN_RESOURCE_TYPE_NAME() *string
func CfnIPAMAllocation_IsCfnElement ¶ added in v2.2.0
func CfnIPAMAllocation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIPAMAllocation_IsCfnResource ¶ added in v2.2.0
func CfnIPAMAllocation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnIPAMAllocation_IsConstruct ¶ added in v2.2.0
func CfnIPAMAllocation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIPAMPoolCidr_CFN_RESOURCE_TYPE_NAME ¶ added in v2.64.0
func CfnIPAMPoolCidr_CFN_RESOURCE_TYPE_NAME() *string
func CfnIPAMPoolCidr_IsCfnElement ¶ added in v2.64.0
func CfnIPAMPoolCidr_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIPAMPoolCidr_IsCfnResource ¶ added in v2.64.0
func CfnIPAMPoolCidr_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnIPAMPoolCidr_IsConstruct ¶ added in v2.64.0
func CfnIPAMPoolCidr_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIPAMPool_CFN_RESOURCE_TYPE_NAME ¶ added in v2.2.0
func CfnIPAMPool_CFN_RESOURCE_TYPE_NAME() *string
func CfnIPAMPool_IsCfnElement ¶ added in v2.2.0
func CfnIPAMPool_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIPAMPool_IsCfnResource ¶ added in v2.2.0
func CfnIPAMPool_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnIPAMPool_IsConstruct ¶ added in v2.2.0
func CfnIPAMPool_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIPAMResourceDiscoveryAssociation_CFN_RESOURCE_TYPE_NAME ¶ added in v2.64.0
func CfnIPAMResourceDiscoveryAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnIPAMResourceDiscoveryAssociation_IsCfnElement ¶ added in v2.64.0
func CfnIPAMResourceDiscoveryAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIPAMResourceDiscoveryAssociation_IsCfnResource ¶ added in v2.64.0
func CfnIPAMResourceDiscoveryAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnIPAMResourceDiscoveryAssociation_IsConstruct ¶ added in v2.64.0
func CfnIPAMResourceDiscoveryAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIPAMResourceDiscovery_CFN_RESOURCE_TYPE_NAME ¶ added in v2.64.0
func CfnIPAMResourceDiscovery_CFN_RESOURCE_TYPE_NAME() *string
func CfnIPAMResourceDiscovery_IsCfnElement ¶ added in v2.64.0
func CfnIPAMResourceDiscovery_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIPAMResourceDiscovery_IsCfnResource ¶ added in v2.64.0
func CfnIPAMResourceDiscovery_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnIPAMResourceDiscovery_IsConstruct ¶ added in v2.64.0
func CfnIPAMResourceDiscovery_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIPAMScope_CFN_RESOURCE_TYPE_NAME ¶ added in v2.2.0
func CfnIPAMScope_CFN_RESOURCE_TYPE_NAME() *string
func CfnIPAMScope_IsCfnElement ¶ added in v2.2.0
func CfnIPAMScope_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIPAMScope_IsCfnResource ¶ added in v2.2.0
func CfnIPAMScope_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnIPAMScope_IsConstruct ¶ added in v2.2.0
func CfnIPAMScope_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIPAM_CFN_RESOURCE_TYPE_NAME ¶ added in v2.2.0
func CfnIPAM_CFN_RESOURCE_TYPE_NAME() *string
func CfnIPAM_IsCfnElement ¶ added in v2.2.0
func CfnIPAM_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIPAM_IsCfnResource ¶ added in v2.2.0
func CfnIPAM_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnIPAM_IsConstruct ¶ added in v2.2.0
func CfnIPAM_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnInstance_CFN_RESOURCE_TYPE_NAME ¶
func CfnInstance_CFN_RESOURCE_TYPE_NAME() *string
func CfnInstance_IsCfnElement ¶
func CfnInstance_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnInstance_IsCfnResource ¶
func CfnInstance_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnInstance_IsConstruct ¶
func CfnInstance_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnInternetGateway_CFN_RESOURCE_TYPE_NAME ¶
func CfnInternetGateway_CFN_RESOURCE_TYPE_NAME() *string
func CfnInternetGateway_IsCfnElement ¶
func CfnInternetGateway_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnInternetGateway_IsCfnResource ¶
func CfnInternetGateway_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnInternetGateway_IsConstruct ¶
func CfnInternetGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnKeyPair_CFN_RESOURCE_TYPE_NAME ¶ added in v2.25.0
func CfnKeyPair_CFN_RESOURCE_TYPE_NAME() *string
func CfnKeyPair_IsCfnElement ¶ added in v2.25.0
func CfnKeyPair_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnKeyPair_IsCfnResource ¶ added in v2.25.0
func CfnKeyPair_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnKeyPair_IsConstruct ¶ added in v2.25.0
func CfnKeyPair_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnLaunchTemplate_CFN_RESOURCE_TYPE_NAME ¶
func CfnLaunchTemplate_CFN_RESOURCE_TYPE_NAME() *string
func CfnLaunchTemplate_IsCfnElement ¶
func CfnLaunchTemplate_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnLaunchTemplate_IsCfnResource ¶
func CfnLaunchTemplate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLaunchTemplate_IsConstruct ¶
func CfnLaunchTemplate_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnLocalGatewayRouteTableVPCAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnLocalGatewayRouteTableVPCAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnLocalGatewayRouteTableVPCAssociation_IsCfnElement ¶
func CfnLocalGatewayRouteTableVPCAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnLocalGatewayRouteTableVPCAssociation_IsCfnResource ¶
func CfnLocalGatewayRouteTableVPCAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLocalGatewayRouteTableVPCAssociation_IsConstruct ¶
func CfnLocalGatewayRouteTableVPCAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_CFN_RESOURCE_TYPE_NAME ¶ added in v2.70.0
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsCfnElement ¶ added in v2.70.0
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsCfnResource ¶ added in v2.70.0
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsConstruct ¶ added in v2.70.0
func CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnLocalGatewayRouteTable_CFN_RESOURCE_TYPE_NAME ¶ added in v2.70.0
func CfnLocalGatewayRouteTable_CFN_RESOURCE_TYPE_NAME() *string
func CfnLocalGatewayRouteTable_IsCfnElement ¶ added in v2.70.0
func CfnLocalGatewayRouteTable_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnLocalGatewayRouteTable_IsCfnResource ¶ added in v2.70.0
func CfnLocalGatewayRouteTable_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLocalGatewayRouteTable_IsConstruct ¶ added in v2.70.0
func CfnLocalGatewayRouteTable_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnLocalGatewayRoute_CFN_RESOURCE_TYPE_NAME ¶
func CfnLocalGatewayRoute_CFN_RESOURCE_TYPE_NAME() *string
func CfnLocalGatewayRoute_IsCfnElement ¶
func CfnLocalGatewayRoute_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnLocalGatewayRoute_IsCfnResource ¶
func CfnLocalGatewayRoute_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLocalGatewayRoute_IsConstruct ¶
func CfnLocalGatewayRoute_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNatGateway_CFN_RESOURCE_TYPE_NAME ¶
func CfnNatGateway_CFN_RESOURCE_TYPE_NAME() *string
func CfnNatGateway_IsCfnElement ¶
func CfnNatGateway_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNatGateway_IsCfnResource ¶
func CfnNatGateway_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNatGateway_IsConstruct ¶
func CfnNatGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkAclEntry_CFN_RESOURCE_TYPE_NAME ¶
func CfnNetworkAclEntry_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkAclEntry_IsCfnElement ¶
func CfnNetworkAclEntry_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkAclEntry_IsCfnResource ¶
func CfnNetworkAclEntry_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkAclEntry_IsConstruct ¶
func CfnNetworkAclEntry_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkAcl_CFN_RESOURCE_TYPE_NAME ¶
func CfnNetworkAcl_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkAcl_IsCfnElement ¶
func CfnNetworkAcl_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkAcl_IsCfnResource ¶
func CfnNetworkAcl_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkAcl_IsConstruct ¶
func CfnNetworkAcl_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkInsightsAccessScopeAnalysis_CFN_RESOURCE_TYPE_NAME ¶ added in v2.9.0
func CfnNetworkInsightsAccessScopeAnalysis_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkInsightsAccessScopeAnalysis_IsCfnElement ¶ added in v2.9.0
func CfnNetworkInsightsAccessScopeAnalysis_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkInsightsAccessScopeAnalysis_IsCfnResource ¶ added in v2.9.0
func CfnNetworkInsightsAccessScopeAnalysis_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkInsightsAccessScopeAnalysis_IsConstruct ¶ added in v2.9.0
func CfnNetworkInsightsAccessScopeAnalysis_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkInsightsAccessScope_CFN_RESOURCE_TYPE_NAME ¶ added in v2.9.0
func CfnNetworkInsightsAccessScope_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkInsightsAccessScope_IsCfnElement ¶ added in v2.9.0
func CfnNetworkInsightsAccessScope_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkInsightsAccessScope_IsCfnResource ¶ added in v2.9.0
func CfnNetworkInsightsAccessScope_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkInsightsAccessScope_IsConstruct ¶ added in v2.9.0
func CfnNetworkInsightsAccessScope_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkInsightsAnalysis_CFN_RESOURCE_TYPE_NAME ¶
func CfnNetworkInsightsAnalysis_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkInsightsAnalysis_IsCfnElement ¶
func CfnNetworkInsightsAnalysis_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkInsightsAnalysis_IsCfnResource ¶
func CfnNetworkInsightsAnalysis_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkInsightsAnalysis_IsConstruct ¶
func CfnNetworkInsightsAnalysis_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkInsightsPath_CFN_RESOURCE_TYPE_NAME ¶
func CfnNetworkInsightsPath_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkInsightsPath_IsCfnElement ¶
func CfnNetworkInsightsPath_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkInsightsPath_IsCfnResource ¶
func CfnNetworkInsightsPath_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkInsightsPath_IsConstruct ¶
func CfnNetworkInsightsPath_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkInterfaceAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnNetworkInterfaceAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkInterfaceAttachment_IsCfnElement ¶
func CfnNetworkInterfaceAttachment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkInterfaceAttachment_IsCfnResource ¶
func CfnNetworkInterfaceAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkInterfaceAttachment_IsConstruct ¶
func CfnNetworkInterfaceAttachment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkInterfacePermission_CFN_RESOURCE_TYPE_NAME ¶
func CfnNetworkInterfacePermission_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkInterfacePermission_IsCfnElement ¶
func CfnNetworkInterfacePermission_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkInterfacePermission_IsCfnResource ¶
func CfnNetworkInterfacePermission_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkInterfacePermission_IsConstruct ¶
func CfnNetworkInterfacePermission_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkInterface_CFN_RESOURCE_TYPE_NAME ¶
func CfnNetworkInterface_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkInterface_IsCfnElement ¶
func CfnNetworkInterface_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkInterface_IsCfnResource ¶
func CfnNetworkInterface_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkInterface_IsConstruct ¶
func CfnNetworkInterface_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnNetworkPerformanceMetricSubscription_CFN_RESOURCE_TYPE_NAME ¶ added in v2.55.0
func CfnNetworkPerformanceMetricSubscription_CFN_RESOURCE_TYPE_NAME() *string
func CfnNetworkPerformanceMetricSubscription_IsCfnElement ¶ added in v2.55.0
func CfnNetworkPerformanceMetricSubscription_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnNetworkPerformanceMetricSubscription_IsCfnResource ¶ added in v2.55.0
func CfnNetworkPerformanceMetricSubscription_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnNetworkPerformanceMetricSubscription_IsConstruct ¶ added in v2.55.0
func CfnNetworkPerformanceMetricSubscription_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnPlacementGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnPlacementGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnPlacementGroup_IsCfnElement ¶
func CfnPlacementGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnPlacementGroup_IsCfnResource ¶
func CfnPlacementGroup_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnPlacementGroup_IsConstruct ¶
func CfnPlacementGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnPrefixList_CFN_RESOURCE_TYPE_NAME ¶
func CfnPrefixList_CFN_RESOURCE_TYPE_NAME() *string
func CfnPrefixList_IsCfnElement ¶
func CfnPrefixList_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnPrefixList_IsCfnResource ¶
func CfnPrefixList_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnPrefixList_IsConstruct ¶
func CfnPrefixList_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnRouteTable_CFN_RESOURCE_TYPE_NAME ¶
func CfnRouteTable_CFN_RESOURCE_TYPE_NAME() *string
func CfnRouteTable_IsCfnElement ¶
func CfnRouteTable_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnRouteTable_IsCfnResource ¶
func CfnRouteTable_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnRouteTable_IsConstruct ¶
func CfnRouteTable_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnRoute_CFN_RESOURCE_TYPE_NAME ¶
func CfnRoute_CFN_RESOURCE_TYPE_NAME() *string
func CfnRoute_IsCfnElement ¶
func CfnRoute_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnRoute_IsCfnResource ¶
func CfnRoute_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnRoute_IsConstruct ¶
func CfnRoute_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSecurityGroupEgress_CFN_RESOURCE_TYPE_NAME ¶
func CfnSecurityGroupEgress_CFN_RESOURCE_TYPE_NAME() *string
func CfnSecurityGroupEgress_IsCfnElement ¶
func CfnSecurityGroupEgress_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSecurityGroupEgress_IsCfnResource ¶
func CfnSecurityGroupEgress_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSecurityGroupEgress_IsConstruct ¶
func CfnSecurityGroupEgress_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME ¶
func CfnSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME() *string
func CfnSecurityGroupIngress_IsCfnElement ¶
func CfnSecurityGroupIngress_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSecurityGroupIngress_IsCfnResource ¶
func CfnSecurityGroupIngress_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSecurityGroupIngress_IsConstruct ¶
func CfnSecurityGroupIngress_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSecurityGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnSecurityGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnSecurityGroup_IsCfnElement ¶
func CfnSecurityGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSecurityGroup_IsCfnResource ¶
func CfnSecurityGroup_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSecurityGroup_IsConstruct ¶
func CfnSecurityGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSpotFleet_CFN_RESOURCE_TYPE_NAME ¶
func CfnSpotFleet_CFN_RESOURCE_TYPE_NAME() *string
func CfnSpotFleet_IsCfnElement ¶
func CfnSpotFleet_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSpotFleet_IsCfnResource ¶
func CfnSpotFleet_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSpotFleet_IsConstruct ¶
func CfnSpotFleet_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSubnetCidrBlock_CFN_RESOURCE_TYPE_NAME ¶
func CfnSubnetCidrBlock_CFN_RESOURCE_TYPE_NAME() *string
func CfnSubnetCidrBlock_IsCfnElement ¶
func CfnSubnetCidrBlock_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSubnetCidrBlock_IsCfnResource ¶
func CfnSubnetCidrBlock_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSubnetCidrBlock_IsConstruct ¶
func CfnSubnetCidrBlock_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSubnetNetworkAclAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnSubnetNetworkAclAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnSubnetNetworkAclAssociation_IsCfnElement ¶
func CfnSubnetNetworkAclAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSubnetNetworkAclAssociation_IsCfnResource ¶
func CfnSubnetNetworkAclAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSubnetNetworkAclAssociation_IsConstruct ¶
func CfnSubnetNetworkAclAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSubnetRouteTableAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnSubnetRouteTableAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnSubnetRouteTableAssociation_IsCfnElement ¶
func CfnSubnetRouteTableAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSubnetRouteTableAssociation_IsCfnResource ¶
func CfnSubnetRouteTableAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSubnetRouteTableAssociation_IsConstruct ¶
func CfnSubnetRouteTableAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnSubnet_CFN_RESOURCE_TYPE_NAME ¶
func CfnSubnet_CFN_RESOURCE_TYPE_NAME() *string
func CfnSubnet_IsCfnElement ¶
func CfnSubnet_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnSubnet_IsCfnResource ¶
func CfnSubnet_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSubnet_IsConstruct ¶
func CfnSubnet_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTrafficMirrorFilterRule_CFN_RESOURCE_TYPE_NAME ¶
func CfnTrafficMirrorFilterRule_CFN_RESOURCE_TYPE_NAME() *string
func CfnTrafficMirrorFilterRule_IsCfnElement ¶
func CfnTrafficMirrorFilterRule_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTrafficMirrorFilterRule_IsCfnResource ¶
func CfnTrafficMirrorFilterRule_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTrafficMirrorFilterRule_IsConstruct ¶
func CfnTrafficMirrorFilterRule_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTrafficMirrorFilter_CFN_RESOURCE_TYPE_NAME ¶
func CfnTrafficMirrorFilter_CFN_RESOURCE_TYPE_NAME() *string
func CfnTrafficMirrorFilter_IsCfnElement ¶
func CfnTrafficMirrorFilter_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTrafficMirrorFilter_IsCfnResource ¶
func CfnTrafficMirrorFilter_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTrafficMirrorFilter_IsConstruct ¶
func CfnTrafficMirrorFilter_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTrafficMirrorSession_CFN_RESOURCE_TYPE_NAME ¶
func CfnTrafficMirrorSession_CFN_RESOURCE_TYPE_NAME() *string
func CfnTrafficMirrorSession_IsCfnElement ¶
func CfnTrafficMirrorSession_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTrafficMirrorSession_IsCfnResource ¶
func CfnTrafficMirrorSession_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTrafficMirrorSession_IsConstruct ¶
func CfnTrafficMirrorSession_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTrafficMirrorTarget_CFN_RESOURCE_TYPE_NAME ¶
func CfnTrafficMirrorTarget_CFN_RESOURCE_TYPE_NAME() *string
func CfnTrafficMirrorTarget_IsCfnElement ¶
func CfnTrafficMirrorTarget_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTrafficMirrorTarget_IsCfnResource ¶
func CfnTrafficMirrorTarget_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTrafficMirrorTarget_IsConstruct ¶
func CfnTrafficMirrorTarget_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayAttachment_IsCfnElement ¶
func CfnTransitGatewayAttachment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayAttachment_IsCfnResource ¶
func CfnTransitGatewayAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayAttachment_IsConstruct ¶
func CfnTransitGatewayAttachment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayConnect_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayConnect_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayConnect_IsCfnElement ¶
func CfnTransitGatewayConnect_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayConnect_IsCfnResource ¶
func CfnTransitGatewayConnect_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayConnect_IsConstruct ¶
func CfnTransitGatewayConnect_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayMulticastDomainAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayMulticastDomainAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayMulticastDomainAssociation_IsCfnElement ¶
func CfnTransitGatewayMulticastDomainAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayMulticastDomainAssociation_IsCfnResource ¶
func CfnTransitGatewayMulticastDomainAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayMulticastDomainAssociation_IsConstruct ¶
func CfnTransitGatewayMulticastDomainAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayMulticastDomain_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayMulticastDomain_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayMulticastDomain_IsCfnElement ¶
func CfnTransitGatewayMulticastDomain_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayMulticastDomain_IsCfnResource ¶
func CfnTransitGatewayMulticastDomain_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayMulticastDomain_IsConstruct ¶
func CfnTransitGatewayMulticastDomain_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayMulticastGroupMember_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayMulticastGroupMember_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayMulticastGroupMember_IsCfnElement ¶
func CfnTransitGatewayMulticastGroupMember_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayMulticastGroupMember_IsCfnResource ¶
func CfnTransitGatewayMulticastGroupMember_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayMulticastGroupMember_IsConstruct ¶
func CfnTransitGatewayMulticastGroupMember_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayMulticastGroupSource_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayMulticastGroupSource_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayMulticastGroupSource_IsCfnElement ¶
func CfnTransitGatewayMulticastGroupSource_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayMulticastGroupSource_IsCfnResource ¶
func CfnTransitGatewayMulticastGroupSource_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayMulticastGroupSource_IsConstruct ¶
func CfnTransitGatewayMulticastGroupSource_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayPeeringAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayPeeringAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayPeeringAttachment_IsCfnElement ¶
func CfnTransitGatewayPeeringAttachment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayPeeringAttachment_IsCfnResource ¶
func CfnTransitGatewayPeeringAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayPeeringAttachment_IsConstruct ¶
func CfnTransitGatewayPeeringAttachment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayRouteTableAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayRouteTableAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayRouteTableAssociation_IsCfnElement ¶
func CfnTransitGatewayRouteTableAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayRouteTableAssociation_IsCfnResource ¶
func CfnTransitGatewayRouteTableAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayRouteTableAssociation_IsConstruct ¶
func CfnTransitGatewayRouteTableAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayRouteTablePropagation_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayRouteTablePropagation_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayRouteTablePropagation_IsCfnElement ¶
func CfnTransitGatewayRouteTablePropagation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayRouteTablePropagation_IsCfnResource ¶
func CfnTransitGatewayRouteTablePropagation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayRouteTablePropagation_IsConstruct ¶
func CfnTransitGatewayRouteTablePropagation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayRouteTable_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayRouteTable_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayRouteTable_IsCfnElement ¶
func CfnTransitGatewayRouteTable_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayRouteTable_IsCfnResource ¶
func CfnTransitGatewayRouteTable_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayRouteTable_IsConstruct ¶
func CfnTransitGatewayRouteTable_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayRoute_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayRoute_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayRoute_IsCfnElement ¶
func CfnTransitGatewayRoute_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayRoute_IsCfnResource ¶
func CfnTransitGatewayRoute_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayRoute_IsConstruct ¶
func CfnTransitGatewayRoute_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGatewayVpcAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGatewayVpcAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGatewayVpcAttachment_IsCfnElement ¶
func CfnTransitGatewayVpcAttachment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGatewayVpcAttachment_IsCfnResource ¶
func CfnTransitGatewayVpcAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGatewayVpcAttachment_IsConstruct ¶
func CfnTransitGatewayVpcAttachment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnTransitGateway_CFN_RESOURCE_TYPE_NAME ¶
func CfnTransitGateway_CFN_RESOURCE_TYPE_NAME() *string
func CfnTransitGateway_IsCfnElement ¶
func CfnTransitGateway_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnTransitGateway_IsCfnResource ¶
func CfnTransitGateway_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTransitGateway_IsConstruct ¶
func CfnTransitGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCCidrBlock_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCCidrBlock_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCCidrBlock_IsCfnElement ¶
func CfnVPCCidrBlock_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCCidrBlock_IsCfnResource ¶
func CfnVPCCidrBlock_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCCidrBlock_IsConstruct ¶
func CfnVPCCidrBlock_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCDHCPOptionsAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCDHCPOptionsAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCDHCPOptionsAssociation_IsCfnElement ¶
func CfnVPCDHCPOptionsAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCDHCPOptionsAssociation_IsCfnResource ¶
func CfnVPCDHCPOptionsAssociation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCDHCPOptionsAssociation_IsConstruct ¶
func CfnVPCDHCPOptionsAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCEndpointConnectionNotification_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCEndpointConnectionNotification_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCEndpointConnectionNotification_IsCfnElement ¶
func CfnVPCEndpointConnectionNotification_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCEndpointConnectionNotification_IsCfnResource ¶
func CfnVPCEndpointConnectionNotification_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCEndpointConnectionNotification_IsConstruct ¶
func CfnVPCEndpointConnectionNotification_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCEndpointServicePermissions_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCEndpointServicePermissions_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCEndpointServicePermissions_IsCfnElement ¶
func CfnVPCEndpointServicePermissions_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCEndpointServicePermissions_IsCfnResource ¶
func CfnVPCEndpointServicePermissions_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCEndpointServicePermissions_IsConstruct ¶
func CfnVPCEndpointServicePermissions_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCEndpointService_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCEndpointService_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCEndpointService_IsCfnElement ¶
func CfnVPCEndpointService_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCEndpointService_IsCfnResource ¶
func CfnVPCEndpointService_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCEndpointService_IsConstruct ¶
func CfnVPCEndpointService_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCEndpoint_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCEndpoint_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCEndpoint_IsCfnElement ¶
func CfnVPCEndpoint_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCEndpoint_IsCfnResource ¶
func CfnVPCEndpoint_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCEndpoint_IsConstruct ¶
func CfnVPCEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCGatewayAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCGatewayAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCGatewayAttachment_IsCfnElement ¶
func CfnVPCGatewayAttachment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCGatewayAttachment_IsCfnResource ¶
func CfnVPCGatewayAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCGatewayAttachment_IsConstruct ¶
func CfnVPCGatewayAttachment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPCPeeringConnection_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPCPeeringConnection_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPCPeeringConnection_IsCfnElement ¶
func CfnVPCPeeringConnection_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPCPeeringConnection_IsCfnResource ¶
func CfnVPCPeeringConnection_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPCPeeringConnection_IsConstruct ¶
func CfnVPCPeeringConnection_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPC_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPC_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPC_IsCfnElement ¶
func CfnVPC_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPC_IsCfnResource ¶
func CfnVPC_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPC_IsConstruct ¶
func CfnVPC_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPNConnectionRoute_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPNConnectionRoute_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPNConnectionRoute_IsCfnElement ¶
func CfnVPNConnectionRoute_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPNConnectionRoute_IsCfnResource ¶
func CfnVPNConnectionRoute_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPNConnectionRoute_IsConstruct ¶
func CfnVPNConnectionRoute_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPNConnection_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPNConnection_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPNConnection_IsCfnElement ¶
func CfnVPNConnection_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPNConnection_IsCfnResource ¶
func CfnVPNConnection_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPNConnection_IsConstruct ¶
func CfnVPNConnection_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPNGatewayRoutePropagation_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPNGatewayRoutePropagation_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPNGatewayRoutePropagation_IsCfnElement ¶
func CfnVPNGatewayRoutePropagation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPNGatewayRoutePropagation_IsCfnResource ¶
func CfnVPNGatewayRoutePropagation_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPNGatewayRoutePropagation_IsConstruct ¶
func CfnVPNGatewayRoutePropagation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVPNGateway_CFN_RESOURCE_TYPE_NAME ¶
func CfnVPNGateway_CFN_RESOURCE_TYPE_NAME() *string
func CfnVPNGateway_IsCfnElement ¶
func CfnVPNGateway_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVPNGateway_IsCfnResource ¶
func CfnVPNGateway_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVPNGateway_IsConstruct ¶
func CfnVPNGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVerifiedAccessEndpoint_CFN_RESOURCE_TYPE_NAME ¶ added in v2.80.0
func CfnVerifiedAccessEndpoint_CFN_RESOURCE_TYPE_NAME() *string
func CfnVerifiedAccessEndpoint_IsCfnElement ¶ added in v2.80.0
func CfnVerifiedAccessEndpoint_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVerifiedAccessEndpoint_IsCfnResource ¶ added in v2.80.0
func CfnVerifiedAccessEndpoint_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVerifiedAccessEndpoint_IsConstruct ¶ added in v2.80.0
func CfnVerifiedAccessEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVerifiedAccessGroup_CFN_RESOURCE_TYPE_NAME ¶ added in v2.80.0
func CfnVerifiedAccessGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnVerifiedAccessGroup_IsCfnElement ¶ added in v2.80.0
func CfnVerifiedAccessGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVerifiedAccessGroup_IsCfnResource ¶ added in v2.80.0
func CfnVerifiedAccessGroup_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVerifiedAccessGroup_IsConstruct ¶ added in v2.80.0
func CfnVerifiedAccessGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVerifiedAccessInstance_CFN_RESOURCE_TYPE_NAME ¶ added in v2.79.0
func CfnVerifiedAccessInstance_CFN_RESOURCE_TYPE_NAME() *string
func CfnVerifiedAccessInstance_IsCfnElement ¶ added in v2.79.0
func CfnVerifiedAccessInstance_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVerifiedAccessInstance_IsCfnResource ¶ added in v2.79.0
func CfnVerifiedAccessInstance_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVerifiedAccessInstance_IsConstruct ¶ added in v2.79.0
func CfnVerifiedAccessInstance_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVerifiedAccessTrustProvider_CFN_RESOURCE_TYPE_NAME ¶ added in v2.80.0
func CfnVerifiedAccessTrustProvider_CFN_RESOURCE_TYPE_NAME() *string
func CfnVerifiedAccessTrustProvider_IsCfnElement ¶ added in v2.80.0
func CfnVerifiedAccessTrustProvider_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVerifiedAccessTrustProvider_IsCfnResource ¶ added in v2.80.0
func CfnVerifiedAccessTrustProvider_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVerifiedAccessTrustProvider_IsConstruct ¶ added in v2.80.0
func CfnVerifiedAccessTrustProvider_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVolumeAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnVolumeAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnVolumeAttachment_IsCfnElement ¶
func CfnVolumeAttachment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVolumeAttachment_IsCfnResource ¶
func CfnVolumeAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVolumeAttachment_IsConstruct ¶
func CfnVolumeAttachment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnVolume_CFN_RESOURCE_TYPE_NAME ¶
func CfnVolume_CFN_RESOURCE_TYPE_NAME() *string
func CfnVolume_IsCfnElement ¶
func CfnVolume_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVolume_IsCfnResource ¶
func CfnVolume_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVolume_IsConstruct ¶
func CfnVolume_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ClientVpnAuthorizationRule_IsConstruct ¶
func ClientVpnAuthorizationRule_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ClientVpnAuthorizationRule_IsOwnedResource ¶ added in v2.32.0
func ClientVpnAuthorizationRule_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func ClientVpnAuthorizationRule_IsResource ¶
func ClientVpnAuthorizationRule_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ClientVpnEndpoint_IsConstruct ¶
func ClientVpnEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ClientVpnEndpoint_IsOwnedResource ¶ added in v2.32.0
func ClientVpnEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func ClientVpnEndpoint_IsResource ¶
func ClientVpnEndpoint_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ClientVpnRoute_IsConstruct ¶
func ClientVpnRoute_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ClientVpnRoute_IsOwnedResource ¶ added in v2.32.0
func ClientVpnRoute_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func ClientVpnRoute_IsResource ¶
func ClientVpnRoute_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func FlowLog_IsConstruct ¶
func FlowLog_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func FlowLog_IsOwnedResource ¶ added in v2.32.0
func FlowLog_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func FlowLog_IsResource ¶
func FlowLog_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func GatewayVpcEndpoint_IsConstruct ¶
func GatewayVpcEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func GatewayVpcEndpoint_IsOwnedResource ¶ added in v2.32.0
func GatewayVpcEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func GatewayVpcEndpoint_IsResource ¶
func GatewayVpcEndpoint_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Instance_IsConstruct ¶
func Instance_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Instance_IsOwnedResource ¶ added in v2.32.0
func Instance_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Instance_IsResource ¶
func Instance_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func InterfaceVpcEndpoint_IsConstruct ¶
func InterfaceVpcEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func InterfaceVpcEndpoint_IsOwnedResource ¶ added in v2.32.0
func InterfaceVpcEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func InterfaceVpcEndpoint_IsResource ¶
func InterfaceVpcEndpoint_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func LaunchTemplateSpecialVersions_DEFAULT_VERSION ¶
func LaunchTemplateSpecialVersions_DEFAULT_VERSION() *string
func LaunchTemplateSpecialVersions_LATEST_VERSION ¶
func LaunchTemplateSpecialVersions_LATEST_VERSION() *string
func LaunchTemplate_IsConstruct ¶
func LaunchTemplate_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func LaunchTemplate_IsOwnedResource ¶ added in v2.32.0
func LaunchTemplate_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func LaunchTemplate_IsResource ¶
func LaunchTemplate_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func MultipartBody_CLOUD_BOOTHOOK ¶
func MultipartBody_CLOUD_BOOTHOOK() *string
func MultipartBody_SHELL_SCRIPT ¶
func MultipartBody_SHELL_SCRIPT() *string
func NetworkAclEntry_IsConstruct ¶
func NetworkAclEntry_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NetworkAclEntry_IsOwnedResource ¶ added in v2.32.0
func NetworkAclEntry_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func NetworkAclEntry_IsResource ¶
func NetworkAclEntry_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func NetworkAcl_IsConstruct ¶
func NetworkAcl_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NetworkAcl_IsOwnedResource ¶ added in v2.32.0
func NetworkAcl_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func NetworkAcl_IsResource ¶
func NetworkAcl_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func NewAclCidr_Override ¶
func NewAclCidr_Override(a AclCidr)
func NewAclTraffic_Override ¶
func NewAclTraffic_Override(a AclTraffic)
func NewAmazonLinux2022ImageSsmParameter_Override ¶ added in v2.76.0
func NewAmazonLinux2022ImageSsmParameter_Override(a AmazonLinux2022ImageSsmParameter, props *AmazonLinux2022ImageSsmParameterProps)
func NewAmazonLinux2022Kernel_Override ¶ added in v2.76.0
func NewAmazonLinux2022Kernel_Override(a AmazonLinux2022Kernel, version *string)
func NewAmazonLinux2023ImageSsmParameter_Override ¶ added in v2.76.0
func NewAmazonLinux2023ImageSsmParameter_Override(a AmazonLinux2023ImageSsmParameter, props *AmazonLinux2023ImageSsmParameterProps)
func NewAmazonLinux2023Kernel_Override ¶ added in v2.76.0
func NewAmazonLinux2023Kernel_Override(a AmazonLinux2023Kernel, version *string)
func NewAmazonLinux2ImageSsmParameter_Override ¶ added in v2.76.0
func NewAmazonLinux2ImageSsmParameter_Override(a AmazonLinux2ImageSsmParameter, props *AmazonLinux2ImageSsmParameterProps)
func NewAmazonLinux2Kernel_Override ¶ added in v2.76.0
func NewAmazonLinux2Kernel_Override(a AmazonLinux2Kernel, version *string)
func NewAmazonLinuxImageSsmParameterBase_Override ¶ added in v2.76.0
func NewAmazonLinuxImageSsmParameterBase_Override(a AmazonLinuxImageSsmParameterBase, props *AmazonLinuxImageSsmParameterBaseProps)
func NewAmazonLinuxImage_Override ¶
func NewAmazonLinuxImage_Override(a AmazonLinuxImage, props *AmazonLinuxImageProps)
func NewBastionHostLinux_Override ¶
func NewBastionHostLinux_Override(b BastionHostLinux, scope constructs.Construct, id *string, props *BastionHostLinuxProps)
func NewBlockDeviceVolume_Override ¶
func NewBlockDeviceVolume_Override(b BlockDeviceVolume, ebsDevice *EbsDeviceProps, virtualName *string)
func NewCfnCapacityReservationFleet_Override ¶
func NewCfnCapacityReservationFleet_Override(c CfnCapacityReservationFleet, scope constructs.Construct, id *string, props *CfnCapacityReservationFleetProps)
Create a new `AWS::EC2::CapacityReservationFleet`.
func NewCfnCapacityReservation_Override ¶
func NewCfnCapacityReservation_Override(c CfnCapacityReservation, scope constructs.Construct, id *string, props *CfnCapacityReservationProps)
Create a new `AWS::EC2::CapacityReservation`.
func NewCfnCarrierGateway_Override ¶
func NewCfnCarrierGateway_Override(c CfnCarrierGateway, scope constructs.Construct, id *string, props *CfnCarrierGatewayProps)
Create a new `AWS::EC2::CarrierGateway`.
func NewCfnClientVpnAuthorizationRule_Override ¶
func NewCfnClientVpnAuthorizationRule_Override(c CfnClientVpnAuthorizationRule, scope constructs.Construct, id *string, props *CfnClientVpnAuthorizationRuleProps)
Create a new `AWS::EC2::ClientVpnAuthorizationRule`.
func NewCfnClientVpnEndpoint_Override ¶
func NewCfnClientVpnEndpoint_Override(c CfnClientVpnEndpoint, scope constructs.Construct, id *string, props *CfnClientVpnEndpointProps)
Create a new `AWS::EC2::ClientVpnEndpoint`.
func NewCfnClientVpnRoute_Override ¶
func NewCfnClientVpnRoute_Override(c CfnClientVpnRoute, scope constructs.Construct, id *string, props *CfnClientVpnRouteProps)
Create a new `AWS::EC2::ClientVpnRoute`.
func NewCfnClientVpnTargetNetworkAssociation_Override ¶
func NewCfnClientVpnTargetNetworkAssociation_Override(c CfnClientVpnTargetNetworkAssociation, scope constructs.Construct, id *string, props *CfnClientVpnTargetNetworkAssociationProps)
Create a new `AWS::EC2::ClientVpnTargetNetworkAssociation`.
func NewCfnCustomerGateway_Override ¶
func NewCfnCustomerGateway_Override(c CfnCustomerGateway, scope constructs.Construct, id *string, props *CfnCustomerGatewayProps)
Create a new `AWS::EC2::CustomerGateway`.
func NewCfnDHCPOptions_Override ¶
func NewCfnDHCPOptions_Override(c CfnDHCPOptions, scope constructs.Construct, id *string, props *CfnDHCPOptionsProps)
Create a new `AWS::EC2::DHCPOptions`.
func NewCfnEC2Fleet_Override ¶
func NewCfnEC2Fleet_Override(c CfnEC2Fleet, scope constructs.Construct, id *string, props *CfnEC2FleetProps)
Create a new `AWS::EC2::EC2Fleet`.
func NewCfnEIPAssociation_Override ¶
func NewCfnEIPAssociation_Override(c CfnEIPAssociation, scope constructs.Construct, id *string, props *CfnEIPAssociationProps)
Create a new `AWS::EC2::EIPAssociation`.
func NewCfnEIP_Override ¶
func NewCfnEIP_Override(c CfnEIP, scope constructs.Construct, id *string, props *CfnEIPProps)
Create a new `AWS::EC2::EIP`.
func NewCfnEgressOnlyInternetGateway_Override ¶
func NewCfnEgressOnlyInternetGateway_Override(c CfnEgressOnlyInternetGateway, scope constructs.Construct, id *string, props *CfnEgressOnlyInternetGatewayProps)
Create a new `AWS::EC2::EgressOnlyInternetGateway`.
func NewCfnEnclaveCertificateIamRoleAssociation_Override ¶
func NewCfnEnclaveCertificateIamRoleAssociation_Override(c CfnEnclaveCertificateIamRoleAssociation, scope constructs.Construct, id *string, props *CfnEnclaveCertificateIamRoleAssociationProps)
Create a new `AWS::EC2::EnclaveCertificateIamRoleAssociation`.
func NewCfnFlowLog_Override ¶
func NewCfnFlowLog_Override(c CfnFlowLog, scope constructs.Construct, id *string, props *CfnFlowLogProps)
Create a new `AWS::EC2::FlowLog`.
func NewCfnGatewayRouteTableAssociation_Override ¶
func NewCfnGatewayRouteTableAssociation_Override(c CfnGatewayRouteTableAssociation, scope constructs.Construct, id *string, props *CfnGatewayRouteTableAssociationProps)
Create a new `AWS::EC2::GatewayRouteTableAssociation`.
func NewCfnHost_Override ¶
func NewCfnHost_Override(c CfnHost, scope constructs.Construct, id *string, props *CfnHostProps)
Create a new `AWS::EC2::Host`.
func NewCfnIPAMAllocation_Override ¶ added in v2.2.0
func NewCfnIPAMAllocation_Override(c CfnIPAMAllocation, scope constructs.Construct, id *string, props *CfnIPAMAllocationProps)
Create a new `AWS::EC2::IPAMAllocation`.
func NewCfnIPAMPoolCidr_Override ¶ added in v2.64.0
func NewCfnIPAMPoolCidr_Override(c CfnIPAMPoolCidr, scope constructs.Construct, id *string, props *CfnIPAMPoolCidrProps)
Create a new `AWS::EC2::IPAMPoolCidr`.
func NewCfnIPAMPool_Override ¶ added in v2.2.0
func NewCfnIPAMPool_Override(c CfnIPAMPool, scope constructs.Construct, id *string, props *CfnIPAMPoolProps)
Create a new `AWS::EC2::IPAMPool`.
func NewCfnIPAMResourceDiscoveryAssociation_Override ¶ added in v2.64.0
func NewCfnIPAMResourceDiscoveryAssociation_Override(c CfnIPAMResourceDiscoveryAssociation, scope constructs.Construct, id *string, props *CfnIPAMResourceDiscoveryAssociationProps)
Create a new `AWS::EC2::IPAMResourceDiscoveryAssociation`.
func NewCfnIPAMResourceDiscovery_Override ¶ added in v2.64.0
func NewCfnIPAMResourceDiscovery_Override(c CfnIPAMResourceDiscovery, scope constructs.Construct, id *string, props *CfnIPAMResourceDiscoveryProps)
Create a new `AWS::EC2::IPAMResourceDiscovery`.
func NewCfnIPAMScope_Override ¶ added in v2.2.0
func NewCfnIPAMScope_Override(c CfnIPAMScope, scope constructs.Construct, id *string, props *CfnIPAMScopeProps)
Create a new `AWS::EC2::IPAMScope`.
func NewCfnIPAM_Override ¶ added in v2.2.0
func NewCfnIPAM_Override(c CfnIPAM, scope constructs.Construct, id *string, props *CfnIPAMProps)
Create a new `AWS::EC2::IPAM`.
func NewCfnInstance_Override ¶
func NewCfnInstance_Override(c CfnInstance, scope constructs.Construct, id *string, props *CfnInstanceProps)
Create a new `AWS::EC2::Instance`.
func NewCfnInternetGateway_Override ¶
func NewCfnInternetGateway_Override(c CfnInternetGateway, scope constructs.Construct, id *string, props *CfnInternetGatewayProps)
Create a new `AWS::EC2::InternetGateway`.
func NewCfnKeyPair_Override ¶ added in v2.25.0
func NewCfnKeyPair_Override(c CfnKeyPair, scope constructs.Construct, id *string, props *CfnKeyPairProps)
Create a new `AWS::EC2::KeyPair`.
func NewCfnLaunchTemplate_Override ¶
func NewCfnLaunchTemplate_Override(c CfnLaunchTemplate, scope constructs.Construct, id *string, props *CfnLaunchTemplateProps)
Create a new `AWS::EC2::LaunchTemplate`.
func NewCfnLocalGatewayRouteTableVPCAssociation_Override ¶
func NewCfnLocalGatewayRouteTableVPCAssociation_Override(c CfnLocalGatewayRouteTableVPCAssociation, scope constructs.Construct, id *string, props *CfnLocalGatewayRouteTableVPCAssociationProps)
Create a new `AWS::EC2::LocalGatewayRouteTableVPCAssociation`.
func NewCfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_Override ¶ added in v2.70.0
func NewCfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation_Override(c CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation, scope constructs.Construct, id *string, props *CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps)
Create a new `AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation`.
func NewCfnLocalGatewayRouteTable_Override ¶ added in v2.70.0
func NewCfnLocalGatewayRouteTable_Override(c CfnLocalGatewayRouteTable, scope constructs.Construct, id *string, props *CfnLocalGatewayRouteTableProps)
Create a new `AWS::EC2::LocalGatewayRouteTable`.
func NewCfnLocalGatewayRoute_Override ¶
func NewCfnLocalGatewayRoute_Override(c CfnLocalGatewayRoute, scope constructs.Construct, id *string, props *CfnLocalGatewayRouteProps)
Create a new `AWS::EC2::LocalGatewayRoute`.
func NewCfnNatGateway_Override ¶
func NewCfnNatGateway_Override(c CfnNatGateway, scope constructs.Construct, id *string, props *CfnNatGatewayProps)
Create a new `AWS::EC2::NatGateway`.
func NewCfnNetworkAclEntry_Override ¶
func NewCfnNetworkAclEntry_Override(c CfnNetworkAclEntry, scope constructs.Construct, id *string, props *CfnNetworkAclEntryProps)
Create a new `AWS::EC2::NetworkAclEntry`.
func NewCfnNetworkAcl_Override ¶
func NewCfnNetworkAcl_Override(c CfnNetworkAcl, scope constructs.Construct, id *string, props *CfnNetworkAclProps)
Create a new `AWS::EC2::NetworkAcl`.
func NewCfnNetworkInsightsAccessScopeAnalysis_Override ¶ added in v2.9.0
func NewCfnNetworkInsightsAccessScopeAnalysis_Override(c CfnNetworkInsightsAccessScopeAnalysis, scope constructs.Construct, id *string, props *CfnNetworkInsightsAccessScopeAnalysisProps)
Create a new `AWS::EC2::NetworkInsightsAccessScopeAnalysis`.
func NewCfnNetworkInsightsAccessScope_Override ¶ added in v2.9.0
func NewCfnNetworkInsightsAccessScope_Override(c CfnNetworkInsightsAccessScope, scope constructs.Construct, id *string, props *CfnNetworkInsightsAccessScopeProps)
Create a new `AWS::EC2::NetworkInsightsAccessScope`.
func NewCfnNetworkInsightsAnalysis_Override ¶
func NewCfnNetworkInsightsAnalysis_Override(c CfnNetworkInsightsAnalysis, scope constructs.Construct, id *string, props *CfnNetworkInsightsAnalysisProps)
Create a new `AWS::EC2::NetworkInsightsAnalysis`.
func NewCfnNetworkInsightsPath_Override ¶
func NewCfnNetworkInsightsPath_Override(c CfnNetworkInsightsPath, scope constructs.Construct, id *string, props *CfnNetworkInsightsPathProps)
Create a new `AWS::EC2::NetworkInsightsPath`.
func NewCfnNetworkInterfaceAttachment_Override ¶
func NewCfnNetworkInterfaceAttachment_Override(c CfnNetworkInterfaceAttachment, scope constructs.Construct, id *string, props *CfnNetworkInterfaceAttachmentProps)
Create a new `AWS::EC2::NetworkInterfaceAttachment`.
func NewCfnNetworkInterfacePermission_Override ¶
func NewCfnNetworkInterfacePermission_Override(c CfnNetworkInterfacePermission, scope constructs.Construct, id *string, props *CfnNetworkInterfacePermissionProps)
Create a new `AWS::EC2::NetworkInterfacePermission`.
func NewCfnNetworkInterface_Override ¶
func NewCfnNetworkInterface_Override(c CfnNetworkInterface, scope constructs.Construct, id *string, props *CfnNetworkInterfaceProps)
Create a new `AWS::EC2::NetworkInterface`.
func NewCfnNetworkPerformanceMetricSubscription_Override ¶ added in v2.55.0
func NewCfnNetworkPerformanceMetricSubscription_Override(c CfnNetworkPerformanceMetricSubscription, scope constructs.Construct, id *string, props *CfnNetworkPerformanceMetricSubscriptionProps)
Create a new `AWS::EC2::NetworkPerformanceMetricSubscription`.
func NewCfnPlacementGroup_Override ¶
func NewCfnPlacementGroup_Override(c CfnPlacementGroup, scope constructs.Construct, id *string, props *CfnPlacementGroupProps)
Create a new `AWS::EC2::PlacementGroup`.
func NewCfnPrefixList_Override ¶
func NewCfnPrefixList_Override(c CfnPrefixList, scope constructs.Construct, id *string, props *CfnPrefixListProps)
Create a new `AWS::EC2::PrefixList`.
func NewCfnRouteTable_Override ¶
func NewCfnRouteTable_Override(c CfnRouteTable, scope constructs.Construct, id *string, props *CfnRouteTableProps)
Create a new `AWS::EC2::RouteTable`.
func NewCfnRoute_Override ¶
func NewCfnRoute_Override(c CfnRoute, scope constructs.Construct, id *string, props *CfnRouteProps)
Create a new `AWS::EC2::Route`.
func NewCfnSecurityGroupEgress_Override ¶
func NewCfnSecurityGroupEgress_Override(c CfnSecurityGroupEgress, scope constructs.Construct, id *string, props *CfnSecurityGroupEgressProps)
Create a new `AWS::EC2::SecurityGroupEgress`.
func NewCfnSecurityGroupIngress_Override ¶
func NewCfnSecurityGroupIngress_Override(c CfnSecurityGroupIngress, scope constructs.Construct, id *string, props *CfnSecurityGroupIngressProps)
Create a new `AWS::EC2::SecurityGroupIngress`.
func NewCfnSecurityGroup_Override ¶
func NewCfnSecurityGroup_Override(c CfnSecurityGroup, scope constructs.Construct, id *string, props *CfnSecurityGroupProps)
Create a new `AWS::EC2::SecurityGroup`.
func NewCfnSpotFleet_Override ¶
func NewCfnSpotFleet_Override(c CfnSpotFleet, scope constructs.Construct, id *string, props *CfnSpotFleetProps)
Create a new `AWS::EC2::SpotFleet`.
func NewCfnSubnetCidrBlock_Override ¶
func NewCfnSubnetCidrBlock_Override(c CfnSubnetCidrBlock, scope constructs.Construct, id *string, props *CfnSubnetCidrBlockProps)
Create a new `AWS::EC2::SubnetCidrBlock`.
func NewCfnSubnetNetworkAclAssociation_Override ¶
func NewCfnSubnetNetworkAclAssociation_Override(c CfnSubnetNetworkAclAssociation, scope constructs.Construct, id *string, props *CfnSubnetNetworkAclAssociationProps)
Create a new `AWS::EC2::SubnetNetworkAclAssociation`.
func NewCfnSubnetRouteTableAssociation_Override ¶
func NewCfnSubnetRouteTableAssociation_Override(c CfnSubnetRouteTableAssociation, scope constructs.Construct, id *string, props *CfnSubnetRouteTableAssociationProps)
Create a new `AWS::EC2::SubnetRouteTableAssociation`.
func NewCfnSubnet_Override ¶
func NewCfnSubnet_Override(c CfnSubnet, scope constructs.Construct, id *string, props *CfnSubnetProps)
Create a new `AWS::EC2::Subnet`.
func NewCfnTrafficMirrorFilterRule_Override ¶
func NewCfnTrafficMirrorFilterRule_Override(c CfnTrafficMirrorFilterRule, scope constructs.Construct, id *string, props *CfnTrafficMirrorFilterRuleProps)
Create a new `AWS::EC2::TrafficMirrorFilterRule`.
func NewCfnTrafficMirrorFilter_Override ¶
func NewCfnTrafficMirrorFilter_Override(c CfnTrafficMirrorFilter, scope constructs.Construct, id *string, props *CfnTrafficMirrorFilterProps)
Create a new `AWS::EC2::TrafficMirrorFilter`.
func NewCfnTrafficMirrorSession_Override ¶
func NewCfnTrafficMirrorSession_Override(c CfnTrafficMirrorSession, scope constructs.Construct, id *string, props *CfnTrafficMirrorSessionProps)
Create a new `AWS::EC2::TrafficMirrorSession`.
func NewCfnTrafficMirrorTarget_Override ¶
func NewCfnTrafficMirrorTarget_Override(c CfnTrafficMirrorTarget, scope constructs.Construct, id *string, props *CfnTrafficMirrorTargetProps)
Create a new `AWS::EC2::TrafficMirrorTarget`.
func NewCfnTransitGatewayAttachment_Override ¶
func NewCfnTransitGatewayAttachment_Override(c CfnTransitGatewayAttachment, scope constructs.Construct, id *string, props *CfnTransitGatewayAttachmentProps)
Create a new `AWS::EC2::TransitGatewayAttachment`.
func NewCfnTransitGatewayConnect_Override ¶
func NewCfnTransitGatewayConnect_Override(c CfnTransitGatewayConnect, scope constructs.Construct, id *string, props *CfnTransitGatewayConnectProps)
Create a new `AWS::EC2::TransitGatewayConnect`.
func NewCfnTransitGatewayMulticastDomainAssociation_Override ¶
func NewCfnTransitGatewayMulticastDomainAssociation_Override(c CfnTransitGatewayMulticastDomainAssociation, scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastDomainAssociationProps)
Create a new `AWS::EC2::TransitGatewayMulticastDomainAssociation`.
func NewCfnTransitGatewayMulticastDomain_Override ¶
func NewCfnTransitGatewayMulticastDomain_Override(c CfnTransitGatewayMulticastDomain, scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastDomainProps)
Create a new `AWS::EC2::TransitGatewayMulticastDomain`.
func NewCfnTransitGatewayMulticastGroupMember_Override ¶
func NewCfnTransitGatewayMulticastGroupMember_Override(c CfnTransitGatewayMulticastGroupMember, scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastGroupMemberProps)
Create a new `AWS::EC2::TransitGatewayMulticastGroupMember`.
func NewCfnTransitGatewayMulticastGroupSource_Override ¶
func NewCfnTransitGatewayMulticastGroupSource_Override(c CfnTransitGatewayMulticastGroupSource, scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastGroupSourceProps)
Create a new `AWS::EC2::TransitGatewayMulticastGroupSource`.
func NewCfnTransitGatewayPeeringAttachment_Override ¶
func NewCfnTransitGatewayPeeringAttachment_Override(c CfnTransitGatewayPeeringAttachment, scope constructs.Construct, id *string, props *CfnTransitGatewayPeeringAttachmentProps)
Create a new `AWS::EC2::TransitGatewayPeeringAttachment`.
func NewCfnTransitGatewayRouteTableAssociation_Override ¶
func NewCfnTransitGatewayRouteTableAssociation_Override(c CfnTransitGatewayRouteTableAssociation, scope constructs.Construct, id *string, props *CfnTransitGatewayRouteTableAssociationProps)
Create a new `AWS::EC2::TransitGatewayRouteTableAssociation`.
func NewCfnTransitGatewayRouteTablePropagation_Override ¶
func NewCfnTransitGatewayRouteTablePropagation_Override(c CfnTransitGatewayRouteTablePropagation, scope constructs.Construct, id *string, props *CfnTransitGatewayRouteTablePropagationProps)
Create a new `AWS::EC2::TransitGatewayRouteTablePropagation`.
func NewCfnTransitGatewayRouteTable_Override ¶
func NewCfnTransitGatewayRouteTable_Override(c CfnTransitGatewayRouteTable, scope constructs.Construct, id *string, props *CfnTransitGatewayRouteTableProps)
Create a new `AWS::EC2::TransitGatewayRouteTable`.
func NewCfnTransitGatewayRoute_Override ¶
func NewCfnTransitGatewayRoute_Override(c CfnTransitGatewayRoute, scope constructs.Construct, id *string, props *CfnTransitGatewayRouteProps)
Create a new `AWS::EC2::TransitGatewayRoute`.
func NewCfnTransitGatewayVpcAttachment_Override ¶
func NewCfnTransitGatewayVpcAttachment_Override(c CfnTransitGatewayVpcAttachment, scope constructs.Construct, id *string, props *CfnTransitGatewayVpcAttachmentProps)
Create a new `AWS::EC2::TransitGatewayVpcAttachment`.
func NewCfnTransitGateway_Override ¶
func NewCfnTransitGateway_Override(c CfnTransitGateway, scope constructs.Construct, id *string, props *CfnTransitGatewayProps)
Create a new `AWS::EC2::TransitGateway`.
func NewCfnVPCCidrBlock_Override ¶
func NewCfnVPCCidrBlock_Override(c CfnVPCCidrBlock, scope constructs.Construct, id *string, props *CfnVPCCidrBlockProps)
Create a new `AWS::EC2::VPCCidrBlock`.
func NewCfnVPCDHCPOptionsAssociation_Override ¶
func NewCfnVPCDHCPOptionsAssociation_Override(c CfnVPCDHCPOptionsAssociation, scope constructs.Construct, id *string, props *CfnVPCDHCPOptionsAssociationProps)
Create a new `AWS::EC2::VPCDHCPOptionsAssociation`.
func NewCfnVPCEndpointConnectionNotification_Override ¶
func NewCfnVPCEndpointConnectionNotification_Override(c CfnVPCEndpointConnectionNotification, scope constructs.Construct, id *string, props *CfnVPCEndpointConnectionNotificationProps)
Create a new `AWS::EC2::VPCEndpointConnectionNotification`.
func NewCfnVPCEndpointServicePermissions_Override ¶
func NewCfnVPCEndpointServicePermissions_Override(c CfnVPCEndpointServicePermissions, scope constructs.Construct, id *string, props *CfnVPCEndpointServicePermissionsProps)
Create a new `AWS::EC2::VPCEndpointServicePermissions`.
func NewCfnVPCEndpointService_Override ¶
func NewCfnVPCEndpointService_Override(c CfnVPCEndpointService, scope constructs.Construct, id *string, props *CfnVPCEndpointServiceProps)
Create a new `AWS::EC2::VPCEndpointService`.
func NewCfnVPCEndpoint_Override ¶
func NewCfnVPCEndpoint_Override(c CfnVPCEndpoint, scope constructs.Construct, id *string, props *CfnVPCEndpointProps)
Create a new `AWS::EC2::VPCEndpoint`.
func NewCfnVPCGatewayAttachment_Override ¶
func NewCfnVPCGatewayAttachment_Override(c CfnVPCGatewayAttachment, scope constructs.Construct, id *string, props *CfnVPCGatewayAttachmentProps)
Create a new `AWS::EC2::VPCGatewayAttachment`.
func NewCfnVPCPeeringConnection_Override ¶
func NewCfnVPCPeeringConnection_Override(c CfnVPCPeeringConnection, scope constructs.Construct, id *string, props *CfnVPCPeeringConnectionProps)
Create a new `AWS::EC2::VPCPeeringConnection`.
func NewCfnVPC_Override ¶
func NewCfnVPC_Override(c CfnVPC, scope constructs.Construct, id *string, props *CfnVPCProps)
Create a new `AWS::EC2::VPC`.
func NewCfnVPNConnectionRoute_Override ¶
func NewCfnVPNConnectionRoute_Override(c CfnVPNConnectionRoute, scope constructs.Construct, id *string, props *CfnVPNConnectionRouteProps)
Create a new `AWS::EC2::VPNConnectionRoute`.
func NewCfnVPNConnection_Override ¶
func NewCfnVPNConnection_Override(c CfnVPNConnection, scope constructs.Construct, id *string, props *CfnVPNConnectionProps)
Create a new `AWS::EC2::VPNConnection`.
func NewCfnVPNGatewayRoutePropagation_Override ¶
func NewCfnVPNGatewayRoutePropagation_Override(c CfnVPNGatewayRoutePropagation, scope constructs.Construct, id *string, props *CfnVPNGatewayRoutePropagationProps)
Create a new `AWS::EC2::VPNGatewayRoutePropagation`.
func NewCfnVPNGateway_Override ¶
func NewCfnVPNGateway_Override(c CfnVPNGateway, scope constructs.Construct, id *string, props *CfnVPNGatewayProps)
Create a new `AWS::EC2::VPNGateway`.
func NewCfnVerifiedAccessEndpoint_Override ¶ added in v2.80.0
func NewCfnVerifiedAccessEndpoint_Override(c CfnVerifiedAccessEndpoint, scope constructs.Construct, id *string, props *CfnVerifiedAccessEndpointProps)
Create a new `AWS::EC2::VerifiedAccessEndpoint`.
func NewCfnVerifiedAccessGroup_Override ¶ added in v2.80.0
func NewCfnVerifiedAccessGroup_Override(c CfnVerifiedAccessGroup, scope constructs.Construct, id *string, props *CfnVerifiedAccessGroupProps)
Create a new `AWS::EC2::VerifiedAccessGroup`.
func NewCfnVerifiedAccessInstance_Override ¶ added in v2.79.0
func NewCfnVerifiedAccessInstance_Override(c CfnVerifiedAccessInstance, scope constructs.Construct, id *string, props *CfnVerifiedAccessInstanceProps)
Create a new `AWS::EC2::VerifiedAccessInstance`.
func NewCfnVerifiedAccessTrustProvider_Override ¶ added in v2.80.0
func NewCfnVerifiedAccessTrustProvider_Override(c CfnVerifiedAccessTrustProvider, scope constructs.Construct, id *string, props *CfnVerifiedAccessTrustProviderProps)
Create a new `AWS::EC2::VerifiedAccessTrustProvider`.
func NewCfnVolumeAttachment_Override ¶
func NewCfnVolumeAttachment_Override(c CfnVolumeAttachment, scope constructs.Construct, id *string, props *CfnVolumeAttachmentProps)
Create a new `AWS::EC2::VolumeAttachment`.
func NewCfnVolume_Override ¶
func NewCfnVolume_Override(c CfnVolume, scope constructs.Construct, id *string, props *CfnVolumeProps)
Create a new `AWS::EC2::Volume`.
func NewClientVpnAuthorizationRule_Override ¶
func NewClientVpnAuthorizationRule_Override(c ClientVpnAuthorizationRule, scope constructs.Construct, id *string, props *ClientVpnAuthorizationRuleProps)
func NewClientVpnEndpoint_Override ¶
func NewClientVpnEndpoint_Override(c ClientVpnEndpoint, scope constructs.Construct, id *string, props *ClientVpnEndpointProps)
func NewClientVpnRouteTarget_Override ¶
func NewClientVpnRouteTarget_Override(c ClientVpnRouteTarget)
func NewClientVpnRoute_Override ¶
func NewClientVpnRoute_Override(c ClientVpnRoute, scope constructs.Construct, id *string, props *ClientVpnRouteProps)
func NewClientVpnUserBasedAuthentication_Override ¶
func NewClientVpnUserBasedAuthentication_Override(c ClientVpnUserBasedAuthentication)
func NewConnections_Override ¶
func NewConnections_Override(c Connections, props *ConnectionsProps)
func NewFlowLogDestination_Override ¶
func NewFlowLogDestination_Override(f FlowLogDestination)
func NewFlowLogResourceType_Override ¶
func NewFlowLogResourceType_Override(f FlowLogResourceType)
func NewFlowLog_Override ¶
func NewFlowLog_Override(f FlowLog, scope constructs.Construct, id *string, props *FlowLogProps)
func NewGatewayVpcEndpointAwsService_Override ¶
func NewGatewayVpcEndpointAwsService_Override(g GatewayVpcEndpointAwsService, name *string, prefix *string)
func NewGatewayVpcEndpoint_Override ¶
func NewGatewayVpcEndpoint_Override(g GatewayVpcEndpoint, scope constructs.Construct, id *string, props *GatewayVpcEndpointProps)
func NewGenericLinuxImage_Override ¶
func NewGenericLinuxImage_Override(g GenericLinuxImage, amiMap *map[string]*string, props *GenericLinuxImageProps)
func NewGenericSSMParameterImage_Override ¶
func NewGenericSSMParameterImage_Override(g GenericSSMParameterImage, parameterName *string, os OperatingSystemType, userData UserData)
func NewGenericWindowsImage_Override ¶
func NewGenericWindowsImage_Override(g GenericWindowsImage, amiMap *map[string]*string, props *GenericWindowsImageProps)
func NewInitCommandWaitDuration_Override ¶
func NewInitCommandWaitDuration_Override(i InitCommandWaitDuration)
func NewInitConfig_Override ¶
func NewInitConfig_Override(i InitConfig, elements *[]InitElement)
func NewInitElement_Override ¶
func NewInitElement_Override(i InitElement)
func NewInitFile_Override ¶
func NewInitFile_Override(i InitFile, fileName *string, options *InitFileOptions)
func NewInitGroup_Override ¶
func NewInitPackage_Override ¶
func NewInitPackage_Override(i InitPackage, type_ *string, versions *[]*string, packageName *string, serviceHandles *[]InitServiceRestartHandle)
func NewInitServiceRestartHandle_Override ¶
func NewInitServiceRestartHandle_Override(i InitServiceRestartHandle)
func NewInitSource_Override ¶
func NewInitSource_Override(i InitSource, targetDirectory *string, serviceHandles *[]InitServiceRestartHandle)
func NewInitUser_Override ¶
func NewInitUser_Override(i InitUser, userName *string, userOptions *InitUserOptions)
func NewInstanceRequireImdsv2Aspect_Override ¶
func NewInstanceRequireImdsv2Aspect_Override(i InstanceRequireImdsv2Aspect, props *InstanceRequireImdsv2AspectProps)
func NewInstanceType_Override ¶
func NewInstanceType_Override(i InstanceType, instanceTypeIdentifier *string)
func NewInstance_Override ¶
func NewInstance_Override(i Instance, scope constructs.Construct, id *string, props *InstanceProps)
func NewInterfaceVpcEndpointAwsService_Override ¶
func NewInterfaceVpcEndpointAwsService_Override(i InterfaceVpcEndpointAwsService, name *string, prefix *string, port *float64)
func NewInterfaceVpcEndpointService_Override ¶
func NewInterfaceVpcEndpointService_Override(i InterfaceVpcEndpointService, name *string, port *float64)
func NewInterfaceVpcEndpoint_Override ¶
func NewInterfaceVpcEndpoint_Override(i InterfaceVpcEndpoint, scope constructs.Construct, id *string, props *InterfaceVpcEndpointProps)
func NewLaunchTemplateRequireImdsv2Aspect_Override ¶
func NewLaunchTemplateRequireImdsv2Aspect_Override(l LaunchTemplateRequireImdsv2Aspect, props *LaunchTemplateRequireImdsv2AspectProps)
func NewLaunchTemplateSpecialVersions_Override ¶
func NewLaunchTemplateSpecialVersions_Override(l LaunchTemplateSpecialVersions)
func NewLaunchTemplate_Override ¶
func NewLaunchTemplate_Override(l LaunchTemplate, scope constructs.Construct, id *string, props *LaunchTemplateProps)
func NewLogFormat_Override ¶ added in v2.51.0
func NewLookupMachineImage_Override ¶
func NewLookupMachineImage_Override(l LookupMachineImage, props *LookupMachineImageProps)
func NewMachineImage_Override ¶
func NewMachineImage_Override(m MachineImage)
func NewMultipartBody_Override ¶
func NewMultipartBody_Override(m MultipartBody)
func NewMultipartUserData_Override ¶
func NewMultipartUserData_Override(m MultipartUserData, opts *MultipartUserDataOptions)
func NewNatInstanceImage_Override ¶
func NewNatInstanceImage_Override(n NatInstanceImage)
func NewNatInstanceProvider_Override ¶
func NewNatInstanceProvider_Override(n NatInstanceProvider, props *NatInstanceProps)
func NewNatProvider_Override ¶
func NewNatProvider_Override(n NatProvider)
func NewNetworkAclEntry_Override ¶
func NewNetworkAclEntry_Override(n NetworkAclEntry, scope constructs.Construct, id *string, props *NetworkAclEntryProps)
func NewNetworkAcl_Override ¶
func NewNetworkAcl_Override(n NetworkAcl, scope constructs.Construct, id *string, props *NetworkAclProps)
func NewPeer_Override ¶
func NewPeer_Override(p Peer)
func NewPlacementGroup_Override ¶ added in v2.74.0
func NewPlacementGroup_Override(p PlacementGroup, scope constructs.Construct, id *string, props *PlacementGroupProps)
func NewPort_Override ¶
func NewPrefixList_Override ¶ added in v2.78.0
func NewPrefixList_Override(p PrefixList, scope constructs.Construct, id *string, props *PrefixListProps)
func NewPrivateSubnet_Override ¶
func NewPrivateSubnet_Override(p PrivateSubnet, scope constructs.Construct, id *string, props *PrivateSubnetProps)
func NewPublicSubnet_Override ¶
func NewPublicSubnet_Override(p PublicSubnet, scope constructs.Construct, id *string, props *PublicSubnetProps)
func NewSecurityGroup_Override ¶
func NewSecurityGroup_Override(s SecurityGroup, scope constructs.Construct, id *string, props *SecurityGroupProps)
func NewSubnetFilter_Override ¶
func NewSubnetFilter_Override(s SubnetFilter)
func NewSubnetNetworkAclAssociation_Override ¶
func NewSubnetNetworkAclAssociation_Override(s SubnetNetworkAclAssociation, scope constructs.Construct, id *string, props *SubnetNetworkAclAssociationProps)
func NewSubnet_Override ¶
func NewSubnet_Override(s Subnet, scope constructs.Construct, id *string, props *SubnetProps)
func NewUserData_Override ¶
func NewUserData_Override(u UserData)
func NewVolume_Override ¶
func NewVolume_Override(v Volume, scope constructs.Construct, id *string, props *VolumeProps)
func NewVpcEndpointService_Override ¶
func NewVpcEndpointService_Override(v VpcEndpointService, scope constructs.Construct, id *string, props *VpcEndpointServiceProps)
func NewVpcEndpoint_Override ¶
func NewVpcEndpoint_Override(v VpcEndpoint, scope constructs.Construct, id *string, props *awscdk.ResourceProps)
func NewVpc_Override ¶
Vpc creates a VPC that spans a whole region.
It will automatically divide the provided VPC CIDR range, and create public and private subnets per Availability Zone. Network routing for the public subnets will be configured to allow outbound access directly via an Internet Gateway. Network routing for the private subnets will be configured to allow outbound access via a set of resilient NAT Gateways (one per AZ).
func NewVpnConnectionBase_Override ¶ added in v2.43.0
func NewVpnConnectionBase_Override(v VpnConnectionBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)
func NewVpnConnection_Override ¶
func NewVpnConnection_Override(v VpnConnection, scope constructs.Construct, id *string, props *VpnConnectionProps)
func NewVpnGateway_Override ¶
func NewVpnGateway_Override(v VpnGateway, scope constructs.Construct, id *string, props *VpnGatewayProps)
func NewWindowsImage_Override ¶
func NewWindowsImage_Override(w WindowsImage, version WindowsVersion, props *WindowsImageProps)
func PlacementGroup_IsConstruct ¶ added in v2.74.0
func PlacementGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func PlacementGroup_IsOwnedResource ¶ added in v2.74.0
func PlacementGroup_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func PlacementGroup_IsResource ¶ added in v2.74.0
func PlacementGroup_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func PrefixList_IsConstruct ¶ added in v2.78.0
func PrefixList_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func PrefixList_IsOwnedResource ¶ added in v2.78.0
func PrefixList_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func PrefixList_IsResource ¶ added in v2.78.0
func PrefixList_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func PrivateSubnet_IsConstruct ¶
func PrivateSubnet_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func PrivateSubnet_IsOwnedResource ¶ added in v2.32.0
func PrivateSubnet_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func PrivateSubnet_IsResource ¶
func PrivateSubnet_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func PrivateSubnet_IsVpcSubnet ¶
func PrivateSubnet_IsVpcSubnet(x interface{}) *bool
func PublicSubnet_IsConstruct ¶
func PublicSubnet_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func PublicSubnet_IsOwnedResource ¶ added in v2.32.0
func PublicSubnet_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func PublicSubnet_IsResource ¶
func PublicSubnet_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func PublicSubnet_IsVpcSubnet ¶
func PublicSubnet_IsVpcSubnet(x interface{}) *bool
func SecurityGroup_IsConstruct ¶
func SecurityGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func SecurityGroup_IsOwnedResource ¶ added in v2.32.0
func SecurityGroup_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func SecurityGroup_IsResource ¶
func SecurityGroup_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func SecurityGroup_IsSecurityGroup ¶
func SecurityGroup_IsSecurityGroup(x interface{}) *bool
Return whether the indicated object is a security group.
func SubnetNetworkAclAssociation_IsConstruct ¶
func SubnetNetworkAclAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func SubnetNetworkAclAssociation_IsOwnedResource ¶ added in v2.32.0
func SubnetNetworkAclAssociation_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func SubnetNetworkAclAssociation_IsResource ¶
func SubnetNetworkAclAssociation_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Subnet_IsConstruct ¶
func Subnet_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Subnet_IsOwnedResource ¶ added in v2.32.0
func Subnet_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Subnet_IsResource ¶
func Subnet_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Subnet_IsVpcSubnet ¶
func Subnet_IsVpcSubnet(x interface{}) *bool
func Volume_IsConstruct ¶
func Volume_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Volume_IsOwnedResource ¶ added in v2.32.0
func Volume_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Volume_IsResource ¶
func Volume_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func VpcEndpointService_IsConstruct ¶
func VpcEndpointService_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func VpcEndpointService_IsOwnedResource ¶ added in v2.32.0
func VpcEndpointService_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func VpcEndpointService_IsResource ¶
func VpcEndpointService_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func VpcEndpoint_IsConstruct ¶
func VpcEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func VpcEndpoint_IsOwnedResource ¶ added in v2.32.0
func VpcEndpoint_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func VpcEndpoint_IsResource ¶
func VpcEndpoint_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Vpc_DEFAULT_CIDR_RANGE ¶
func Vpc_DEFAULT_CIDR_RANGE() *string
func Vpc_DEFAULT_SUBNETS ¶
func Vpc_DEFAULT_SUBNETS() *[]*SubnetConfiguration
func Vpc_DEFAULT_SUBNETS_NO_NAT ¶
func Vpc_DEFAULT_SUBNETS_NO_NAT() *[]*SubnetConfiguration
func Vpc_IsConstruct ¶
func Vpc_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Vpc_IsOwnedResource ¶ added in v2.32.0
func Vpc_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Vpc_IsResource ¶
func Vpc_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func VpnConnectionBase_IsConstruct ¶ added in v2.43.0
func VpnConnectionBase_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func VpnConnectionBase_IsOwnedResource ¶ added in v2.43.0
func VpnConnectionBase_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func VpnConnectionBase_IsResource ¶ added in v2.43.0
func VpnConnectionBase_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func VpnConnection_IsConstruct ¶
func VpnConnection_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func VpnConnection_IsOwnedResource ¶ added in v2.32.0
func VpnConnection_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func VpnConnection_IsResource ¶
func VpnConnection_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func VpnConnection_MetricAll ¶
func VpnConnection_MetricAll(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
Return the given named metric for all VPN connections in the account/region.
func VpnConnection_MetricAllTunnelDataIn ¶
func VpnConnection_MetricAllTunnelDataIn(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
Metric for the tunnel data in of all VPN connections in the account/region.
func VpnConnection_MetricAllTunnelDataOut ¶
func VpnConnection_MetricAllTunnelDataOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
Metric for the tunnel data out of all VPN connections.
func VpnConnection_MetricAllTunnelState ¶
func VpnConnection_MetricAllTunnelState(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
Metric for the tunnel state of all VPN connections in the account/region.
func VpnGateway_IsConstruct ¶
func VpnGateway_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func VpnGateway_IsOwnedResource ¶ added in v2.32.0
func VpnGateway_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func VpnGateway_IsResource ¶
func VpnGateway_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
Types ¶
type AclCidr ¶
type AclCidr interface {
ToCidrConfig() *AclCidrConfig
}
Either an IPv4 or an IPv6 CIDR.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" aclCidr := awscdk.Aws_ec2.AclCidr_AnyIpv4()
func AclCidr_AnyIpv4 ¶
func AclCidr_AnyIpv4() AclCidr
The CIDR containing all IPv4 addresses (i.e., 0.0.0.0/0).
func AclCidr_AnyIpv6 ¶
func AclCidr_AnyIpv6() AclCidr
The CIDR containing all IPv6 addresses (i.e., ::/0).
func AclCidr_Ipv4 ¶
An IP network range in CIDR notation (for example, 172.16.0.0/24).
func AclCidr_Ipv6 ¶
An IPv6 network range in CIDR notation (for example, 2001:db8::/48).
type AclCidrConfig ¶
type AclCidrConfig struct { // Ipv4 CIDR. CidrBlock *string `field:"optional" json:"cidrBlock" yaml:"cidrBlock"` // Ipv6 CIDR. Ipv6CidrBlock *string `field:"optional" json:"ipv6CidrBlock" yaml:"ipv6CidrBlock"` }
Acl Configuration for CIDR.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" aclCidrConfig := &AclCidrConfig{ CidrBlock: jsii.String("cidrBlock"), Ipv6CidrBlock: jsii.String("ipv6CidrBlock"), }
type AclIcmp ¶
type AclIcmp struct { // The Internet Control Message Protocol (ICMP) code. // // You can use -1 to specify all ICMP // codes for the given ICMP type. Requirement is conditional: Required if you // specify 1 (ICMP) for the protocol parameter. Code *float64 `field:"optional" json:"code" yaml:"code"` // The Internet Control Message Protocol (ICMP) type. // // You can use -1 to specify all ICMP types. // Conditional requirement: Required if you specify 1 (ICMP) for the CreateNetworkAclEntry protocol parameter. Type *float64 `field:"optional" json:"type" yaml:"type"` }
Properties to create Icmp.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" aclIcmp := &AclIcmp{ Code: jsii.Number(123), Type: jsii.Number(123), }
type AclPortRange ¶
type AclPortRange struct { // The first port in the range. // // Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter. From *float64 `field:"optional" json:"from" yaml:"from"` // The last port in the range. // // Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter. To *float64 `field:"optional" json:"to" yaml:"to"` }
Properties to create PortRange.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" aclPortRange := &AclPortRange{ From: jsii.Number(123), To: jsii.Number(123), }
type AclTraffic ¶
type AclTraffic interface {
ToTrafficConfig() *AclTrafficConfig
}
The traffic that is configured using a Network ACL entry.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" aclTraffic := awscdk.Aws_ec2.AclTraffic_AllTraffic()
func AclTraffic_AllTraffic ¶
func AclTraffic_AllTraffic() AclTraffic
Apply the ACL entry to all traffic.
func AclTraffic_Icmp ¶
func AclTraffic_Icmp(props *AclIcmp) AclTraffic
Apply the ACL entry to ICMP traffic of given type and code.
func AclTraffic_Icmpv6 ¶
func AclTraffic_Icmpv6(props *AclIcmp) AclTraffic
Apply the ACL entry to ICMPv6 traffic of given type and code.
Requires an IPv6 CIDR block.
func AclTraffic_TcpPort ¶
func AclTraffic_TcpPort(port *float64) AclTraffic
Apply the ACL entry to TCP traffic on a given port.
func AclTraffic_TcpPortRange ¶
func AclTraffic_TcpPortRange(startPort *float64, endPort *float64) AclTraffic
Apply the ACL entry to TCP traffic on a given port range.
func AclTraffic_UdpPort ¶
func AclTraffic_UdpPort(port *float64) AclTraffic
Apply the ACL entry to UDP traffic on a given port.
func AclTraffic_UdpPortRange ¶
func AclTraffic_UdpPortRange(startPort *float64, endPort *float64) AclTraffic
Apply the ACL entry to UDP traffic on a given port range.
type AclTrafficConfig ¶
type AclTrafficConfig struct { // The protocol number. // // A value of "-1" means all protocols. // // If you specify "-1" or a protocol number other than "6" (TCP), "17" (UDP), // or "1" (ICMP), traffic on all ports is allowed, regardless of any ports or // ICMP types or codes that you specify. // // If you specify protocol "58" (ICMPv6) and specify an IPv4 CIDR // block, traffic for all ICMP types and codes allowed, regardless of any that // you specify. If you specify protocol "58" (ICMPv6) and specify an IPv6 CIDR // block, you must specify an ICMP type and code. Protocol *float64 `field:"required" json:"protocol" yaml:"protocol"` // The Internet Control Message Protocol (ICMP) code and type. Icmp *AclIcmp `field:"optional" json:"icmp" yaml:"icmp"` // The range of port numbers for the UDP/TCP protocol. PortRange *AclPortRange `field:"optional" json:"portRange" yaml:"portRange"` }
Acl Configuration for traffic.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" aclTrafficConfig := &AclTrafficConfig{ Protocol: jsii.Number(123), // the properties below are optional Icmp: &AclIcmp{ Code: jsii.Number(123), Type: jsii.Number(123), }, PortRange: &AclPortRange{ From: jsii.Number(123), To: jsii.Number(123), }, }
type AddRouteOptions ¶
type AddRouteOptions struct { // The ID of the router. // // Can be an instance ID, gateway ID, etc, depending on the router type. RouterId *string `field:"required" json:"routerId" yaml:"routerId"` // What type of router to route this traffic to. RouterType RouterType `field:"required" json:"routerType" yaml:"routerType"` // IPv4 range this route applies to. DestinationCidrBlock *string `field:"optional" json:"destinationCidrBlock" yaml:"destinationCidrBlock"` // IPv6 range this route applies to. DestinationIpv6CidrBlock *string `field:"optional" json:"destinationIpv6CidrBlock" yaml:"destinationIpv6CidrBlock"` // Whether this route will enable internet connectivity. // // If true, this route will be added before any AWS resources that depend // on internet connectivity in the VPC will be created. EnablesInternetConnectivity *bool `field:"optional" json:"enablesInternetConnectivity" yaml:"enablesInternetConnectivity"` }
Options for adding a new route to a subnet.
Example:
vpc := ec2.NewVpc(this, jsii.String("VPC"), &VpcProps{ SubnetConfiguration: []subnetConfiguration{ &subnetConfiguration{ SubnetType: ec2.SubnetType_PUBLIC, Name: jsii.String("Public"), }, &subnetConfiguration{ SubnetType: ec2.SubnetType_PRIVATE_ISOLATED, Name: jsii.String("Isolated"), }, }, }) (vpc.IsolatedSubnets[0].(subnet)).AddRoute(jsii.String("StaticRoute"), &AddRouteOptions{ RouterId: vpc.InternetGatewayId, RouterType: ec2.RouterType_GATEWAY, DestinationCidrBlock: jsii.String("8.8.8.8/32"), })
type AddressFamily ¶ added in v2.78.0
type AddressFamily string
The IP address type.
const ( AddressFamily_IP_V4 AddressFamily = "IP_V4" AddressFamily_IP_V6 AddressFamily = "IP_V6" )
type AllocateCidrRequest ¶ added in v2.48.0
type AllocateCidrRequest struct { // The Subnets to be allocated. RequestedSubnets *[]*RequestedSubnet `field:"required" json:"requestedSubnets" yaml:"requestedSubnets"` // The IPv4 CIDR block for this Vpc. VpcCidr *string `field:"required" json:"vpcCidr" yaml:"vpcCidr"` }
Request for subnets Cidr to be allocated for a Vpc.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" allocateCidrRequest := &AllocateCidrRequest{ RequestedSubnets: []requestedSubnet{ &requestedSubnet{ AvailabilityZone: jsii.String("availabilityZone"), Configuration: &SubnetConfiguration{ Name: jsii.String("name"), SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, // the properties below are optional CidrMask: jsii.Number(123), MapPublicIpOnLaunch: jsii.Boolean(false), Reserved: jsii.Boolean(false), }, SubnetConstructId: jsii.String("subnetConstructId"), }, }, VpcCidr: jsii.String("vpcCidr"), }
type AllocatedSubnet ¶ added in v2.48.0
type AllocatedSubnet struct { // Cidr Allocations for a Subnet. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` }
Cidr Allocated Subnet.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" allocatedSubnet := &AllocatedSubnet{ Cidr: jsii.String("cidr"), }
type AmazonLinux2022ImageSsmParameter ¶ added in v2.76.0
type AmazonLinux2022ImageSsmParameter interface { AmazonLinuxImageSsmParameterBase // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
A SSM Parameter that contains the AMI ID for Amazon Linux 2023.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var amazonLinux2022Kernel amazonLinux2022Kernel var userData userData amazonLinux2022ImageSsmParameter := awscdk.Aws_ec2.NewAmazonLinux2022ImageSsmParameter(&AmazonLinux2022ImageSsmParameterProps{ CachedInContext: jsii.Boolean(false), CpuType: awscdk.*Aws_ec2.AmazonLinuxCpuType_ARM_64, Edition: awscdk.*Aws_ec2.AmazonLinuxEdition_STANDARD, Kernel: amazonLinux2022Kernel, UserData: userData, })
func NewAmazonLinux2022ImageSsmParameter ¶ added in v2.76.0
func NewAmazonLinux2022ImageSsmParameter(props *AmazonLinux2022ImageSsmParameterProps) AmazonLinux2022ImageSsmParameter
type AmazonLinux2022ImageSsmParameterProps ¶ added in v2.76.0
type AmazonLinux2022ImageSsmParameterProps struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // CPU Type. CpuType AmazonLinuxCpuType `field:"optional" json:"cpuType" yaml:"cpuType"` // What edition of Amazon Linux to use. Edition AmazonLinuxEdition `field:"optional" json:"edition" yaml:"edition"` // What kernel version of Amazon Linux to use. Kernel AmazonLinux2022Kernel `field:"optional" json:"kernel" yaml:"kernel"` }
Properties specific to al2022 images.
Example:
var vpc vpc var instanceType instanceType // Amazon Linux 2 // Amazon Linux 2 ec2.NewInstance(this, jsii.String("Instance2"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2(), }) // Amazon Linux 2 with kernel 5.x // Amazon Linux 2 with kernel 5.x ec2.NewInstance(this, jsii.String("Instance3"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_*LatestAmazonLinux2(&AmazonLinux2ImageSsmParameterProps{ Kernel: ec2.AmazonLinux2Kernel_KERNEL_5_10(), }), }) // AWS Linux 2022 // AWS Linux 2022 ec2.NewInstance(this, jsii.String("Instance4"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), }) // Graviton 3 Processor // Graviton 3 Processor ec2.NewInstance(this, jsii.String("Instance5"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.*instanceType_Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), MachineImage: ec2.MachineImage_*LatestAmazonLinux2022(&AmazonLinux2022ImageSsmParameterProps{ CpuType: ec2.AmazonLinuxCpuType_ARM_64, }), })
type AmazonLinux2022Kernel ¶ added in v2.76.0
type AmazonLinux2022Kernel interface { // Generate a string representation of the kernel. ToString() *string }
Amazon Linux 2022 kernel versions.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" amazonLinux2022Kernel := awscdk.Aws_ec2.AmazonLinux2022Kernel_CDK_LATEST()
func AmazonLinux2022Kernel_CDK_LATEST ¶ added in v2.76.0
func AmazonLinux2022Kernel_CDK_LATEST() AmazonLinux2022Kernel
func AmazonLinux2022Kernel_DEFAULT ¶ added in v2.76.0
func AmazonLinux2022Kernel_DEFAULT() AmazonLinux2022Kernel
func AmazonLinux2022Kernel_KERNEL_5_15 ¶ added in v2.76.0
func AmazonLinux2022Kernel_KERNEL_5_15() AmazonLinux2022Kernel
func NewAmazonLinux2022Kernel ¶ added in v2.76.0
func NewAmazonLinux2022Kernel(version *string) AmazonLinux2022Kernel
type AmazonLinux2023ImageSsmParameter ¶ added in v2.76.0
type AmazonLinux2023ImageSsmParameter interface { AmazonLinuxImageSsmParameterBase // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
A SSM Parameter that contains the AMI ID for Amazon Linux 2023.
Example:
var vpc vpc ec2.NewInstance(this, jsii.String("LatestAl2023"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), MachineImage: ec2.MachineImage_LatestAmazonLinux2023(&AmazonLinux2023ImageSsmParameterProps{ CachedInContext: jsii.Boolean(true), }), }) // or // or ec2.NewInstance(this, jsii.String("LatestAl2023"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_*Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), // context cache is turned on by default MachineImage: ec2.NewAmazonLinux2023ImageSsmParameter(), })
func NewAmazonLinux2023ImageSsmParameter ¶ added in v2.76.0
func NewAmazonLinux2023ImageSsmParameter(props *AmazonLinux2023ImageSsmParameterProps) AmazonLinux2023ImageSsmParameter
type AmazonLinux2023ImageSsmParameterProps ¶ added in v2.76.0
type AmazonLinux2023ImageSsmParameterProps struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // CPU Type. CpuType AmazonLinuxCpuType `field:"optional" json:"cpuType" yaml:"cpuType"` // What edition of Amazon Linux to use. Edition AmazonLinuxEdition `field:"optional" json:"edition" yaml:"edition"` // What kernel version of Amazon Linux to use. Kernel AmazonLinux2023Kernel `field:"optional" json:"kernel" yaml:"kernel"` }
Properties specific to al2023 images.
Example:
var vpc vpc ec2.NewInstance(this, jsii.String("LatestAl2023"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), MachineImage: ec2.MachineImage_LatestAmazonLinux2023(&AmazonLinux2023ImageSsmParameterProps{ CachedInContext: jsii.Boolean(true), }), }) // or // or ec2.NewInstance(this, jsii.String("LatestAl2023"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_*Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), // context cache is turned on by default MachineImage: ec2.NewAmazonLinux2023ImageSsmParameter(), })
type AmazonLinux2023Kernel ¶ added in v2.76.0
type AmazonLinux2023Kernel interface { // Generate a string representation of the kernel. ToString() *string }
Amazon Linux 2023 kernel versions.
Example:
var vpc vpc ec2.NewInstance(this, jsii.String("LatestAl2023"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), // context cache is turned on by default MachineImage: ec2.NewAmazonLinux2023ImageSsmParameter(&AmazonLinux2023ImageSsmParameterProps{ Kernel: ec2.AmazonLinux2023Kernel_KERNEL_6_1(), }), })
func AmazonLinux2023Kernel_CDK_LATEST ¶ added in v2.76.0
func AmazonLinux2023Kernel_CDK_LATEST() AmazonLinux2023Kernel
func AmazonLinux2023Kernel_DEFAULT ¶ added in v2.76.0
func AmazonLinux2023Kernel_DEFAULT() AmazonLinux2023Kernel
func AmazonLinux2023Kernel_KERNEL_6_1 ¶ added in v2.76.0
func AmazonLinux2023Kernel_KERNEL_6_1() AmazonLinux2023Kernel
func NewAmazonLinux2023Kernel ¶ added in v2.76.0
func NewAmazonLinux2023Kernel(version *string) AmazonLinux2023Kernel
type AmazonLinux2ImageSsmParameter ¶ added in v2.76.0
type AmazonLinux2ImageSsmParameter interface { AmazonLinuxImageSsmParameterBase // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
A SSM Parameter that contains the AMI ID for Amazon Linux 2.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var amazonLinux2Kernel amazonLinux2Kernel var userData userData amazonLinux2ImageSsmParameter := awscdk.Aws_ec2.NewAmazonLinux2ImageSsmParameter(&AmazonLinux2ImageSsmParameterProps{ CachedInContext: jsii.Boolean(false), CpuType: awscdk.*Aws_ec2.AmazonLinuxCpuType_ARM_64, Edition: awscdk.*Aws_ec2.AmazonLinuxEdition_STANDARD, Kernel: amazonLinux2Kernel, Storage: awscdk.*Aws_ec2.AmazonLinuxStorage_EBS, UserData: userData, Virtualization: awscdk.*Aws_ec2.AmazonLinuxVirt_HVM, })
func NewAmazonLinux2ImageSsmParameter ¶ added in v2.76.0
func NewAmazonLinux2ImageSsmParameter(props *AmazonLinux2ImageSsmParameterProps) AmazonLinux2ImageSsmParameter
type AmazonLinux2ImageSsmParameterProps ¶ added in v2.76.0
type AmazonLinux2ImageSsmParameterProps struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // CPU Type. CpuType AmazonLinuxCpuType `field:"optional" json:"cpuType" yaml:"cpuType"` // What edition of Amazon Linux to use. Edition AmazonLinuxEdition `field:"optional" json:"edition" yaml:"edition"` // What kernel version of Amazon Linux to use. Kernel AmazonLinux2Kernel `field:"optional" json:"kernel" yaml:"kernel"` // What storage backed image to use. Storage AmazonLinuxStorage `field:"optional" json:"storage" yaml:"storage"` // Virtualization type. Virtualization AmazonLinuxVirt `field:"optional" json:"virtualization" yaml:"virtualization"` }
Properties specific to amzn2 images.
Example:
var vpc vpc var instanceType instanceType // Amazon Linux 2 // Amazon Linux 2 ec2.NewInstance(this, jsii.String("Instance2"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2(), }) // Amazon Linux 2 with kernel 5.x // Amazon Linux 2 with kernel 5.x ec2.NewInstance(this, jsii.String("Instance3"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_*LatestAmazonLinux2(&AmazonLinux2ImageSsmParameterProps{ Kernel: ec2.AmazonLinux2Kernel_KERNEL_5_10(), }), }) // AWS Linux 2022 // AWS Linux 2022 ec2.NewInstance(this, jsii.String("Instance4"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), }) // Graviton 3 Processor // Graviton 3 Processor ec2.NewInstance(this, jsii.String("Instance5"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.*instanceType_Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), MachineImage: ec2.MachineImage_*LatestAmazonLinux2022(&AmazonLinux2022ImageSsmParameterProps{ CpuType: ec2.AmazonLinuxCpuType_ARM_64, }), })
type AmazonLinux2Kernel ¶ added in v2.76.0
type AmazonLinux2Kernel interface { // Generate a string representation of the kernel. ToString() *string }
Amazon Linux 2 kernel versions.
Example:
var vpc vpc var instanceType instanceType // Amazon Linux 2 // Amazon Linux 2 ec2.NewInstance(this, jsii.String("Instance2"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2(), }) // Amazon Linux 2 with kernel 5.x // Amazon Linux 2 with kernel 5.x ec2.NewInstance(this, jsii.String("Instance3"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_*LatestAmazonLinux2(&AmazonLinux2ImageSsmParameterProps{ Kernel: ec2.AmazonLinux2Kernel_KERNEL_5_10(), }), }) // AWS Linux 2022 // AWS Linux 2022 ec2.NewInstance(this, jsii.String("Instance4"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), }) // Graviton 3 Processor // Graviton 3 Processor ec2.NewInstance(this, jsii.String("Instance5"), &InstanceProps{ Vpc: Vpc, InstanceType: ec2.*instanceType_Of(ec2.InstanceClass_C7G, ec2.InstanceSize_LARGE), MachineImage: ec2.MachineImage_*LatestAmazonLinux2022(&AmazonLinux2022ImageSsmParameterProps{ CpuType: ec2.AmazonLinuxCpuType_ARM_64, }), })
func AmazonLinux2Kernel_CDK_LATEST ¶ added in v2.76.0
func AmazonLinux2Kernel_CDK_LATEST() AmazonLinux2Kernel
func AmazonLinux2Kernel_DEFAULT ¶ added in v2.76.0
func AmazonLinux2Kernel_DEFAULT() AmazonLinux2Kernel
func AmazonLinux2Kernel_KERNEL_5_10 ¶ added in v2.76.0
func AmazonLinux2Kernel_KERNEL_5_10() AmazonLinux2Kernel
func NewAmazonLinux2Kernel ¶ added in v2.76.0
func NewAmazonLinux2Kernel(version *string) AmazonLinux2Kernel
type AmazonLinuxCpuType ¶
type AmazonLinuxCpuType string
CPU type.
Example:
// Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.MachineImage_LatestAmazonLinux(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, CpuType: ec2.AmazonLinuxCpuType_X86_64, }) // Pick a Windows edition to use windows := ec2.MachineImage_LatestWindows(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Read AMI id from SSM parameter store ssm := ec2.MachineImage_FromSsmParameter(jsii.String("/my/ami"), &SsmParameterImageOptions{ Os: ec2.OperatingSystemType_LINUX, }) // Look up the most recent image matching a set of AMI filters. // In this case, look up the NAT instance AMI, by using a wildcard // in the 'name' field: natAmi := ec2.MachineImage_Lookup(&LookupMachineImageProps{ Name: jsii.String("amzn-ami-vpc-nat-*"), Owners: []*string{ jsii.String("amazon"), }, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.MachineImage_GenericLinux(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), }) // For other custom (Windows) images, instantiate a `GenericWindowsImage` with // a map giving the AMI to in for each region: genericWindows := ec2.MachineImage_GenericWindows(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
const ( // arm64 CPU type. AmazonLinuxCpuType_ARM_64 AmazonLinuxCpuType = "ARM_64" // x86_64 CPU type. AmazonLinuxCpuType_X86_64 AmazonLinuxCpuType = "X86_64" )
type AmazonLinuxEdition ¶
type AmazonLinuxEdition string
Amazon Linux edition.
Example:
// Pick a Windows edition to use windows := ec2.NewWindowsImage(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.NewGenericLinuxImage(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
const ( // Standard edition. AmazonLinuxEdition_STANDARD AmazonLinuxEdition = "STANDARD" // Minimal edition. AmazonLinuxEdition_MINIMAL AmazonLinuxEdition = "MINIMAL" )
type AmazonLinuxGeneration ¶
type AmazonLinuxGeneration string
What generation of Amazon Linux to use.
Example:
var vpc vpc mySecurityGroup := ec2.NewSecurityGroup(this, jsii.String("SecurityGroup"), &SecurityGroupProps{ Vpc: Vpc, }) autoscaling.NewAutoScalingGroup(this, jsii.String("ASG"), &AutoScalingGroupProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_MICRO), MachineImage: ec2.MachineImage_LatestAmazonLinux(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX_2, }), SecurityGroup: mySecurityGroup, })
const ( // Amazon Linux. AmazonLinuxGeneration_AMAZON_LINUX AmazonLinuxGeneration = "AMAZON_LINUX" // Amazon Linux 2. AmazonLinuxGeneration_AMAZON_LINUX_2 AmazonLinuxGeneration = "AMAZON_LINUX_2" // Amazon Linux 2022. AmazonLinuxGeneration_AMAZON_LINUX_2022 AmazonLinuxGeneration = "AMAZON_LINUX_2022" // Amazon Linux 2023. AmazonLinuxGeneration_AMAZON_LINUX_2023 AmazonLinuxGeneration = "AMAZON_LINUX_2023" )
type AmazonLinuxImage ¶
type AmazonLinuxImage interface { GenericSSMParameterImage // Name of the SSM parameter we're looking up. ParameterName() *string // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
Selects the latest version of Amazon Linux.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
The AMI ID is selected using the values published to the SSM parameter store.
Example:
sg := ec2.SecurityGroup_FromSecurityGroupId(this, jsii.String("FsxSecurityGroup"), jsii.String("{SECURITY-GROUP-ID}")) fs := fsx.LustreFileSystem_FromLustreFileSystemAttributes(this, jsii.String("FsxLustreFileSystem"), &FileSystemAttributes{ DnsName: jsii.String("{FILE-SYSTEM-DNS-NAME}"), FileSystemId: jsii.String("{FILE-SYSTEM-ID}"), SecurityGroup: sg, }) vpc := ec2.Vpc_FromVpcAttributes(this, jsii.String("Vpc"), &VpcAttributes{ AvailabilityZones: []*string{ jsii.String("us-west-2a"), jsii.String("us-west-2b"), }, PublicSubnetIds: []*string{ jsii.String("{US-WEST-2A-SUBNET-ID}"), jsii.String("{US-WEST-2B-SUBNET-ID}"), }, VpcId: jsii.String("{VPC-ID}"), }) inst := ec2.NewInstance(this, jsii.String("inst"), &InstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_T2, ec2.InstanceSize_LARGE), MachineImage: ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX_2, }), Vpc: Vpc, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PUBLIC, }, }) fs.Connections.AllowDefaultPortFrom(inst)
func NewAmazonLinuxImage ¶
func NewAmazonLinuxImage(props *AmazonLinuxImageProps) AmazonLinuxImage
type AmazonLinuxImageProps ¶
type AmazonLinuxImageProps struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // CPU Type. CpuType AmazonLinuxCpuType `field:"optional" json:"cpuType" yaml:"cpuType"` // What edition of Amazon Linux to use. Edition AmazonLinuxEdition `field:"optional" json:"edition" yaml:"edition"` // What generation of Amazon Linux to use. Generation AmazonLinuxGeneration `field:"optional" json:"generation" yaml:"generation"` // What kernel version of Amazon Linux to use. Kernel AmazonLinuxKernel `field:"optional" json:"kernel" yaml:"kernel"` // What storage backed image to use. Storage AmazonLinuxStorage `field:"optional" json:"storage" yaml:"storage"` // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // Virtualization type. Virtualization AmazonLinuxVirt `field:"optional" json:"virtualization" yaml:"virtualization"` }
Amazon Linux image properties.
Example:
var vpc iVpc lb := elb.NewLoadBalancer(this, jsii.String("LB"), &LoadBalancerProps{ Vpc: Vpc, }) // instance to add as the target for load balancer. instance := ec2.NewInstance(this, jsii.String("targetInstance"), &InstanceProps{ Vpc: vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_MICRO), MachineImage: ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX_2, }), }) lb.AddTarget(elb.NewInstanceTarget(instance))
type AmazonLinuxImageSsmParameterBase ¶ added in v2.76.0
type AmazonLinuxImageSsmParameterBase interface { IMachineImage // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
type AmazonLinuxImageSsmParameterBaseOptions ¶ added in v2.76.0
type AmazonLinuxImageSsmParameterBaseOptions struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` }
Base options for amazon linux ssm parameters.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData amazonLinuxImageSsmParameterBaseOptions := &AmazonLinuxImageSsmParameterBaseOptions{ CachedInContext: jsii.Boolean(false), UserData: userData, }
type AmazonLinuxImageSsmParameterBaseProps ¶ added in v2.76.0
type AmazonLinuxImageSsmParameterBaseProps struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // The name of the SSM parameter that contains the AMI value. ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"` }
Base properties for an Amazon Linux SSM Parameter.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData amazonLinuxImageSsmParameterBaseProps := &AmazonLinuxImageSsmParameterBaseProps{ ParameterName: jsii.String("parameterName"), // the properties below are optional CachedInContext: jsii.Boolean(false), UserData: userData, }
type AmazonLinuxImageSsmParameterCommonOptions ¶ added in v2.76.0
type AmazonLinuxImageSsmParameterCommonOptions struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // CPU Type. CpuType AmazonLinuxCpuType `field:"optional" json:"cpuType" yaml:"cpuType"` // What edition of Amazon Linux to use. Edition AmazonLinuxEdition `field:"optional" json:"edition" yaml:"edition"` }
Common options across all generations.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData amazonLinuxImageSsmParameterCommonOptions := &AmazonLinuxImageSsmParameterCommonOptions{ CachedInContext: jsii.Boolean(false), CpuType: awscdk.Aws_ec2.AmazonLinuxCpuType_ARM_64, Edition: awscdk.*Aws_ec2.AmazonLinuxEdition_STANDARD, UserData: userData, }
type AmazonLinuxKernel ¶ added in v2.9.0
type AmazonLinuxKernel string
Amazon Linux Kernel.
const ( // Standard edition. AmazonLinuxKernel_KERNEL5_X AmazonLinuxKernel = "KERNEL5_X" )
type AmazonLinuxStorage ¶
type AmazonLinuxStorage string
Available storage options for Amazon Linux images Only applies to Amazon Linux & Amazon Linux 2.
Example:
// Pick a Windows edition to use windows := ec2.NewWindowsImage(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.NewGenericLinuxImage(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
const ( // EBS-backed storage. AmazonLinuxStorage_EBS AmazonLinuxStorage = "EBS" // S3-backed storage. AmazonLinuxStorage_S3 AmazonLinuxStorage = "S3" // General Purpose-based storage (recommended). AmazonLinuxStorage_GENERAL_PURPOSE AmazonLinuxStorage = "GENERAL_PURPOSE" )
type AmazonLinuxVirt ¶
type AmazonLinuxVirt string
Virtualization type for Amazon Linux.
Example:
// Pick a Windows edition to use windows := ec2.NewWindowsImage(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.NewGenericLinuxImage(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
const ( // HVM virtualization (recommended). AmazonLinuxVirt_HVM AmazonLinuxVirt = "HVM" // PV virtualization. AmazonLinuxVirt_PV AmazonLinuxVirt = "PV" )
type ApplyCloudFormationInitOptions ¶
type ApplyCloudFormationInitOptions struct { // ConfigSet to activate. ConfigSets *[]*string `field:"optional" json:"configSets" yaml:"configSets"` // Force instance replacement by embedding a config fingerprint. // // If `true` (the default), a hash of the config will be embedded into the // UserData, so that if the config changes, the UserData changes. // // - If the EC2 instance is instance-store backed or // `userDataCausesReplacement` is set, this will cause the instance to be // replaced and the new configuration to be applied. // - If the instance is EBS-backed and `userDataCausesReplacement` is not // set, the change of UserData will make the instance restart but not be // replaced, and the configuration will not be applied automatically. // // If `false`, no hash will be embedded, and if the CloudFormation Init // config changes nothing will happen to the running instance. If a // config update introduces errors, you will not notice until after the // CloudFormation deployment successfully finishes and the next instance // fails to launch. EmbedFingerprint *bool `field:"optional" json:"embedFingerprint" yaml:"embedFingerprint"` // Don't fail the instance creation when cfn-init fails. // // You can use this to prevent CloudFormation from rolling back when // instances fail to start up, to help in debugging. IgnoreFailures *bool `field:"optional" json:"ignoreFailures" yaml:"ignoreFailures"` // Include --role argument when running cfn-init and cfn-signal commands. // // This will be the IAM instance profile attached to the EC2 instance. IncludeRole *bool `field:"optional" json:"includeRole" yaml:"includeRole"` // Include --url argument when running cfn-init and cfn-signal commands. // // This will be the cloudformation endpoint in the deployed region // e.g. https://cloudformation.us-east-1.amazonaws.com IncludeUrl *bool `field:"optional" json:"includeUrl" yaml:"includeUrl"` // Print the results of running cfn-init to the Instance System Log. // // By default, the output of running cfn-init is written to a log file // on the instance. Set this to `true` to print it to the System Log // (visible from the EC2 Console), `false` to not print it. // // (Be aware that the system log is refreshed at certain points in // time of the instance life cycle, and successful execution may // not always show up). PrintLog *bool `field:"optional" json:"printLog" yaml:"printLog"` // Timeout waiting for the configuration to be applied. Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"` }
Options for applying CloudFormation init to an instance or instance group.
Example:
var vpc vpc var instanceType instanceType var machineImage iMachineImage ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: MachineImage, // Showing the most complex setup, if you have simpler requirements // you can use `CloudFormationInit.fromElements()`. Init: ec2.CloudFormationInit_FromConfigSets(&ConfigSetProps{ ConfigSets: map[string][]*string{ // Applies the configs below in this order "default": []*string{ jsii.String("yumPreinstall"), jsii.String("config"), }, }, Configs: map[string]initConfig{ "yumPreinstall": ec2.NewInitConfig([]InitElement{ ec2.InitPackage_yum(jsii.String("git")), }), "config": ec2.NewInitConfig([]InitElement{ ec2.InitFile_fromObject(jsii.String("/etc/stack.json"), map[string]interface{}{ "stackId": awscdk.*stack_of(this).stackId, "stackName": awscdk.*stack_of(this).stackName, "region": awscdk.*stack_of(this).region, }), ec2.InitGroup_fromName(jsii.String("my-group")), ec2.InitUser_fromName(jsii.String("my-user")), ec2.InitPackage_rpm(jsii.String("http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/rubygem-git-1.5.0-2.el8.noarch.rpm")), }), }, }), InitOptions: &ApplyCloudFormationInitOptions{ // Optional, which configsets to activate (['default'] by default) ConfigSets: []*string{ jsii.String("default"), }, // Optional, how long the installation is expected to take (5 minutes by default) Timeout: awscdk.Duration_Minutes(jsii.Number(30)), // Optional, whether to include the --url argument when running cfn-init and cfn-signal commands (false by default) IncludeUrl: jsii.Boolean(true), // Optional, whether to include the --role argument when running cfn-init and cfn-signal commands (false by default) IncludeRole: jsii.Boolean(true), }, })
type AttachInitOptions ¶
type AttachInitOptions struct { // Instance role of the consuming instance or fleet. InstanceRole awsiam.IRole `field:"required" json:"instanceRole" yaml:"instanceRole"` // OS Platform the init config will be used for. Platform OperatingSystemType `field:"required" json:"platform" yaml:"platform"` // UserData to add commands to. UserData UserData `field:"required" json:"userData" yaml:"userData"` // ConfigSet to activate. ConfigSets *[]*string `field:"optional" json:"configSets" yaml:"configSets"` // Whether to embed a hash into the userData. // // If `true` (the default), a hash of the config will be embedded into the // UserData, so that if the config changes, the UserData changes and // the instance will be replaced. // // If `false`, no such hash will be embedded, and if the CloudFormation Init // config changes nothing will happen to the running instance. EmbedFingerprint *bool `field:"optional" json:"embedFingerprint" yaml:"embedFingerprint"` // Don't fail the instance creation when cfn-init fails. // // You can use this to prevent CloudFormation from rolling back when // instances fail to start up, to help in debugging. IgnoreFailures *bool `field:"optional" json:"ignoreFailures" yaml:"ignoreFailures"` // Include --role argument when running cfn-init and cfn-signal commands. // // This will be the IAM instance profile attached to the EC2 instance. IncludeRole *bool `field:"optional" json:"includeRole" yaml:"includeRole"` // Include --url argument when running cfn-init and cfn-signal commands. // // This will be the cloudformation endpoint in the deployed region // e.g. https://cloudformation.us-east-1.amazonaws.com IncludeUrl *bool `field:"optional" json:"includeUrl" yaml:"includeUrl"` // Print the results of running cfn-init to the Instance System Log. // // By default, the output of running cfn-init is written to a log file // on the instance. Set this to `true` to print it to the System Log // (visible from the EC2 Console), `false` to not print it. // // (Be aware that the system log is refreshed at certain points in // time of the instance life cycle, and successful execution may // not always show up). PrintLog *bool `field:"optional" json:"printLog" yaml:"printLog"` // When provided, signals this resource instead of the attached resource. // // You can use this to support signaling LaunchTemplate while attaching AutoScalingGroup. SignalResource awscdk.CfnResource `field:"optional" json:"signalResource" yaml:"signalResource"` }
Options for attaching a CloudFormationInit to a resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var cfnResource cfnResource var role role var userData userData attachInitOptions := &AttachInitOptions{ InstanceRole: role, Platform: awscdk.Aws_ec2.OperatingSystemType_LINUX, UserData: userData, // the properties below are optional ConfigSets: []*string{ jsii.String("configSets"), }, EmbedFingerprint: jsii.Boolean(false), IgnoreFailures: jsii.Boolean(false), IncludeRole: jsii.Boolean(false), IncludeUrl: jsii.Boolean(false), PrintLog: jsii.Boolean(false), SignalResource: cfnResource, }
type AwsIpamProps ¶ added in v2.48.0
type AwsIpamProps struct { // Ipam Pool Id for ipv4 allocation. Ipv4IpamPoolId *string `field:"required" json:"ipv4IpamPoolId" yaml:"ipv4IpamPoolId"` // Netmask length for Vpc. Ipv4NetmaskLength *float64 `field:"required" json:"ipv4NetmaskLength" yaml:"ipv4NetmaskLength"` // Default length for Subnet ipv4 Network mask. // // Specify this option only if you do not specify all Subnets using SubnetConfiguration with a cidrMask. DefaultSubnetIpv4NetmaskLength *float64 `field:"optional" json:"defaultSubnetIpv4NetmaskLength" yaml:"defaultSubnetIpv4NetmaskLength"` }
Configuration for AwsIpam.
Example:
import "github.com/aws/aws-cdk-go/awscdk" var pool cfnIPAMPool ec2.NewVpc(this, jsii.String("TheVPC"), &VpcProps{ IpAddresses: awscdk.IpAddresses_AwsIpamAllocation(&AwsIpamProps{ Ipv4IpamPoolId: pool.ref, Ipv4NetmaskLength: jsii.Number(18), DefaultSubnetIpv4NetmaskLength: jsii.Number(24), }), })
type BastionHostLinux ¶
type BastionHostLinux interface { awscdk.Resource IInstance // Allows specify security group connections for the instance. Connections() Connections // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The principal to grant permissions to. GrantPrincipal() awsiam.IPrincipal // The underlying instance resource. Instance() Instance // The availability zone the instance was launched in. InstanceAvailabilityZone() *string // The instance's ID. InstanceId() *string // Private DNS name for this instance. InstancePrivateDnsName() *string // Private IP for this instance. InstancePrivateIp() *string // Publicly-routable DNS name for this instance. // // (May be an empty string if the instance does not have a public name). InstancePublicDnsName() *string // Publicly-routable IP address for this instance. // // (May be an empty string if the instance does not have a public IP). InstancePublicIp() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The IAM role assumed by the instance. Role() awsiam.IRole // The stack in which this resource is defined. Stack() awscdk.Stack // Allow SSH access from the given peer or peers. // // Necessary if you want to connect to the instance using ssh. If not // called, you should use SSM Session Manager to connect to the instance. AllowSshAccessFrom(peer ...IPeer) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
This creates a linux bastion host you can use to connect to other instances or services in your VPC.
The recommended way to connect to the bastion host is by using AWS Systems Manager Session Manager.
The operating system is Amazon Linux 2 with the latest SSM agent installed ¶
You can also configure this bastion host to allow connections via SSH.
Example:
host := ec2.NewBastionHostLinux(this, jsii.String("BastionHost"), &BastionHostLinuxProps{ Vpc: Vpc, BlockDevices: []blockDevice{ &blockDevice{ DeviceName: jsii.String("EBSBastionHost"), Volume: ec2.BlockDeviceVolume_Ebs(jsii.Number(10), &EbsDeviceOptions{ Encrypted: jsii.Boolean(true), }), }, }, })
func NewBastionHostLinux ¶
func NewBastionHostLinux(scope constructs.Construct, id *string, props *BastionHostLinuxProps) BastionHostLinux
type BastionHostLinuxProps ¶
type BastionHostLinuxProps struct { // VPC to launch the instance in. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` // In which AZ to place the instance within the VPC. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. // // Each instance that is launched has an associated root device volume, // either an Amazon EBS volume or an instance store volume. // You can use block device mappings to specify additional EBS volumes or // instance store volumes to attach to an instance when it is launched. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html // BlockDevices *[]*BlockDevice `field:"optional" json:"blockDevices" yaml:"blockDevices"` // Apply the given CloudFormation Init configuration to the instance at startup. Init CloudFormationInit `field:"optional" json:"init" yaml:"init"` // Use the given options for applying CloudFormation Init. // // Describes the configsets to use and the timeout to wait. InitOptions *ApplyCloudFormationInitOptions `field:"optional" json:"initOptions" yaml:"initOptions"` // The name of the instance. InstanceName *string `field:"optional" json:"instanceName" yaml:"instanceName"` // Type of instance to launch. InstanceType InstanceType `field:"optional" json:"instanceType" yaml:"instanceType"` // The machine image to use, assumed to have SSM Agent preinstalled. MachineImage IMachineImage `field:"optional" json:"machineImage" yaml:"machineImage"` // Whether IMDSv2 should be required on this instance. RequireImdsv2 *bool `field:"optional" json:"requireImdsv2" yaml:"requireImdsv2"` // Security Group to assign to this instance. SecurityGroup ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` // Select the subnets to run the bastion host in. // // Set this to PUBLIC if you need to connect to this instance via the internet and cannot use SSM. // You have to allow port 22 manually by using the connections field. SubnetSelection *SubnetSelection `field:"optional" json:"subnetSelection" yaml:"subnetSelection"` }
Properties of the bastion host.
Example:
host := ec2.NewBastionHostLinux(this, jsii.String("BastionHost"), &BastionHostLinuxProps{ Vpc: Vpc, BlockDevices: []blockDevice{ &blockDevice{ DeviceName: jsii.String("EBSBastionHost"), Volume: ec2.BlockDeviceVolume_Ebs(jsii.Number(10), &EbsDeviceOptions{ Encrypted: jsii.Boolean(true), }), }, }, })
type BlockDevice ¶
type BlockDevice struct { // The device name exposed to the EC2 instance. // // For example, a value like `/dev/sdh`, `xvdh`. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html // DeviceName *string `field:"required" json:"deviceName" yaml:"deviceName"` // Defines the block device volume, to be either an Amazon EBS volume or an ephemeral instance store volume. // // For example, a value like `BlockDeviceVolume.ebs(15)`, `BlockDeviceVolume.ephemeral(0)`. Volume BlockDeviceVolume `field:"required" json:"volume" yaml:"volume"` // If false, the device mapping will be suppressed. // // If set to false for the root device, the instance might fail the Amazon EC2 health check. // Amazon EC2 Auto Scaling launches a replacement instance if the instance fails the health check. MappingEnabled *bool `field:"optional" json:"mappingEnabled" yaml:"mappingEnabled"` }
Block device.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var blockDeviceVolume blockDeviceVolume blockDevice := &BlockDevice{ DeviceName: jsii.String("deviceName"), Volume: blockDeviceVolume, // the properties below are optional MappingEnabled: jsii.Boolean(false), }
type BlockDeviceVolume ¶
type BlockDeviceVolume interface { // EBS device info. EbsDevice() *EbsDeviceProps // Virtual device name. VirtualName() *string }
Describes a block device mapping for an EC2 instance or Auto Scaling group.
Example:
var vpc vpc var instanceType instanceType var machineImage iMachineImage ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: MachineImage, // ... BlockDevices: []blockDevice{ &blockDevice{ DeviceName: jsii.String("/dev/sda1"), Volume: ec2.BlockDeviceVolume_Ebs(jsii.Number(50)), }, &blockDevice{ DeviceName: jsii.String("/dev/sdm"), Volume: ec2.BlockDeviceVolume_*Ebs(jsii.Number(100)), }, }, })
func BlockDeviceVolume_Ebs ¶
func BlockDeviceVolume_Ebs(volumeSize *float64, options *EbsDeviceOptions) BlockDeviceVolume
Creates a new Elastic Block Storage device.
func BlockDeviceVolume_EbsFromSnapshot ¶
func BlockDeviceVolume_EbsFromSnapshot(snapshotId *string, options *EbsDeviceSnapshotOptions) BlockDeviceVolume
Creates a new Elastic Block Storage device from an existing snapshot.
func BlockDeviceVolume_Ephemeral ¶
func BlockDeviceVolume_Ephemeral(volumeIndex *float64) BlockDeviceVolume
Creates a virtual, ephemeral device.
The name will be in the form ephemeral{volumeIndex}.
func NewBlockDeviceVolume ¶
func NewBlockDeviceVolume(ebsDevice *EbsDeviceProps, virtualName *string) BlockDeviceVolume
type CfnCapacityReservation ¶
type CfnCapacityReservation interface { awscdk.CfnResource awscdk.IInspectable // Returns the Availability Zone in which the capacity is reserved. // // For example: `us-east-1a` . AttrAvailabilityZone() *string // Returns the remaining capacity, which indicates the number of instances that can be launched in the Capacity Reservation. // // For example: `9` . AttrAvailableInstanceCount() *float64 // The ID of the Capacity Reservation. AttrId() *string // Returns the type of instance for which the capacity is reserved. // // For example: `m4.large` . AttrInstanceType() *string // Returns the tenancy of the Capacity Reservation. // // For example: `dedicated` . AttrTenancy() *string // Returns the total number of instances for which the Capacity Reservation reserves capacity. // // For example: `15` . AttrTotalInstanceCount() *float64 // The Availability Zone in which to create the Capacity Reservation. AvailabilityZone() *string SetAvailabilityZone(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Indicates whether the Capacity Reservation supports EBS-optimized instances. // // This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance. EbsOptimized() interface{} SetEbsOptimized(val interface{}) // The date and time at which the Capacity Reservation expires. // // When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to `expired` when it reaches its end date and time. // // You must provide an `EndDate` value if `EndDateType` is `limited` . Omit `EndDate` if `EndDateType` is `unlimited` . // // If the `EndDateType` is `limited` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019. EndDate() *string SetEndDate(val *string) // Indicates the way in which the Capacity Reservation ends. // // A Capacity Reservation can have one of the following end types: // // - `unlimited` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an `EndDate` if the `EndDateType` is `unlimited` . // - `limited` - The Capacity Reservation expires automatically at a specified date and time. You must provide an `EndDate` value if the `EndDateType` value is `limited` . EndDateType() *string SetEndDateType(val *string) // *Deprecated.*. EphemeralStorage() interface{} SetEphemeralStorage(val interface{}) // The number of instances for which to reserve capacity. // // Valid range: 1 - 1000. InstanceCount() *float64 SetInstanceCount(val *float64) // Indicates the type of instance launches that the Capacity Reservation accepts. The options include:. // // - `open` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters. // - `targeted` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. // // Default: `open`. InstanceMatchCriteria() *string SetInstanceMatchCriteria(val *string) // The type of operating system for which to reserve capacity. InstancePlatform() *string SetInstancePlatform(val *string) // The instance type for which to reserve capacity. // // For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* . InstanceType() *string SetInstanceType(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation. OutPostArn() *string SetOutPostArn(val *string) // The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. // // For more information, see [Capacity Reservations for cluster placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) in the *Amazon EC2 User Guide* . PlacementGroupArn() *string SetPlacementGroupArn(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to apply to the Capacity Reservation during launch. TagSpecifications() interface{} SetTagSpecifications(val interface{}) // Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:. // // - `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . // - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . Tenancy() *string SetTenancy(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::CapacityReservation`.
Creates a new Capacity Reservation with the specified attributes. For more information, see [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCapacityReservation := awscdk.Aws_ec2.NewCfnCapacityReservation(this, jsii.String("MyCfnCapacityReservation"), &CfnCapacityReservationProps{ AvailabilityZone: jsii.String("availabilityZone"), InstanceCount: jsii.Number(123), InstancePlatform: jsii.String("instancePlatform"), InstanceType: jsii.String("instanceType"), // the properties below are optional EbsOptimized: jsii.Boolean(false), EndDate: jsii.String("endDate"), EndDateType: jsii.String("endDateType"), EphemeralStorage: jsii.Boolean(false), InstanceMatchCriteria: jsii.String("instanceMatchCriteria"), OutPostArn: jsii.String("outPostArn"), PlacementGroupArn: jsii.String("placementGroupArn"), TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, Tenancy: jsii.String("tenancy"), })
func NewCfnCapacityReservation ¶
func NewCfnCapacityReservation(scope constructs.Construct, id *string, props *CfnCapacityReservationProps) CfnCapacityReservation
Create a new `AWS::EC2::CapacityReservation`.
type CfnCapacityReservationFleet ¶
type CfnCapacityReservationFleet interface { awscdk.CfnResource awscdk.IInspectable // The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. // // Currently, only the `prioritized` allocation strategy is supported. For more information, see [Allocation strategy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy) in the Amazon EC2 User Guide. // // Valid values: `prioritized`. AllocationStrategy() *string SetAllocationStrategy(val *string) // The ID of the Capacity Reservation Fleet. AttrCapacityReservationFleetId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The date and time at which the Capacity Reservation Fleet expires. // // When the Capacity Reservation Fleet expires, its state changes to `expired` and all of the Capacity Reservations in the Fleet expire. // // The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify `5/31/2019` , `13:30:55` , the Capacity Reservation Fleet is guaranteed to expire between `13:30:55` and `14:30:55` on `5/31/2019` . EndDate() *string SetEndDate(val *string) // Indicates the type of instance launches that the Capacity Reservation Fleet accepts. // // All Capacity Reservations in the Fleet inherit this instance matching criteria. // // Currently, Capacity Reservation Fleets support `open` instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity. InstanceMatchCriteria() *string SetInstanceMatchCriteria(val *string) // Information about the instance types for which to reserve the capacity. InstanceTypeSpecifications() interface{} SetInstanceTypeSpecifications(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Used to add an end date to a Capacity Reservation Fleet that has no end date and time. // // To add an end date to a Capacity Reservation Fleet, specify `true` for this paramater and specify the end date and time (in UTC time format) for the *EndDate* parameter. NoRemoveEndDate() interface{} SetNoRemoveEndDate(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time. // // To remove the end date from a Capacity Reservation Fleet, specify `true` for this paramater and omit the *EndDate* parameter. RemoveEndDate() interface{} SetRemoveEndDate(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to assign to the Capacity Reservation Fleet. // // The tags are automatically assigned to the Capacity Reservations in the Fleet. TagSpecifications() interface{} SetTagSpecifications(val interface{}) // Indicates the tenancy of the Capacity Reservation Fleet. // // All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings: // // - `default` - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts . // - `dedicated` - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account . Tenancy() *string SetTenancy(val *string) // The total number of capacity units to be reserved by the Capacity Reservation Fleet. // // This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide. TotalTargetCapacity() *float64 SetTotalTargetCapacity(val *float64) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::CapacityReservationFleet`.
Creates a new Capacity Reservation Fleet with the specified attributes. For more information, see [Capacity Reservation Fleets](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-fleets.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCapacityReservationFleet := awscdk.Aws_ec2.NewCfnCapacityReservationFleet(this, jsii.String("MyCfnCapacityReservationFleet"), &CfnCapacityReservationFleetProps{ AllocationStrategy: jsii.String("allocationStrategy"), EndDate: jsii.String("endDate"), InstanceMatchCriteria: jsii.String("instanceMatchCriteria"), InstanceTypeSpecifications: []interface{}{ &InstanceTypeSpecificationProperty{ AvailabilityZone: jsii.String("availabilityZone"), AvailabilityZoneId: jsii.String("availabilityZoneId"), EbsOptimized: jsii.Boolean(false), InstancePlatform: jsii.String("instancePlatform"), InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), Weight: jsii.Number(123), }, }, NoRemoveEndDate: jsii.Boolean(false), RemoveEndDate: jsii.Boolean(false), TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, Tenancy: jsii.String("tenancy"), TotalTargetCapacity: jsii.Number(123), })
func NewCfnCapacityReservationFleet ¶
func NewCfnCapacityReservationFleet(scope constructs.Construct, id *string, props *CfnCapacityReservationFleetProps) CfnCapacityReservationFleet
Create a new `AWS::EC2::CapacityReservationFleet`.
type CfnCapacityReservationFleetProps ¶
type CfnCapacityReservationFleetProps struct { // The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. // // Currently, only the `prioritized` allocation strategy is supported. For more information, see [Allocation strategy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy) in the Amazon EC2 User Guide. // // Valid values: `prioritized`. AllocationStrategy *string `field:"optional" json:"allocationStrategy" yaml:"allocationStrategy"` // The date and time at which the Capacity Reservation Fleet expires. // // When the Capacity Reservation Fleet expires, its state changes to `expired` and all of the Capacity Reservations in the Fleet expire. // // The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify `5/31/2019` , `13:30:55` , the Capacity Reservation Fleet is guaranteed to expire between `13:30:55` and `14:30:55` on `5/31/2019` . EndDate *string `field:"optional" json:"endDate" yaml:"endDate"` // Indicates the type of instance launches that the Capacity Reservation Fleet accepts. // // All Capacity Reservations in the Fleet inherit this instance matching criteria. // // Currently, Capacity Reservation Fleets support `open` instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity. InstanceMatchCriteria *string `field:"optional" json:"instanceMatchCriteria" yaml:"instanceMatchCriteria"` // Information about the instance types for which to reserve the capacity. InstanceTypeSpecifications interface{} `field:"optional" json:"instanceTypeSpecifications" yaml:"instanceTypeSpecifications"` // Used to add an end date to a Capacity Reservation Fleet that has no end date and time. // // To add an end date to a Capacity Reservation Fleet, specify `true` for this paramater and specify the end date and time (in UTC time format) for the *EndDate* parameter. NoRemoveEndDate interface{} `field:"optional" json:"noRemoveEndDate" yaml:"noRemoveEndDate"` // Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time. // // To remove the end date from a Capacity Reservation Fleet, specify `true` for this paramater and omit the *EndDate* parameter. RemoveEndDate interface{} `field:"optional" json:"removeEndDate" yaml:"removeEndDate"` // The tags to assign to the Capacity Reservation Fleet. // // The tags are automatically assigned to the Capacity Reservations in the Fleet. TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // Indicates the tenancy of the Capacity Reservation Fleet. // // All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings: // // - `default` - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts . // - `dedicated` - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account . Tenancy *string `field:"optional" json:"tenancy" yaml:"tenancy"` // The total number of capacity units to be reserved by the Capacity Reservation Fleet. // // This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide. TotalTargetCapacity *float64 `field:"optional" json:"totalTargetCapacity" yaml:"totalTargetCapacity"` }
Properties for defining a `CfnCapacityReservationFleet`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCapacityReservationFleetProps := &CfnCapacityReservationFleetProps{ AllocationStrategy: jsii.String("allocationStrategy"), EndDate: jsii.String("endDate"), InstanceMatchCriteria: jsii.String("instanceMatchCriteria"), InstanceTypeSpecifications: []interface{}{ &InstanceTypeSpecificationProperty{ AvailabilityZone: jsii.String("availabilityZone"), AvailabilityZoneId: jsii.String("availabilityZoneId"), EbsOptimized: jsii.Boolean(false), InstancePlatform: jsii.String("instancePlatform"), InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), Weight: jsii.Number(123), }, }, NoRemoveEndDate: jsii.Boolean(false), RemoveEndDate: jsii.Boolean(false), TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, Tenancy: jsii.String("tenancy"), TotalTargetCapacity: jsii.Number(123), }
type CfnCapacityReservationFleet_InstanceTypeSpecificationProperty ¶
type CfnCapacityReservationFleet_InstanceTypeSpecificationProperty struct { // The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. // // A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the capacity. // // A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications that you specify for the Fleet must use the same Availability Zone. AvailabilityZoneId *string `field:"optional" json:"availabilityZoneId" yaml:"availabilityZoneId"` // Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances types. // // This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using EBS-optimized instance types. EbsOptimized interface{} `field:"optional" json:"ebsOptimized" yaml:"ebsOptimized"` // The type of operating system for which the Capacity Reservation Fleet reserves capacity. InstancePlatform *string `field:"optional" json:"instancePlatform" yaml:"instancePlatform"` // The instance type for which the Capacity Reservation Fleet reserves capacity. InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"` // The priority to assign to the instance type. // // This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see [Instance type priority](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority) in the Amazon EC2 User Guide. Priority *float64 `field:"optional" json:"priority" yaml:"priority"` // The number of capacity units provided by the specified instance type. // // This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see [Total target capacity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity) in the Amazon EC2 User Guide. // // Valid Range: Minimum value of `0.001` . Maximum value of `99.999` . Weight *float64 `field:"optional" json:"weight" yaml:"weight"` }
Specifies information about an instance type to use in a Capacity Reservation Fleet.
`InstanceTypeSpecification` is a property of the [AWS::EC2::CapacityReservationFleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceTypeSpecificationProperty := &InstanceTypeSpecificationProperty{ AvailabilityZone: jsii.String("availabilityZone"), AvailabilityZoneId: jsii.String("availabilityZoneId"), EbsOptimized: jsii.Boolean(false), InstancePlatform: jsii.String("instancePlatform"), InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), Weight: jsii.Number(123), }
type CfnCapacityReservationFleet_TagSpecificationProperty ¶
type CfnCapacityReservationFleet_TagSpecificationProperty struct { // The type of resource to tag on creation. Specify `capacity-reservation-fleet` . // // To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) . ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // The tags to apply to the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
The tags to apply to a resource when the resource is being created.
When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.
> The `Valid Values` lists all the resource types that can be tagged. However, the action you're using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you're using, you'll get an error.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tagSpecificationProperty := &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnCapacityReservationProps ¶
type CfnCapacityReservationProps struct { // The Availability Zone in which to create the Capacity Reservation. AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // The number of instances for which to reserve capacity. // // Valid range: 1 - 1000. InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"` // The type of operating system for which to reserve capacity. InstancePlatform *string `field:"required" json:"instancePlatform" yaml:"instancePlatform"` // The instance type for which to reserve capacity. // // For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* . InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"` // Indicates whether the Capacity Reservation supports EBS-optimized instances. // // This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance. EbsOptimized interface{} `field:"optional" json:"ebsOptimized" yaml:"ebsOptimized"` // The date and time at which the Capacity Reservation expires. // // When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to `expired` when it reaches its end date and time. // // You must provide an `EndDate` value if `EndDateType` is `limited` . Omit `EndDate` if `EndDateType` is `unlimited` . // // If the `EndDateType` is `limited` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019. EndDate *string `field:"optional" json:"endDate" yaml:"endDate"` // Indicates the way in which the Capacity Reservation ends. // // A Capacity Reservation can have one of the following end types: // // - `unlimited` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an `EndDate` if the `EndDateType` is `unlimited` . // - `limited` - The Capacity Reservation expires automatically at a specified date and time. You must provide an `EndDate` value if the `EndDateType` value is `limited` . EndDateType *string `field:"optional" json:"endDateType" yaml:"endDateType"` // *Deprecated.*. EphemeralStorage interface{} `field:"optional" json:"ephemeralStorage" yaml:"ephemeralStorage"` // Indicates the type of instance launches that the Capacity Reservation accepts. The options include:. // // - `open` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters. // - `targeted` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. // // Default: `open`. InstanceMatchCriteria *string `field:"optional" json:"instanceMatchCriteria" yaml:"instanceMatchCriteria"` // The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation. OutPostArn *string `field:"optional" json:"outPostArn" yaml:"outPostArn"` // The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. // // For more information, see [Capacity Reservations for cluster placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html) in the *Amazon EC2 User Guide* . PlacementGroupArn *string `field:"optional" json:"placementGroupArn" yaml:"placementGroupArn"` // The tags to apply to the Capacity Reservation during launch. TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:. // // - `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . // - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . Tenancy *string `field:"optional" json:"tenancy" yaml:"tenancy"` }
Properties for defining a `CfnCapacityReservation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCapacityReservationProps := &CfnCapacityReservationProps{ AvailabilityZone: jsii.String("availabilityZone"), InstanceCount: jsii.Number(123), InstancePlatform: jsii.String("instancePlatform"), InstanceType: jsii.String("instanceType"), // the properties below are optional EbsOptimized: jsii.Boolean(false), EndDate: jsii.String("endDate"), EndDateType: jsii.String("endDateType"), EphemeralStorage: jsii.Boolean(false), InstanceMatchCriteria: jsii.String("instanceMatchCriteria"), OutPostArn: jsii.String("outPostArn"), PlacementGroupArn: jsii.String("placementGroupArn"), TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, Tenancy: jsii.String("tenancy"), }
type CfnCapacityReservation_TagSpecificationProperty ¶
type CfnCapacityReservation_TagSpecificationProperty struct { // The type of resource to tag. // // Specify `capacity-reservation` . ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // The tags to apply to the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
An array of key-value pairs to apply to this resource.
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tagSpecificationProperty := &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnCarrierGateway ¶
type CfnCarrierGateway interface { awscdk.CfnResource awscdk.IInspectable // The ID of the carrier gateway. AttrCarrierGatewayId() *string // The AWS account ID of the owner of the carrier gateway. AttrOwnerId() *string // The state of the carrier gateway. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags assigned to the carrier gateway. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC associated with the carrier gateway. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::CarrierGateway`.
Creates a carrier gateway. For more information about carrier gateways, see [Carrier gateways](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway) in the *AWS Wavelength Developer Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCarrierGateway := awscdk.Aws_ec2.NewCfnCarrierGateway(this, jsii.String("MyCfnCarrierGateway"), &CfnCarrierGatewayProps{ VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnCarrierGateway ¶
func NewCfnCarrierGateway(scope constructs.Construct, id *string, props *CfnCarrierGatewayProps) CfnCarrierGateway
Create a new `AWS::EC2::CarrierGateway`.
type CfnCarrierGatewayProps ¶
type CfnCarrierGatewayProps struct { // The ID of the VPC associated with the carrier gateway. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // The tags assigned to the carrier gateway. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnCarrierGateway`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCarrierGatewayProps := &CfnCarrierGatewayProps{ VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnClientVpnAuthorizationRule ¶
type CfnClientVpnAuthorizationRule interface { awscdk.CfnResource awscdk.IInspectable // The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. // // Required if `AuthorizeAllGroups` is `false` or not specified. AccessGroupId() *string SetAccessGroupId(val *string) // Indicates whether to grant access to all clients. // // Specify `true` to grant all clients who successfully establish a VPN connection access to the network. Must be set to `true` if `AccessGroupId` is not specified. AuthorizeAllGroups() interface{} SetAuthorizeAllGroups(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The ID of the Client VPN endpoint. ClientVpnEndpointId() *string SetClientVpnEndpointId(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A brief description of the authorization rule. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The IPv4 address range, in CIDR notation, of the network for which access is being authorized. TargetNetworkCidr() *string SetTargetNetworkCidr(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::ClientVpnAuthorizationRule`.
Specifies an ingress authorization rule to add to a Client VPN endpoint. Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in AWS or on-premises networks.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnAuthorizationRule := awscdk.Aws_ec2.NewCfnClientVpnAuthorizationRule(this, jsii.String("MyCfnClientVpnAuthorizationRule"), &CfnClientVpnAuthorizationRuleProps{ ClientVpnEndpointId: jsii.String("clientVpnEndpointId"), TargetNetworkCidr: jsii.String("targetNetworkCidr"), // the properties below are optional AccessGroupId: jsii.String("accessGroupId"), AuthorizeAllGroups: jsii.Boolean(false), Description: jsii.String("description"), })
func NewCfnClientVpnAuthorizationRule ¶
func NewCfnClientVpnAuthorizationRule(scope constructs.Construct, id *string, props *CfnClientVpnAuthorizationRuleProps) CfnClientVpnAuthorizationRule
Create a new `AWS::EC2::ClientVpnAuthorizationRule`.
type CfnClientVpnAuthorizationRuleProps ¶
type CfnClientVpnAuthorizationRuleProps struct { // The ID of the Client VPN endpoint. ClientVpnEndpointId *string `field:"required" json:"clientVpnEndpointId" yaml:"clientVpnEndpointId"` // The IPv4 address range, in CIDR notation, of the network for which access is being authorized. TargetNetworkCidr *string `field:"required" json:"targetNetworkCidr" yaml:"targetNetworkCidr"` // The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. // // Required if `AuthorizeAllGroups` is `false` or not specified. AccessGroupId *string `field:"optional" json:"accessGroupId" yaml:"accessGroupId"` // Indicates whether to grant access to all clients. // // Specify `true` to grant all clients who successfully establish a VPN connection access to the network. Must be set to `true` if `AccessGroupId` is not specified. AuthorizeAllGroups interface{} `field:"optional" json:"authorizeAllGroups" yaml:"authorizeAllGroups"` // A brief description of the authorization rule. Description *string `field:"optional" json:"description" yaml:"description"` }
Properties for defining a `CfnClientVpnAuthorizationRule`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnAuthorizationRuleProps := &CfnClientVpnAuthorizationRuleProps{ ClientVpnEndpointId: jsii.String("clientVpnEndpointId"), TargetNetworkCidr: jsii.String("targetNetworkCidr"), // the properties below are optional AccessGroupId: jsii.String("accessGroupId"), AuthorizeAllGroups: jsii.Boolean(false), Description: jsii.String("description"), }
type CfnClientVpnEndpoint ¶
type CfnClientVpnEndpoint interface { awscdk.CfnResource awscdk.IInspectable // Information about the authentication method to be used to authenticate clients. AuthenticationOptions() interface{} SetAuthenticationOptions(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The IPv4 address range, in CIDR notation, from which to assign client IP addresses. // // The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12. ClientCidrBlock() *string SetClientCidrBlock(val *string) // The options for managing connection authorization for new client connections. ClientConnectOptions() interface{} SetClientConnectOptions(val interface{}) // Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. ClientLoginBannerOptions() interface{} SetClientLoginBannerOptions(val interface{}) // Information about the client connection logging options. // // If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged: // // - Client connection requests // - Client connection results (successful and unsuccessful) // - Reasons for unsuccessful client connection requests // - Client connection termination time. ConnectionLogOptions() interface{} SetConnectionLogOptions(val interface{}) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A brief description of the Client VPN endpoint. Description() *string SetDescription(val *string) // Information about the DNS servers to be used for DNS resolution. // // A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server. DnsServers() *[]*string SetDnsServers(val *[]*string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The IDs of one or more security groups to apply to the target network. // // You must also specify the ID of the VPC that contains the security groups. SecurityGroupIds() *[]*string SetSecurityGroupIds(val *[]*string) // Specify whether to enable the self-service portal for the Client VPN endpoint. // // Default Value: `enabled`. SelfServicePortal() *string SetSelfServicePortal(val *string) // The ARN of the server certificate. // // For more information, see the [AWS Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/) . ServerCertificateArn() *string SetServerCertificateArn(val *string) // The maximum VPN session duration time in hours. // // Valid values: `8 | 10 | 12 | 24` // // Default value: `24`. SessionTimeoutHours() *float64 SetSessionTimeoutHours(val *float64) // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint. // // By default, split-tunnel on a VPN endpoint is disabled. // // For information about split-tunnel VPN endpoints, see [Split-tunnel AWS Client VPN endpoint](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) in the *AWS Client VPN Administrator Guide* . SplitTunnel() interface{} SetSplitTunnel(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to apply to the Client VPN endpoint during creation. TagSpecifications() interface{} SetTagSpecifications(val interface{}) // The transport protocol to be used by the VPN session. // // Default value: `udp`. TransportProtocol() *string SetTransportProtocol(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC to associate with the Client VPN endpoint. // // If no security group IDs are specified in the request, the default security group for the VPC is applied. VpcId() *string SetVpcId(val *string) // The port number to assign to the Client VPN endpoint for TCP and UDP traffic. // // Valid Values: `443` | `1194` // // Default Value: `443`. VpnPort() *float64 SetVpnPort(val *float64) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::ClientVpnEndpoint`.
Specifies a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnEndpoint := awscdk.Aws_ec2.NewCfnClientVpnEndpoint(this, jsii.String("MyCfnClientVpnEndpoint"), &CfnClientVpnEndpointProps{ AuthenticationOptions: []interface{}{ &ClientAuthenticationRequestProperty{ Type: jsii.String("type"), // the properties below are optional ActiveDirectory: &DirectoryServiceAuthenticationRequestProperty{ DirectoryId: jsii.String("directoryId"), }, FederatedAuthentication: &FederatedAuthenticationRequestProperty{ SamlProviderArn: jsii.String("samlProviderArn"), // the properties below are optional SelfServiceSamlProviderArn: jsii.String("selfServiceSamlProviderArn"), }, MutualAuthentication: &CertificateAuthenticationRequestProperty{ ClientRootCertificateChainArn: jsii.String("clientRootCertificateChainArn"), }, }, }, ClientCidrBlock: jsii.String("clientCidrBlock"), ConnectionLogOptions: &ConnectionLogOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional CloudwatchLogGroup: jsii.String("cloudwatchLogGroup"), CloudwatchLogStream: jsii.String("cloudwatchLogStream"), }, ServerCertificateArn: jsii.String("serverCertificateArn"), // the properties below are optional ClientConnectOptions: &ClientConnectOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional LambdaFunctionArn: jsii.String("lambdaFunctionArn"), }, ClientLoginBannerOptions: &ClientLoginBannerOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional BannerText: jsii.String("bannerText"), }, Description: jsii.String("description"), DnsServers: []*string{ jsii.String("dnsServers"), }, SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, SelfServicePortal: jsii.String("selfServicePortal"), SessionTimeoutHours: jsii.Number(123), SplitTunnel: jsii.Boolean(false), TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, TransportProtocol: jsii.String("transportProtocol"), VpcId: jsii.String("vpcId"), VpnPort: jsii.Number(123), })
func NewCfnClientVpnEndpoint ¶
func NewCfnClientVpnEndpoint(scope constructs.Construct, id *string, props *CfnClientVpnEndpointProps) CfnClientVpnEndpoint
Create a new `AWS::EC2::ClientVpnEndpoint`.
type CfnClientVpnEndpointProps ¶
type CfnClientVpnEndpointProps struct { // Information about the authentication method to be used to authenticate clients. AuthenticationOptions interface{} `field:"required" json:"authenticationOptions" yaml:"authenticationOptions"` // The IPv4 address range, in CIDR notation, from which to assign client IP addresses. // // The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12. ClientCidrBlock *string `field:"required" json:"clientCidrBlock" yaml:"clientCidrBlock"` // Information about the client connection logging options. // // If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged: // // - Client connection requests // - Client connection results (successful and unsuccessful) // - Reasons for unsuccessful client connection requests // - Client connection termination time. ConnectionLogOptions interface{} `field:"required" json:"connectionLogOptions" yaml:"connectionLogOptions"` // The ARN of the server certificate. // // For more information, see the [AWS Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/) . ServerCertificateArn *string `field:"required" json:"serverCertificateArn" yaml:"serverCertificateArn"` // The options for managing connection authorization for new client connections. ClientConnectOptions interface{} `field:"optional" json:"clientConnectOptions" yaml:"clientConnectOptions"` // Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. ClientLoginBannerOptions interface{} `field:"optional" json:"clientLoginBannerOptions" yaml:"clientLoginBannerOptions"` // A brief description of the Client VPN endpoint. Description *string `field:"optional" json:"description" yaml:"description"` // Information about the DNS servers to be used for DNS resolution. // // A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server. DnsServers *[]*string `field:"optional" json:"dnsServers" yaml:"dnsServers"` // The IDs of one or more security groups to apply to the target network. // // You must also specify the ID of the VPC that contains the security groups. SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"` // Specify whether to enable the self-service portal for the Client VPN endpoint. // // Default Value: `enabled`. SelfServicePortal *string `field:"optional" json:"selfServicePortal" yaml:"selfServicePortal"` // The maximum VPN session duration time in hours. // // Valid values: `8 | 10 | 12 | 24` // // Default value: `24`. SessionTimeoutHours *float64 `field:"optional" json:"sessionTimeoutHours" yaml:"sessionTimeoutHours"` // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint. // // By default, split-tunnel on a VPN endpoint is disabled. // // For information about split-tunnel VPN endpoints, see [Split-tunnel AWS Client VPN endpoint](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) in the *AWS Client VPN Administrator Guide* . SplitTunnel interface{} `field:"optional" json:"splitTunnel" yaml:"splitTunnel"` // The tags to apply to the Client VPN endpoint during creation. TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // The transport protocol to be used by the VPN session. // // Default value: `udp`. TransportProtocol *string `field:"optional" json:"transportProtocol" yaml:"transportProtocol"` // The ID of the VPC to associate with the Client VPN endpoint. // // If no security group IDs are specified in the request, the default security group for the VPC is applied. VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"` // The port number to assign to the Client VPN endpoint for TCP and UDP traffic. // // Valid Values: `443` | `1194` // // Default Value: `443`. VpnPort *float64 `field:"optional" json:"vpnPort" yaml:"vpnPort"` }
Properties for defining a `CfnClientVpnEndpoint`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnEndpointProps := &CfnClientVpnEndpointProps{ AuthenticationOptions: []interface{}{ &ClientAuthenticationRequestProperty{ Type: jsii.String("type"), // the properties below are optional ActiveDirectory: &DirectoryServiceAuthenticationRequestProperty{ DirectoryId: jsii.String("directoryId"), }, FederatedAuthentication: &FederatedAuthenticationRequestProperty{ SamlProviderArn: jsii.String("samlProviderArn"), // the properties below are optional SelfServiceSamlProviderArn: jsii.String("selfServiceSamlProviderArn"), }, MutualAuthentication: &CertificateAuthenticationRequestProperty{ ClientRootCertificateChainArn: jsii.String("clientRootCertificateChainArn"), }, }, }, ClientCidrBlock: jsii.String("clientCidrBlock"), ConnectionLogOptions: &ConnectionLogOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional CloudwatchLogGroup: jsii.String("cloudwatchLogGroup"), CloudwatchLogStream: jsii.String("cloudwatchLogStream"), }, ServerCertificateArn: jsii.String("serverCertificateArn"), // the properties below are optional ClientConnectOptions: &ClientConnectOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional LambdaFunctionArn: jsii.String("lambdaFunctionArn"), }, ClientLoginBannerOptions: &ClientLoginBannerOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional BannerText: jsii.String("bannerText"), }, Description: jsii.String("description"), DnsServers: []*string{ jsii.String("dnsServers"), }, SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, SelfServicePortal: jsii.String("selfServicePortal"), SessionTimeoutHours: jsii.Number(123), SplitTunnel: jsii.Boolean(false), TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, TransportProtocol: jsii.String("transportProtocol"), VpcId: jsii.String("vpcId"), VpnPort: jsii.Number(123), }
type CfnClientVpnEndpoint_CertificateAuthenticationRequestProperty ¶
type CfnClientVpnEndpoint_CertificateAuthenticationRequestProperty struct { // The ARN of the client certificate. // // The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM). ClientRootCertificateChainArn *string `field:"required" json:"clientRootCertificateChainArn" yaml:"clientRootCertificateChainArn"` }
Information about the client certificate to be used for authentication.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" certificateAuthenticationRequestProperty := &CertificateAuthenticationRequestProperty{ ClientRootCertificateChainArn: jsii.String("clientRootCertificateChainArn"), }
type CfnClientVpnEndpoint_ClientAuthenticationRequestProperty ¶
type CfnClientVpnEndpoint_ClientAuthenticationRequestProperty struct { // The type of client authentication to be used. Type *string `field:"required" json:"type" yaml:"type"` // Information about the Active Directory to be used, if applicable. // // You must provide this information if *Type* is `directory-service-authentication` . ActiveDirectory interface{} `field:"optional" json:"activeDirectory" yaml:"activeDirectory"` // Information about the IAM SAML identity provider, if applicable. FederatedAuthentication interface{} `field:"optional" json:"federatedAuthentication" yaml:"federatedAuthentication"` // Information about the authentication certificates to be used, if applicable. // // You must provide this information if *Type* is `certificate-authentication` . MutualAuthentication interface{} `field:"optional" json:"mutualAuthentication" yaml:"mutualAuthentication"` }
Describes the authentication method to be used by a Client VPN endpoint.
For more information, see [Authentication](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) in the *AWS Client VPN Administrator Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clientAuthenticationRequestProperty := &ClientAuthenticationRequestProperty{ Type: jsii.String("type"), // the properties below are optional ActiveDirectory: &DirectoryServiceAuthenticationRequestProperty{ DirectoryId: jsii.String("directoryId"), }, FederatedAuthentication: &FederatedAuthenticationRequestProperty{ SamlProviderArn: jsii.String("samlProviderArn"), // the properties below are optional SelfServiceSamlProviderArn: jsii.String("selfServiceSamlProviderArn"), }, MutualAuthentication: &CertificateAuthenticationRequestProperty{ ClientRootCertificateChainArn: jsii.String("clientRootCertificateChainArn"), }, }
type CfnClientVpnEndpoint_ClientConnectOptionsProperty ¶
type CfnClientVpnEndpoint_ClientConnectOptionsProperty struct { // Indicates whether client connect options are enabled. // // The default is `false` (not enabled). Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"` // The Amazon Resource Name (ARN) of the AWS Lambda function used for connection authorization. LambdaFunctionArn *string `field:"optional" json:"lambdaFunctionArn" yaml:"lambdaFunctionArn"` }
Indicates whether client connect options are enabled.
The default is `false` (not enabled).
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clientConnectOptionsProperty := &ClientConnectOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional LambdaFunctionArn: jsii.String("lambdaFunctionArn"), }
type CfnClientVpnEndpoint_ClientLoginBannerOptionsProperty ¶ added in v2.9.0
type CfnClientVpnEndpoint_ClientLoginBannerOptionsProperty struct { // Enable or disable a customizable text banner that will be displayed on AWS provided clients when a VPN session is established. // // Valid values: `true | false` // // Default value: `false`. Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"` // Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. // // UTF-8 encoded characters only. Maximum of 1400 characters. BannerText *string `field:"optional" json:"bannerText" yaml:"bannerText"` }
Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clientLoginBannerOptionsProperty := &ClientLoginBannerOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional BannerText: jsii.String("bannerText"), }
type CfnClientVpnEndpoint_ConnectionLogOptionsProperty ¶
type CfnClientVpnEndpoint_ConnectionLogOptionsProperty struct { // Indicates whether connection logging is enabled. Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"` // The name of the CloudWatch Logs log group. // // Required if connection logging is enabled. CloudwatchLogGroup *string `field:"optional" json:"cloudwatchLogGroup" yaml:"cloudwatchLogGroup"` // The name of the CloudWatch Logs log stream to which the connection data is published. CloudwatchLogStream *string `field:"optional" json:"cloudwatchLogStream" yaml:"cloudwatchLogStream"` }
Describes the client connection logging options for the Client VPN endpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" connectionLogOptionsProperty := &ConnectionLogOptionsProperty{ Enabled: jsii.Boolean(false), // the properties below are optional CloudwatchLogGroup: jsii.String("cloudwatchLogGroup"), CloudwatchLogStream: jsii.String("cloudwatchLogStream"), }
type CfnClientVpnEndpoint_DirectoryServiceAuthenticationRequestProperty ¶
type CfnClientVpnEndpoint_DirectoryServiceAuthenticationRequestProperty struct { // The ID of the Active Directory to be used for authentication. DirectoryId *string `field:"required" json:"directoryId" yaml:"directoryId"` }
Describes the Active Directory to be used for client authentication.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" directoryServiceAuthenticationRequestProperty := &DirectoryServiceAuthenticationRequestProperty{ DirectoryId: jsii.String("directoryId"), }
type CfnClientVpnEndpoint_FederatedAuthenticationRequestProperty ¶
type CfnClientVpnEndpoint_FederatedAuthenticationRequestProperty struct { // The Amazon Resource Name (ARN) of the IAM SAML identity provider. SamlProviderArn *string `field:"required" json:"samlProviderArn" yaml:"samlProviderArn"` // The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal. SelfServiceSamlProviderArn *string `field:"optional" json:"selfServiceSamlProviderArn" yaml:"selfServiceSamlProviderArn"` }
The IAM SAML identity provider used for federated authentication.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" federatedAuthenticationRequestProperty := &FederatedAuthenticationRequestProperty{ SamlProviderArn: jsii.String("samlProviderArn"), // the properties below are optional SelfServiceSamlProviderArn: jsii.String("selfServiceSamlProviderArn"), }
type CfnClientVpnEndpoint_TagSpecificationProperty ¶
type CfnClientVpnEndpoint_TagSpecificationProperty struct { // The type of resource to tag. ResourceType *string `field:"required" json:"resourceType" yaml:"resourceType"` // The tags to apply to the resource. Tags *[]*awscdk.CfnTag `field:"required" json:"tags" yaml:"tags"` }
The tags to apply to a resource when the resource is being created.
When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.
> The `Valid Values` lists all the resource types that can be tagged. However, the action you're using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you're using, you'll get an error.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tagSpecificationProperty := &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnClientVpnRoute ¶
type CfnClientVpnRoute interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The ID of the Client VPN endpoint to which to add the route. ClientVpnEndpointId() *string SetClientVpnEndpointId(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A brief description of the route. Description() *string SetDescription(val *string) // The IPv4 address range, in CIDR notation, of the route destination. For example:. // // - To add a route for Internet access, enter `0.0.0.0/0` // - To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range // - To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range // - To add a route for the local network, enter the client CIDR range. DestinationCidrBlock() *string SetDestinationCidrBlock(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet through which you want to route traffic. // // The specified subnet must be an existing target network of the Client VPN endpoint. // // Alternatively, if you're adding a route for the local network, specify `local` . TargetVpcSubnetId() *string SetTargetVpcSubnetId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::ClientVpnRoute`.
Specifies a network route to add to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.
A target network association must be created before you can specify a route. If you're setting up all the components of a Client VPN endpoint at the same time, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the `AWS::EC2::ClientVpnTargetNetworkAssociation` resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnRoute := awscdk.Aws_ec2.NewCfnClientVpnRoute(this, jsii.String("MyCfnClientVpnRoute"), &CfnClientVpnRouteProps{ ClientVpnEndpointId: jsii.String("clientVpnEndpointId"), DestinationCidrBlock: jsii.String("destinationCidrBlock"), TargetVpcSubnetId: jsii.String("targetVpcSubnetId"), // the properties below are optional Description: jsii.String("description"), })
func NewCfnClientVpnRoute ¶
func NewCfnClientVpnRoute(scope constructs.Construct, id *string, props *CfnClientVpnRouteProps) CfnClientVpnRoute
Create a new `AWS::EC2::ClientVpnRoute`.
type CfnClientVpnRouteProps ¶
type CfnClientVpnRouteProps struct { // The ID of the Client VPN endpoint to which to add the route. ClientVpnEndpointId *string `field:"required" json:"clientVpnEndpointId" yaml:"clientVpnEndpointId"` // The IPv4 address range, in CIDR notation, of the route destination. For example:. // // - To add a route for Internet access, enter `0.0.0.0/0` // - To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range // - To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range // - To add a route for the local network, enter the client CIDR range. DestinationCidrBlock *string `field:"required" json:"destinationCidrBlock" yaml:"destinationCidrBlock"` // The ID of the subnet through which you want to route traffic. // // The specified subnet must be an existing target network of the Client VPN endpoint. // // Alternatively, if you're adding a route for the local network, specify `local` . TargetVpcSubnetId *string `field:"required" json:"targetVpcSubnetId" yaml:"targetVpcSubnetId"` // A brief description of the route. Description *string `field:"optional" json:"description" yaml:"description"` }
Properties for defining a `CfnClientVpnRoute`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnRouteProps := &CfnClientVpnRouteProps{ ClientVpnEndpointId: jsii.String("clientVpnEndpointId"), DestinationCidrBlock: jsii.String("destinationCidrBlock"), TargetVpcSubnetId: jsii.String("targetVpcSubnetId"), // the properties below are optional Description: jsii.String("description"), }
type CfnClientVpnTargetNetworkAssociation ¶
type CfnClientVpnTargetNetworkAssociation interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The ID of the Client VPN endpoint. ClientVpnEndpointId() *string SetClientVpnEndpointId(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet to associate with the Client VPN endpoint. SubnetId() *string SetSubnetId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::ClientVpnTargetNetworkAssociation`.
Specifies a target network to associate with a Client VPN endpoint. A target network is a subnet in a VPC. You can associate multiple subnets from the same VPC with a Client VPN endpoint. You can associate only one subnet in each Availability Zone. We recommend that you associate at least two subnets to provide Availability Zone redundancy.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnTargetNetworkAssociation := awscdk.Aws_ec2.NewCfnClientVpnTargetNetworkAssociation(this, jsii.String("MyCfnClientVpnTargetNetworkAssociation"), &CfnClientVpnTargetNetworkAssociationProps{ ClientVpnEndpointId: jsii.String("clientVpnEndpointId"), SubnetId: jsii.String("subnetId"), })
func NewCfnClientVpnTargetNetworkAssociation ¶
func NewCfnClientVpnTargetNetworkAssociation(scope constructs.Construct, id *string, props *CfnClientVpnTargetNetworkAssociationProps) CfnClientVpnTargetNetworkAssociation
Create a new `AWS::EC2::ClientVpnTargetNetworkAssociation`.
type CfnClientVpnTargetNetworkAssociationProps ¶
type CfnClientVpnTargetNetworkAssociationProps struct { // The ID of the Client VPN endpoint. ClientVpnEndpointId *string `field:"required" json:"clientVpnEndpointId" yaml:"clientVpnEndpointId"` // The ID of the subnet to associate with the Client VPN endpoint. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` }
Properties for defining a `CfnClientVpnTargetNetworkAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnClientVpnTargetNetworkAssociationProps := &CfnClientVpnTargetNetworkAssociationProps{ ClientVpnEndpointId: jsii.String("clientVpnEndpointId"), SubnetId: jsii.String("subnetId"), }
type CfnCustomerGateway ¶
type CfnCustomerGateway interface { awscdk.CfnResource awscdk.IInspectable // The ID of the customer gateway. AttrCustomerGatewayId() *string // For devices that support BGP, the customer gateway's BGP ASN. // // Default: 65000. BgpAsn() *float64 SetBgpAsn(val *float64) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of customer gateway device. DeviceName() *string SetDeviceName(val *string) // IPv4 address for the customer gateway device's outside interface. // // The address must be static. IpAddress() *string SetIpAddress(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // One or more tags for the customer gateway. Tags() awscdk.TagManager // The type of VPN connection that this customer gateway supports ( `ipsec.1` ). Type() *string SetType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::CustomerGateway`.
Specifies a customer gateway.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCustomerGateway := awscdk.Aws_ec2.NewCfnCustomerGateway(this, jsii.String("MyCfnCustomerGateway"), &CfnCustomerGatewayProps{ BgpAsn: jsii.Number(123), IpAddress: jsii.String("ipAddress"), Type: jsii.String("type"), // the properties below are optional DeviceName: jsii.String("deviceName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnCustomerGateway ¶
func NewCfnCustomerGateway(scope constructs.Construct, id *string, props *CfnCustomerGatewayProps) CfnCustomerGateway
Create a new `AWS::EC2::CustomerGateway`.
type CfnCustomerGatewayProps ¶
type CfnCustomerGatewayProps struct { // For devices that support BGP, the customer gateway's BGP ASN. // // Default: 65000. BgpAsn *float64 `field:"required" json:"bgpAsn" yaml:"bgpAsn"` // IPv4 address for the customer gateway device's outside interface. // // The address must be static. IpAddress *string `field:"required" json:"ipAddress" yaml:"ipAddress"` // The type of VPN connection that this customer gateway supports ( `ipsec.1` ). Type *string `field:"required" json:"type" yaml:"type"` // The name of customer gateway device. DeviceName *string `field:"optional" json:"deviceName" yaml:"deviceName"` // One or more tags for the customer gateway. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnCustomerGateway`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCustomerGatewayProps := &CfnCustomerGatewayProps{ BgpAsn: jsii.Number(123), IpAddress: jsii.String("ipAddress"), Type: jsii.String("type"), // the properties below are optional DeviceName: jsii.String("deviceName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnDHCPOptions ¶
type CfnDHCPOptions interface { awscdk.CfnResource awscdk.IInspectable // The ID of the DHCP options set. AttrDhcpOptionsId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // This value is used to complete unqualified DNS hostnames. // // If you're using AmazonProvidedDNS in `us-east-1` , specify `ec2.internal` . If you're using AmazonProvidedDNS in another Region, specify *region* . `compute.internal` (for example, `ap-northeast-1.compute.internal` ). Otherwise, specify a domain name (for example, *MyCompany.com* ). DomainName() *string SetDomainName(val *string) // The IPv4 addresses of up to four domain name servers, or `AmazonProvidedDNS` . // // The default is `AmazonProvidedDNS` . To have your instance receive a custom DNS hostname as specified in `DomainName` , you must set this property to a custom DNS server. DomainNameServers() *[]*string SetDomainNameServers(val *[]*string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The IPv4 addresses of up to four NetBIOS name servers. NetbiosNameServers() *[]*string SetNetbiosNameServers(val *[]*string) // The NetBIOS node type (1, 2, 4, or 8). // // We recommend that you specify 2 (broadcast and multicast are not currently supported). NetbiosNodeType() *float64 SetNetbiosNodeType(val *float64) // The tree node. Node() constructs.Node // The IPv4 addresses of up to four Network Time Protocol (NTP) servers. NtpServers() *[]*string SetNtpServers(val *[]*string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the DHCP options set. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::DHCPOptions`.
Specifies a set of DHCP options for your VPC.
You must specify at least one of the following properties: `DomainNameServers` , `NetbiosNameServers` , `NtpServers` . If you specify `NetbiosNameServers` , you must specify `NetbiosNodeType` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDHCPOptions := awscdk.Aws_ec2.NewCfnDHCPOptions(this, jsii.String("MyCfnDHCPOptions"), &CfnDHCPOptionsProps{ DomainName: jsii.String("domainName"), DomainNameServers: []*string{ jsii.String("domainNameServers"), }, NetbiosNameServers: []*string{ jsii.String("netbiosNameServers"), }, NetbiosNodeType: jsii.Number(123), NtpServers: []*string{ jsii.String("ntpServers"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnDHCPOptions ¶
func NewCfnDHCPOptions(scope constructs.Construct, id *string, props *CfnDHCPOptionsProps) CfnDHCPOptions
Create a new `AWS::EC2::DHCPOptions`.
type CfnDHCPOptionsProps ¶
type CfnDHCPOptionsProps struct { // This value is used to complete unqualified DNS hostnames. // // If you're using AmazonProvidedDNS in `us-east-1` , specify `ec2.internal` . If you're using AmazonProvidedDNS in another Region, specify *region* . `compute.internal` (for example, `ap-northeast-1.compute.internal` ). Otherwise, specify a domain name (for example, *MyCompany.com* ). DomainName *string `field:"optional" json:"domainName" yaml:"domainName"` // The IPv4 addresses of up to four domain name servers, or `AmazonProvidedDNS` . // // The default is `AmazonProvidedDNS` . To have your instance receive a custom DNS hostname as specified in `DomainName` , you must set this property to a custom DNS server. DomainNameServers *[]*string `field:"optional" json:"domainNameServers" yaml:"domainNameServers"` // The IPv4 addresses of up to four NetBIOS name servers. NetbiosNameServers *[]*string `field:"optional" json:"netbiosNameServers" yaml:"netbiosNameServers"` // The NetBIOS node type (1, 2, 4, or 8). // // We recommend that you specify 2 (broadcast and multicast are not currently supported). NetbiosNodeType *float64 `field:"optional" json:"netbiosNodeType" yaml:"netbiosNodeType"` // The IPv4 addresses of up to four Network Time Protocol (NTP) servers. NtpServers *[]*string `field:"optional" json:"ntpServers" yaml:"ntpServers"` // Any tags assigned to the DHCP options set. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDHCPOptions`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDHCPOptionsProps := &CfnDHCPOptionsProps{ DomainName: jsii.String("domainName"), DomainNameServers: []*string{ jsii.String("domainNameServers"), }, NetbiosNameServers: []*string{ jsii.String("netbiosNameServers"), }, NetbiosNodeType: jsii.Number(123), NtpServers: []*string{ jsii.String("ntpServers"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnEC2Fleet ¶
type CfnEC2Fleet interface { awscdk.CfnResource awscdk.IInspectable // The ID of the EC2 Fleet. AttrFleetId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Reserved. Context() *string SetContext(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet. // // Supported only for fleets of type `maintain` . ExcessCapacityTerminationPolicy() *string SetExcessCapacityTerminationPolicy(val *string) // The configuration for the EC2 Fleet. LaunchTemplateConfigs() interface{} SetLaunchTemplateConfigs(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Describes the configuration of On-Demand Instances in an EC2 Fleet. OnDemandOptions() interface{} SetOnDemandOptions(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Indicates whether EC2 Fleet should replace unhealthy Spot Instances. // // Supported only for fleets of type `maintain` . For more information, see [EC2 Fleet health checks](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks) in the *Amazon EC2 User Guide* . ReplaceUnhealthyInstances() interface{} SetReplaceUnhealthyInstances(val interface{}) // Describes the configuration of Spot Instances in an EC2 Fleet. SpotOptions() interface{} SetSpotOptions(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The key-value pair for tagging the EC2 Fleet request on creation. For more information, see [Tagging your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) . // // If the fleet type is `instant` , specify a resource type of `fleet` to tag the fleet or `instance` to tag the instances at launch. // // If the fleet type is `maintain` or `request` , specify a resource type of `fleet` to tag the fleet. You cannot specify a resource type of `instance` . To tag instances at launch, specify the tags in a [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) . TagSpecifications() interface{} SetTagSpecifications(val interface{}) // The number of units to request. TargetCapacitySpecification() interface{} SetTargetCapacitySpecification(val interface{}) // Indicates whether running instances should be terminated when the EC2 Fleet expires. TerminateInstancesWithExpiration() interface{} SetTerminateInstancesWithExpiration(val interface{}) // The fleet type. The default value is `maintain` . // // - `maintain` - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances. // - `request` - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted. // - `instant` - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched. // // For more information, see [EC2 Fleet request types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-request-type.html) in the *Amazon EC2 User Guide* . Type() *string SetType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). // // The default is to start fulfilling the request immediately. ValidFrom() *string SetValidFrom(val *string) // The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). // // At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it. ValidUntil() *string SetValidUntil(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::EC2Fleet`.
Specifies the configuration information to launch a fleet--or group--of instances. An EC2 Fleet can launch multiple instance types across multiple Availability Zones, using the On-Demand Instance, Reserved Instance, and Spot Instance purchasing models together. Using EC2 Fleet, you can define separate On-Demand and Spot capacity targets, specify the instance types that work best for your applications, and specify how Amazon EC2 should distribute your fleet capacity within each purchasing model. For more information, see [Launching an EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html) in the *Amazon EC2 User Guide for Linux Instances* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEC2Fleet := awscdk.Aws_ec2.NewCfnEC2Fleet(this, jsii.String("MyCfnEC2Fleet"), &CfnEC2FleetProps{ LaunchTemplateConfigs: []interface{}{ &FleetLaunchTemplateConfigRequestProperty{ LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationRequestProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, Overrides: []interface{}{ &FleetLaunchTemplateOverridesRequestProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), MaxPrice: jsii.String("maxPrice"), Placement: &PlacementProperty{ Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), PartitionNumber: jsii.Number(123), SpreadDomain: jsii.String("spreadDomain"), Tenancy: jsii.String("tenancy"), }, Priority: jsii.Number(123), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }, }, }, }, TargetCapacitySpecification: &TargetCapacitySpecificationRequestProperty{ TotalTargetCapacity: jsii.Number(123), // the properties below are optional DefaultTargetCapacityType: jsii.String("defaultTargetCapacityType"), OnDemandTargetCapacity: jsii.Number(123), SpotTargetCapacity: jsii.Number(123), TargetCapacityUnitType: jsii.String("targetCapacityUnitType"), }, // the properties below are optional Context: jsii.String("context"), ExcessCapacityTerminationPolicy: jsii.String("excessCapacityTerminationPolicy"), OnDemandOptions: &OnDemandOptionsRequestProperty{ AllocationStrategy: jsii.String("allocationStrategy"), CapacityReservationOptions: &CapacityReservationOptionsRequestProperty{ UsageStrategy: jsii.String("usageStrategy"), }, MaxTotalPrice: jsii.String("maxTotalPrice"), MinTargetCapacity: jsii.Number(123), SingleAvailabilityZone: jsii.Boolean(false), SingleInstanceType: jsii.Boolean(false), }, ReplaceUnhealthyInstances: jsii.Boolean(false), SpotOptions: &SpotOptionsRequestProperty{ AllocationStrategy: jsii.String("allocationStrategy"), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), InstancePoolsToUseCount: jsii.Number(123), MaintenanceStrategies: &MaintenanceStrategiesProperty{ CapacityRebalance: &CapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }, MaxTotalPrice: jsii.String("maxTotalPrice"), MinTargetCapacity: jsii.Number(123), SingleAvailabilityZone: jsii.Boolean(false), SingleInstanceType: jsii.Boolean(false), }, TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, TerminateInstancesWithExpiration: jsii.Boolean(false), Type: jsii.String("type"), ValidFrom: jsii.String("validFrom"), ValidUntil: jsii.String("validUntil"), })
func NewCfnEC2Fleet ¶
func NewCfnEC2Fleet(scope constructs.Construct, id *string, props *CfnEC2FleetProps) CfnEC2Fleet
Create a new `AWS::EC2::EC2Fleet`.
type CfnEC2FleetProps ¶
type CfnEC2FleetProps struct { // The configuration for the EC2 Fleet. LaunchTemplateConfigs interface{} `field:"required" json:"launchTemplateConfigs" yaml:"launchTemplateConfigs"` // The number of units to request. TargetCapacitySpecification interface{} `field:"required" json:"targetCapacitySpecification" yaml:"targetCapacitySpecification"` // Reserved. Context *string `field:"optional" json:"context" yaml:"context"` // Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet. // // Supported only for fleets of type `maintain` . ExcessCapacityTerminationPolicy *string `field:"optional" json:"excessCapacityTerminationPolicy" yaml:"excessCapacityTerminationPolicy"` // Describes the configuration of On-Demand Instances in an EC2 Fleet. OnDemandOptions interface{} `field:"optional" json:"onDemandOptions" yaml:"onDemandOptions"` // Indicates whether EC2 Fleet should replace unhealthy Spot Instances. // // Supported only for fleets of type `maintain` . For more information, see [EC2 Fleet health checks](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks) in the *Amazon EC2 User Guide* . ReplaceUnhealthyInstances interface{} `field:"optional" json:"replaceUnhealthyInstances" yaml:"replaceUnhealthyInstances"` // Describes the configuration of Spot Instances in an EC2 Fleet. SpotOptions interface{} `field:"optional" json:"spotOptions" yaml:"spotOptions"` // The key-value pair for tagging the EC2 Fleet request on creation. For more information, see [Tagging your resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) . // // If the fleet type is `instant` , specify a resource type of `fleet` to tag the fleet or `instance` to tag the instances at launch. // // If the fleet type is `maintain` or `request` , specify a resource type of `fleet` to tag the fleet. You cannot specify a resource type of `instance` . To tag instances at launch, specify the tags in a [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) . TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // Indicates whether running instances should be terminated when the EC2 Fleet expires. TerminateInstancesWithExpiration interface{} `field:"optional" json:"terminateInstancesWithExpiration" yaml:"terminateInstancesWithExpiration"` // The fleet type. The default value is `maintain` . // // - `maintain` - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances. // - `request` - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted. // - `instant` - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched. // // For more information, see [EC2 Fleet request types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-request-type.html) in the *Amazon EC2 User Guide* . Type *string `field:"optional" json:"type" yaml:"type"` // The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). // // The default is to start fulfilling the request immediately. ValidFrom *string `field:"optional" json:"validFrom" yaml:"validFrom"` // The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). // // At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it. ValidUntil *string `field:"optional" json:"validUntil" yaml:"validUntil"` }
Properties for defining a `CfnEC2Fleet`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEC2FleetProps := &CfnEC2FleetProps{ LaunchTemplateConfigs: []interface{}{ &FleetLaunchTemplateConfigRequestProperty{ LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationRequestProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, Overrides: []interface{}{ &FleetLaunchTemplateOverridesRequestProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), MaxPrice: jsii.String("maxPrice"), Placement: &PlacementProperty{ Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), PartitionNumber: jsii.Number(123), SpreadDomain: jsii.String("spreadDomain"), Tenancy: jsii.String("tenancy"), }, Priority: jsii.Number(123), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }, }, }, }, TargetCapacitySpecification: &TargetCapacitySpecificationRequestProperty{ TotalTargetCapacity: jsii.Number(123), // the properties below are optional DefaultTargetCapacityType: jsii.String("defaultTargetCapacityType"), OnDemandTargetCapacity: jsii.Number(123), SpotTargetCapacity: jsii.Number(123), TargetCapacityUnitType: jsii.String("targetCapacityUnitType"), }, // the properties below are optional Context: jsii.String("context"), ExcessCapacityTerminationPolicy: jsii.String("excessCapacityTerminationPolicy"), OnDemandOptions: &OnDemandOptionsRequestProperty{ AllocationStrategy: jsii.String("allocationStrategy"), CapacityReservationOptions: &CapacityReservationOptionsRequestProperty{ UsageStrategy: jsii.String("usageStrategy"), }, MaxTotalPrice: jsii.String("maxTotalPrice"), MinTargetCapacity: jsii.Number(123), SingleAvailabilityZone: jsii.Boolean(false), SingleInstanceType: jsii.Boolean(false), }, ReplaceUnhealthyInstances: jsii.Boolean(false), SpotOptions: &SpotOptionsRequestProperty{ AllocationStrategy: jsii.String("allocationStrategy"), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), InstancePoolsToUseCount: jsii.Number(123), MaintenanceStrategies: &MaintenanceStrategiesProperty{ CapacityRebalance: &CapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }, MaxTotalPrice: jsii.String("maxTotalPrice"), MinTargetCapacity: jsii.Number(123), SingleAvailabilityZone: jsii.Boolean(false), SingleInstanceType: jsii.Boolean(false), }, TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, TerminateInstancesWithExpiration: jsii.Boolean(false), Type: jsii.String("type"), ValidFrom: jsii.String("validFrom"), ValidUntil: jsii.String("validUntil"), }
type CfnEC2Fleet_AcceleratorCountRequestProperty ¶
type CfnEC2Fleet_AcceleratorCountRequestProperty struct { // The maximum number of accelerators. // // To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` . Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of accelerators. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
To exclude accelerator-enabled instance types, set `Max` to `0` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" acceleratorCountRequestProperty := &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_AcceleratorTotalMemoryMiBRequestProperty ¶
type CfnEC2Fleet_AcceleratorTotalMemoryMiBRequestProperty struct { // The maximum amount of accelerator memory, in MiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of accelerator memory, in MiB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of total accelerator memory, in MiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" acceleratorTotalMemoryMiBRequestProperty := &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_BaselineEbsBandwidthMbpsRequestProperty ¶
type CfnEC2Fleet_BaselineEbsBandwidthMbpsRequestProperty struct { // The maximum baseline bandwidth, in Mbps. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum baseline bandwidth, in Mbps. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps.
For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" baselineEbsBandwidthMbpsRequestProperty := &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_CapacityRebalanceProperty ¶
type CfnEC2Fleet_CapacityRebalanceProperty struct { // The replacement strategy to use. Only available for fleets of type `maintain` . // // `launch` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running. // // `launch-before-terminate` - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification. ReplacementStrategy *string `field:"optional" json:"replacementStrategy" yaml:"replacementStrategy"` // The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance. // // Required when `ReplacementStrategy` is set to `launch-before-terminate` . // // Not valid when `ReplacementStrategy` is set to `launch` . // // Valid values: Minimum value of `120` seconds. Maximum value of `7200` seconds. TerminationDelay *float64 `field:"optional" json:"terminationDelay" yaml:"terminationDelay"` }
The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance notification signal that your Spot Instance is at an elevated risk of being interrupted.
For more information, see [Capacity rebalancing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-capacity-rebalance.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" capacityRebalanceProperty := &CapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }
type CfnEC2Fleet_CapacityReservationOptionsRequestProperty ¶
type CfnEC2Fleet_CapacityReservationOptionsRequestProperty struct { // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. // // If you specify `use-capacity-reservations-first` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( `lowest-price` or `prioritized` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( `lowest-price` or `prioritized` ). // // If you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy. UsageStrategy *string `field:"optional" json:"usageStrategy" yaml:"usageStrategy"` }
Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.
> This strategy can only be used if the EC2 Fleet is of type `instant` .
For more information about Capacity Reservations, see [On-Demand Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) in the *Amazon EC2 User Guide* . For examples of using Capacity Reservations in an EC2 Fleet, see [EC2 Fleet example configurations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" capacityReservationOptionsRequestProperty := &CapacityReservationOptionsRequestProperty{ UsageStrategy: jsii.String("usageStrategy"), }
type CfnEC2Fleet_FleetLaunchTemplateConfigRequestProperty ¶
type CfnEC2Fleet_FleetLaunchTemplateConfigRequestProperty struct { // The launch template to use. // // You must specify either the launch template ID or launch template name in the request. LaunchTemplateSpecification interface{} `field:"optional" json:"launchTemplateSpecification" yaml:"launchTemplateSpecification"` // Any parameters that you specify override the same parameters in the launch template. // // For fleets of type `request` and `maintain` , a maximum of 300 items is allowed across all launch templates. Overrides interface{} `field:"optional" json:"overrides" yaml:"overrides"` }
Specifies a launch template and overrides for an EC2 Fleet.
`FleetLaunchTemplateConfigRequest` is a property of the [AWS::EC2::EC2Fleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" fleetLaunchTemplateConfigRequestProperty := &FleetLaunchTemplateConfigRequestProperty{ LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationRequestProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, Overrides: []interface{}{ &FleetLaunchTemplateOverridesRequestProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), MaxPrice: jsii.String("maxPrice"), Placement: &PlacementProperty{ Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), PartitionNumber: jsii.Number(123), SpreadDomain: jsii.String("spreadDomain"), Tenancy: jsii.String("tenancy"), }, Priority: jsii.Number(123), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }, }, }
type CfnEC2Fleet_FleetLaunchTemplateOverridesRequestProperty ¶
type CfnEC2Fleet_FleetLaunchTemplateOverridesRequestProperty struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The attributes for the instance types. // // When you specify instance attributes, Amazon EC2 will identify instance types with those attributes. // // > If you specify `InstanceRequirements` , you can't specify `InstanceType` . InstanceRequirements interface{} `field:"optional" json:"instanceRequirements" yaml:"instanceRequirements"` // The instance type. // // `mac1.metal` is not supported as a launch template override. // // > If you specify `InstanceType` , you can't specify `InstanceRequirements` . InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. // // We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. // // > If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter. MaxPrice *string `field:"optional" json:"maxPrice" yaml:"maxPrice"` // The location where the instance launched, if applicable. Placement interface{} `field:"optional" json:"placement" yaml:"placement"` // The priority for the launch template override. The highest priority is launched first. // // If the On-Demand `AllocationStrategy` is set to `prioritized` , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. // // If the Spot `AllocationStrategy` is set to `capacity-optimized-prioritized` , EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first. // // Valid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides. Priority *float64 `field:"optional" json:"priority" yaml:"priority"` // The IDs of the subnets in which to launch the instances. // // Separate multiple subnet IDs using commas (for example, `subnet-1234abcdeexample1, subnet-0987cdef6example2` ). A request of type `instant` can have only one subnet ID. SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` // The number of units provided by the specified instance type. WeightedCapacity *float64 `field:"optional" json:"weightedCapacity" yaml:"weightedCapacity"` }
Specifies overrides for a launch template for an EC2 Fleet.
`FleetLaunchTemplateOverridesRequest` is a property of the [FleetLaunchTemplateConfigRequest](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html) property type.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" fleetLaunchTemplateOverridesRequestProperty := &FleetLaunchTemplateOverridesRequestProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), MaxPrice: jsii.String("maxPrice"), Placement: &PlacementProperty{ Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), PartitionNumber: jsii.Number(123), SpreadDomain: jsii.String("spreadDomain"), Tenancy: jsii.String("tenancy"), }, Priority: jsii.Number(123), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }
type CfnEC2Fleet_FleetLaunchTemplateSpecificationRequestProperty ¶
type CfnEC2Fleet_FleetLaunchTemplateSpecificationRequestProperty struct { // The launch template version number, `$Latest` , or `$Default` . You must specify a value, otherwise the request fails. // // If the value is `$Latest` , Amazon EC2 uses the latest version of the launch template. // // If the value is `$Default` , Amazon EC2 uses the default version of the launch template. Version *string `field:"required" json:"version" yaml:"version"` // The ID of the launch template. // // You must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both. LaunchTemplateId *string `field:"optional" json:"launchTemplateId" yaml:"launchTemplateId"` // The name of the launch template. // // You must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both. LaunchTemplateName *string `field:"optional" json:"launchTemplateName" yaml:"launchTemplateName"` }
Specifies the launch template to be used by the EC2 Fleet for configuring Amazon EC2 instances.
You must specify the following:
- The ID or the name of the launch template, but not both. - The version of the launch template.
`FleetLaunchTemplateSpecificationRequest` is a property of the [FleetLaunchTemplateConfigRequest](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html) property type.
For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) in the *Amazon EC2 User Guide* .
For examples of launch templates, see [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" fleetLaunchTemplateSpecificationRequestProperty := &FleetLaunchTemplateSpecificationRequestProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }
type CfnEC2Fleet_InstanceRequirementsRequestProperty ¶
type CfnEC2Fleet_InstanceRequirementsRequestProperty struct { // The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance. // // To exclude accelerator-enabled instance types, set `Max` to `0` . // // Default: No minimum or maximum limits. AcceleratorCount interface{} `field:"optional" json:"acceleratorCount" yaml:"acceleratorCount"` // Indicates whether instance types must have accelerators by specific manufacturers. // // - For instance types with NVIDIA devices, specify `nvidia` . // - For instance types with AMD devices, specify `amd` . // - For instance types with AWS devices, specify `amazon-web-services` . // - For instance types with Xilinx devices, specify `xilinx` . // // Default: Any manufacturer. AcceleratorManufacturers *[]*string `field:"optional" json:"acceleratorManufacturers" yaml:"acceleratorManufacturers"` // The accelerators that must be on the instance type. // // - For instance types with NVIDIA A100 GPUs, specify `a100` . // - For instance types with NVIDIA V100 GPUs, specify `v100` . // - For instance types with NVIDIA K80 GPUs, specify `k80` . // - For instance types with NVIDIA T4 GPUs, specify `t4` . // - For instance types with NVIDIA M60 GPUs, specify `m60` . // - For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` . // - For instance types with Xilinx VU9P FPGAs, specify `vu9p` . // - For instance types with AWS Inferentia chips, specify `inferentia` . // - For instance types with NVIDIA GRID K520 GPUs, specify `k520` . // // Default: Any accelerator. AcceleratorNames *[]*string `field:"optional" json:"acceleratorNames" yaml:"acceleratorNames"` // The minimum and maximum amount of total accelerator memory, in MiB. // // Default: No minimum or maximum limits. AcceleratorTotalMemoryMiB interface{} `field:"optional" json:"acceleratorTotalMemoryMiB" yaml:"acceleratorTotalMemoryMiB"` // The accelerator types that must be on the instance type. // // - To include instance types with GPU hardware, specify `gpu` . // - To include instance types with FPGA hardware, specify `fpga` . // - To include instance types with inference hardware, specify `inference` . // // Default: Any accelerator type. AcceleratorTypes *[]*string `field:"optional" json:"acceleratorTypes" yaml:"acceleratorTypes"` // The instance types to apply your specified attributes against. // // All other instance types are ignored, even if they match your specified attributes. // // You can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` . // // For example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. // // > If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . // // Default: All instance types. AllowedInstanceTypes *[]*string `field:"optional" json:"allowedInstanceTypes" yaml:"allowedInstanceTypes"` // Indicates whether bare metal instance types must be included, excluded, or required. // // - To include bare metal instance types, specify `included` . // - To require only bare metal instance types, specify `required` . // - To exclude bare metal instance types, specify `excluded` . // // Default: `excluded`. BareMetal *string `field:"optional" json:"bareMetal" yaml:"bareMetal"` // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. // // For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* . // // Default: No minimum or maximum limits. BaselineEbsBandwidthMbps interface{} `field:"optional" json:"baselineEbsBandwidthMbps" yaml:"baselineEbsBandwidthMbps"` // Indicates whether burstable performance T instance types are included, excluded, or required. // // For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . // - To require only burstable performance instance types, specify `required` . // - To exclude burstable performance instance types, specify `excluded` . // // Default: `excluded`. BurstablePerformance *string `field:"optional" json:"burstablePerformance" yaml:"burstablePerformance"` // The CPU manufacturers to include. // // - For instance types with Intel CPUs, specify `intel` . // - For instance types with AMD CPUs, specify `amd` . // - For instance types with AWS CPUs, specify `amazon-web-services` . // // > Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. // // Default: Any manufacturer. CpuManufacturers *[]*string `field:"optional" json:"cpuManufacturers" yaml:"cpuManufacturers"` // The instance types to exclude. // // You can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` . // // For example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. // // > If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . // // Default: No excluded instance types. ExcludedInstanceTypes *[]*string `field:"optional" json:"excludedInstanceTypes" yaml:"excludedInstanceTypes"` // Indicates whether current or previous generation instance types are included. // // The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* . // // For current generation instance types, specify `current` . // // For previous generation instance types, specify `previous` . // // Default: Current and previous generation instance types. InstanceGenerations *[]*string `field:"optional" json:"instanceGenerations" yaml:"instanceGenerations"` // Indicates whether instance types with instance store volumes are included, excluded, or required. // // For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* . // // - To include instance types with instance store volumes, specify `included` . // - To require only instance types with instance store volumes, specify `required` . // - To exclude instance types with instance store volumes, specify `excluded` . // // Default: `included`. LocalStorage *string `field:"optional" json:"localStorage" yaml:"localStorage"` // The type of local storage that is required. // // - For instance types with hard disk drive (HDD) storage, specify `hdd` . // - For instance types with solid state drive (SSD) storage, specify `ssd` . // // Default: `hdd` and `ssd`. LocalStorageTypes *[]*string `field:"optional" json:"localStorageTypes" yaml:"localStorageTypes"` // The minimum and maximum amount of memory per vCPU, in GiB. // // Default: No minimum or maximum limits. MemoryGiBPerVCpu interface{} `field:"optional" json:"memoryGiBPerVCpu" yaml:"memoryGiBPerVCpu"` // The minimum and maximum amount of memory, in MiB. MemoryMiB interface{} `field:"optional" json:"memoryMiB" yaml:"memoryMiB"` // The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). // // Default: No minimum or maximum limits. NetworkBandwidthGbps interface{} `field:"optional" json:"networkBandwidthGbps" yaml:"networkBandwidthGbps"` // The minimum and maximum number of network interfaces. // // Default: No minimum or maximum limits. NetworkInterfaceCount interface{} `field:"optional" json:"networkInterfaceCount" yaml:"networkInterfaceCount"` // The price protection threshold for On-Demand Instances. // // This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // // To turn off price protection, specify a high value, such as `999999` . // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) . // // > If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. // // Default: `20`. OnDemandMaxPricePercentageOverLowestPrice *float64 `field:"optional" json:"onDemandMaxPricePercentageOverLowestPrice" yaml:"onDemandMaxPricePercentageOverLowestPrice"` // Indicates whether instance types must support hibernation for On-Demand Instances. // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) . // // Default: `false`. RequireHibernateSupport interface{} `field:"optional" json:"requireHibernateSupport" yaml:"requireHibernateSupport"` // The price protection threshold for Spot Instance. // // This is the maximum you’ll pay for an Spot Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // // To turn off price protection, specify a high value, such as `999999` . // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) . // // > If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. // // Default: `100`. SpotMaxPricePercentageOverLowestPrice *float64 `field:"optional" json:"spotMaxPricePercentageOverLowestPrice" yaml:"spotMaxPricePercentageOverLowestPrice"` // The minimum and maximum amount of total local storage, in GB. // // Default: No minimum or maximum limits. TotalLocalStorageGb interface{} `field:"optional" json:"totalLocalStorageGb" yaml:"totalLocalStorageGb"` // The minimum and maximum number of vCPUs. VCpuCount interface{} `field:"optional" json:"vCpuCount" yaml:"vCpuCount"` }
The attributes for the instance types.
When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.
When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.
To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:
- `AllowedInstanceTypes` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes. - `ExcludedInstanceTypes` - The instance types to exclude from the list, even if they match your specified attributes.
> You must specify `VCpuCount` and `MemoryMiB` . All other attributes are optional. Any unspecified optional attribute is set to its default.
For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) , [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html) , and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceRequirementsRequestProperty := &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }
type CfnEC2Fleet_MaintenanceStrategiesProperty ¶
type CfnEC2Fleet_MaintenanceStrategiesProperty struct {
// The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.
CapacityRebalance interface{} `field:"optional" json:"capacityRebalance" yaml:"capacityRebalance"`
}
The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" maintenanceStrategiesProperty := &MaintenanceStrategiesProperty{ CapacityRebalance: &CapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }
type CfnEC2Fleet_MemoryGiBPerVCpuRequestProperty ¶
type CfnEC2Fleet_MemoryGiBPerVCpuRequestProperty struct { // The maximum amount of memory per vCPU, in GiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of memory per vCPU, in GiB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of memory per vCPU, in GiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" memoryGiBPerVCpuRequestProperty := &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_MemoryMiBRequestProperty ¶
type CfnEC2Fleet_MemoryMiBRequestProperty struct { // The maximum amount of memory, in MiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of memory, in MiB. // // To specify no minimum limit, specify `0` . Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of memory, in MiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" memoryMiBRequestProperty := &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_NetworkBandwidthGbpsRequestProperty ¶ added in v2.51.0
type CfnEC2Fleet_NetworkBandwidthGbpsRequestProperty struct { // The maximum amount of network bandwidth, in Gbps. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of network bandwidth, in Gbps. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
> Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkBandwidthGbpsRequestProperty := &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_NetworkInterfaceCountRequestProperty ¶
type CfnEC2Fleet_NetworkInterfaceCountRequestProperty struct { // The maximum number of network interfaces. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of network interfaces. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of network interfaces.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkInterfaceCountRequestProperty := &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_OnDemandOptionsRequestProperty ¶
type CfnEC2Fleet_OnDemandOptionsRequestProperty struct { // The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity. // // `lowest-price` - EC2 Fleet uses price to determine the order, launching the lowest price first. // // `prioritized` - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. // // Default: `lowest-price`. AllocationStrategy *string `field:"optional" json:"allocationStrategy" yaml:"allocationStrategy"` // The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. // // Supported only for fleets of type `instant` . CapacityReservationOptions interface{} `field:"optional" json:"capacityReservationOptions" yaml:"capacityReservationOptions"` // The maximum amount per hour for On-Demand Instances that you're willing to pay. MaxTotalPrice *string `field:"optional" json:"maxTotalPrice" yaml:"maxTotalPrice"` // The minimum target capacity for On-Demand Instances in the fleet. // // If the minimum target capacity is not reached, the fleet launches no instances. // // Supported only for fleets of type `instant` . // // At least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`. MinTargetCapacity *float64 `field:"optional" json:"minTargetCapacity" yaml:"minTargetCapacity"` // Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. // // Supported only for fleets of type `instant` . SingleAvailabilityZone interface{} `field:"optional" json:"singleAvailabilityZone" yaml:"singleAvailabilityZone"` // Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. // // Supported only for fleets of type `instant` . SingleInstanceType interface{} `field:"optional" json:"singleInstanceType" yaml:"singleInstanceType"` }
Specifies the allocation strategy of On-Demand Instances in an EC2 Fleet.
`OnDemandOptionsRequest` is a property of the [AWS::EC2::EC2Fleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" onDemandOptionsRequestProperty := &OnDemandOptionsRequestProperty{ AllocationStrategy: jsii.String("allocationStrategy"), CapacityReservationOptions: &CapacityReservationOptionsRequestProperty{ UsageStrategy: jsii.String("usageStrategy"), }, MaxTotalPrice: jsii.String("maxTotalPrice"), MinTargetCapacity: jsii.Number(123), SingleAvailabilityZone: jsii.Boolean(false), SingleInstanceType: jsii.Boolean(false), }
type CfnEC2Fleet_PlacementProperty ¶
type CfnEC2Fleet_PlacementProperty struct { // The affinity setting for the instance on the Dedicated Host. // // This parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) . Affinity *string `field:"optional" json:"affinity" yaml:"affinity"` // The Availability Zone of the instance. // // If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region. // // This parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The name of the placement group that the instance is in. // // If you specify `GroupName` , you can't specify `GroupId` . GroupName *string `field:"optional" json:"groupName" yaml:"groupName"` // The ID of the Dedicated Host on which the instance resides. // // This parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) or [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) . HostId *string `field:"optional" json:"hostId" yaml:"hostId"` // The ARN of the host resource group in which to launch the instances. // // If you specify this parameter, either omit the *Tenancy* parameter or set it to `host` . // // This parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . HostResourceGroupArn *string `field:"optional" json:"hostResourceGroupArn" yaml:"hostResourceGroupArn"` // The number of the partition that the instance is in. // // Valid only if the placement group strategy is set to `partition` . // // This parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . PartitionNumber *float64 `field:"optional" json:"partitionNumber" yaml:"partitionNumber"` // Reserved for future use. SpreadDomain *string `field:"optional" json:"spreadDomain" yaml:"spreadDomain"` // The tenancy of the instance. An instance with a tenancy of `dedicated` runs on single-tenant hardware. // // This parameter is not supported for [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet) . The `host` tenancy is not supported for [ImportInstance](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) or for T3 instances that are configured for the `unlimited` CPU credit option. Tenancy *string `field:"optional" json:"tenancy" yaml:"tenancy"` }
Describes the placement of an instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" placementProperty := &PlacementProperty{ Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), PartitionNumber: jsii.Number(123), SpreadDomain: jsii.String("spreadDomain"), Tenancy: jsii.String("tenancy"), }
type CfnEC2Fleet_SpotOptionsRequestProperty ¶
type CfnEC2Fleet_SpotOptionsRequestProperty struct { // Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet. // // If the allocation strategy is `lowestPrice` , EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy. // // If the allocation strategy is `diversified` , EC2 Fleet launches instances from all the Spot Instance pools that you specify. // // If the allocation strategy is `capacityOptimized` , EC2 Fleet launches instances from Spot Instance pools that are optimally chosen based on the available Spot Instance capacity. // // *Allowed Values* : `lowestPrice` | `diversified` | `capacityOptimized` | `capacityOptimizedPrioritized`. AllocationStrategy *string `field:"optional" json:"allocationStrategy" yaml:"allocationStrategy"` // The behavior when a Spot Instance is interrupted. // // Default: `terminate`. InstanceInterruptionBehavior *string `field:"optional" json:"instanceInterruptionBehavior" yaml:"instanceInterruptionBehavior"` // The number of Spot pools across which to allocate your target Spot capacity. // // Supported only when Spot `AllocationStrategy` is set to `lowest-price` . EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. // // Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified. InstancePoolsToUseCount *float64 `field:"optional" json:"instancePoolsToUseCount" yaml:"instancePoolsToUseCount"` // The strategies for managing your Spot Instances that are at an elevated risk of being interrupted. MaintenanceStrategies interface{} `field:"optional" json:"maintenanceStrategies" yaml:"maintenanceStrategies"` // The maximum amount per hour for Spot Instances that you're willing to pay. // // We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. // // > If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter. MaxTotalPrice *string `field:"optional" json:"maxTotalPrice" yaml:"maxTotalPrice"` // The minimum target capacity for Spot Instances in the fleet. // // If the minimum target capacity is not reached, the fleet launches no instances. // // Supported only for fleets of type `instant` . // // At least one of the following must be specified: `SingleAvailabilityZone` | `SingleInstanceType`. MinTargetCapacity *float64 `field:"optional" json:"minTargetCapacity" yaml:"minTargetCapacity"` // Indicates that the fleet launches all Spot Instances into a single Availability Zone. // // Supported only for fleets of type `instant` . SingleAvailabilityZone interface{} `field:"optional" json:"singleAvailabilityZone" yaml:"singleAvailabilityZone"` // Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. // // Supported only for fleets of type `instant` . SingleInstanceType interface{} `field:"optional" json:"singleInstanceType" yaml:"singleInstanceType"` }
Specifies the configuration of Spot Instances for an EC2 Fleet.
`SpotOptionsRequest` is a property of the [AWS::EC2::EC2Fleet](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotOptionsRequestProperty := &SpotOptionsRequestProperty{ AllocationStrategy: jsii.String("allocationStrategy"), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), InstancePoolsToUseCount: jsii.Number(123), MaintenanceStrategies: &MaintenanceStrategiesProperty{ CapacityRebalance: &CapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }, MaxTotalPrice: jsii.String("maxTotalPrice"), MinTargetCapacity: jsii.Number(123), SingleAvailabilityZone: jsii.Boolean(false), SingleInstanceType: jsii.Boolean(false), }
type CfnEC2Fleet_TagSpecificationProperty ¶
type CfnEC2Fleet_TagSpecificationProperty struct { // The type of resource to tag. // // `ResourceType` must be `fleet` . ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // The tags to apply to the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Specifies the tags to apply to a resource when the resource is being created for an EC2 Fleet.
`TagSpecification` is a property of the [AWS::EC2::EC2Fleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tagSpecificationProperty := &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnEC2Fleet_TargetCapacitySpecificationRequestProperty ¶
type CfnEC2Fleet_TargetCapacitySpecificationRequestProperty struct { // The number of units to request, filled using `DefaultTargetCapacityType` . TotalTargetCapacity *float64 `field:"required" json:"totalTargetCapacity" yaml:"totalTargetCapacity"` // The default `TotalTargetCapacity` , which is either `Spot` or `On-Demand` . DefaultTargetCapacityType *string `field:"optional" json:"defaultTargetCapacityType" yaml:"defaultTargetCapacityType"` // The number of On-Demand units to request. OnDemandTargetCapacity *float64 `field:"optional" json:"onDemandTargetCapacity" yaml:"onDemandTargetCapacity"` // The number of Spot units to request. SpotTargetCapacity *float64 `field:"optional" json:"spotTargetCapacity" yaml:"spotTargetCapacity"` // The unit for the target capacity. `TargetCapacityUnitType` can only be specified when `InstanceRequirements` is specified. // // Default: `units` (translates to number of instances). TargetCapacityUnitType *string `field:"optional" json:"targetCapacityUnitType" yaml:"targetCapacityUnitType"` }
Specifies the number of units to request for an EC2 Fleet.
You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of `0` and add capacity later.
`TargetCapacitySpecificationRequest` is a property of the [AWS::EC2::EC2Fleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" targetCapacitySpecificationRequestProperty := &TargetCapacitySpecificationRequestProperty{ TotalTargetCapacity: jsii.Number(123), // the properties below are optional DefaultTargetCapacityType: jsii.String("defaultTargetCapacityType"), OnDemandTargetCapacity: jsii.Number(123), SpotTargetCapacity: jsii.Number(123), TargetCapacityUnitType: jsii.String("targetCapacityUnitType"), }
type CfnEC2Fleet_TotalLocalStorageGBRequestProperty ¶
type CfnEC2Fleet_TotalLocalStorageGBRequestProperty struct { // The maximum amount of total local storage, in GB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of total local storage, in GB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of total local storage, in GB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" totalLocalStorageGBRequestProperty := &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEC2Fleet_VCpuCountRangeRequestProperty ¶
type CfnEC2Fleet_VCpuCountRangeRequestProperty struct { // The maximum number of vCPUs. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of vCPUs. // // To specify no minimum limit, specify `0` . Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of vCPUs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vCpuCountRangeRequestProperty := &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnEIP ¶
type CfnEIP interface { awscdk.CfnResource awscdk.IInspectable // The ID that AWS assigns to represent the allocation of the address for use with Amazon VPC. // // This is returned only for VPC elastic IP addresses. For example, `eipalloc-5723d13e` . AttrAllocationId() *string // The Elastic IP address. AttrPublicIp() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The network ( `vpc` ). // // If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource. Domain() *string SetDomain(val *string) // The ID of the instance. // // > Updates to the `InstanceId` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource. InstanceId() *string SetInstanceId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. // // Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. // // Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. // // You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, you receive an `InvalidParameterCombination` error. NetworkBorderGroup() *string SetNetworkBorderGroup(val *string) // The tree node. Node() constructs.Node // The ID of an address pool that you own. // // Use this parameter to let Amazon EC2 select an address from the address pool. // // > Updates to the `PublicIpv4Pool` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource. PublicIpv4Pool() *string SetPublicIpv4Pool(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the Elastic IP address. // // > Updates to the `Tags` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource. Tags() awscdk.TagManager // The Elastic IP address you are accepting for transfer. // // You can only accept one transferred address. For more information on Elastic IP address transfers, see [Transfer Elastic IP addresses](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro) in the *Amazon Virtual Private Cloud User Guide* . TransferAddress() *string SetTransferAddress(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::EIP`.
Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.
You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide* .
For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide* .
Example:
var listener listener var eip cfnEIP listener.AddEndpointGroup(jsii.String("Group"), &EndpointGroupOptions{ Endpoints: []iEndpoint{ ga_endpoints.NewCfnEipEndpoint(eip, &CfnEipEndpointProps{ Weight: jsii.Number(128), }), }, })
func NewCfnEIP ¶
func NewCfnEIP(scope constructs.Construct, id *string, props *CfnEIPProps) CfnEIP
Create a new `AWS::EC2::EIP`.
type CfnEIPAssociation ¶
type CfnEIPAssociation interface { awscdk.CfnResource awscdk.IInspectable // The allocation ID. // // This is required. AllocationId() *string SetAllocationId(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Deprecated. Eip() *string SetEip(val *string) // The ID of the instance. // // The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both. InstanceId() *string SetInstanceId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the network interface. // // If the instance has more than one network interface, you must specify a network interface ID. // // You can specify either the instance ID or the network interface ID, but not both. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // The primary or secondary private IP address to associate with the Elastic IP address. // // If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. PrivateIpAddress() *string SetPrivateIpAddress(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::EIPAssociation`.
Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview) .
You must specify `AllocationId` and either `InstanceId` , `NetworkInterfaceId` , or `PrivateIpAddress` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEIPAssociation := awscdk.Aws_ec2.NewCfnEIPAssociation(this, jsii.String("MyCfnEIPAssociation"), &CfnEIPAssociationProps{ AllocationId: jsii.String("allocationId"), Eip: jsii.String("eip"), InstanceId: jsii.String("instanceId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddress: jsii.String("privateIpAddress"), })
func NewCfnEIPAssociation ¶
func NewCfnEIPAssociation(scope constructs.Construct, id *string, props *CfnEIPAssociationProps) CfnEIPAssociation
Create a new `AWS::EC2::EIPAssociation`.
type CfnEIPAssociationProps ¶
type CfnEIPAssociationProps struct { // The allocation ID. // // This is required. AllocationId *string `field:"optional" json:"allocationId" yaml:"allocationId"` // Deprecated. Eip *string `field:"optional" json:"eip" yaml:"eip"` // The ID of the instance. // // The instance must have exactly one attached network interface. You can specify either the instance ID or the network interface ID, but not both. InstanceId *string `field:"optional" json:"instanceId" yaml:"instanceId"` // The ID of the network interface. // // If the instance has more than one network interface, you must specify a network interface ID. // // You can specify either the instance ID or the network interface ID, but not both. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The primary or secondary private IP address to associate with the Elastic IP address. // // If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` }
Properties for defining a `CfnEIPAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEIPAssociationProps := &CfnEIPAssociationProps{ AllocationId: jsii.String("allocationId"), Eip: jsii.String("eip"), InstanceId: jsii.String("instanceId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddress: jsii.String("privateIpAddress"), }
type CfnEIPProps ¶
type CfnEIPProps struct { // The network ( `vpc` ). // // If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource. Domain *string `field:"optional" json:"domain" yaml:"domain"` // The ID of the instance. // // > Updates to the `InstanceId` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource. InstanceId *string `field:"optional" json:"instanceId" yaml:"instanceId"` // A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. // // Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. // // Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. // // You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, you receive an `InvalidParameterCombination` error. NetworkBorderGroup *string `field:"optional" json:"networkBorderGroup" yaml:"networkBorderGroup"` // The ID of an address pool that you own. // // Use this parameter to let Amazon EC2 select an address from the address pool. // // > Updates to the `PublicIpv4Pool` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource. PublicIpv4Pool *string `field:"optional" json:"publicIpv4Pool" yaml:"publicIpv4Pool"` // Any tags assigned to the Elastic IP address. // // > Updates to the `Tags` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The Elastic IP address you are accepting for transfer. // // You can only accept one transferred address. For more information on Elastic IP address transfers, see [Transfer Elastic IP addresses](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro) in the *Amazon Virtual Private Cloud User Guide* . TransferAddress *string `field:"optional" json:"transferAddress" yaml:"transferAddress"` }
Properties for defining a `CfnEIP`.
Example:
var instance instance var myZone hostedZone elasticIp := ec2.NewCfnEIP(this, jsii.String("EIP"), &CfnEIPProps{ Domain: jsii.String("vpc"), InstanceId: instance.InstanceId, }) route53.NewARecord(this, jsii.String("ARecord"), &ARecordProps{ Zone: myZone, Target: route53.RecordTarget_FromIpAddresses(elasticIp.ref), })
type CfnEgressOnlyInternetGateway ¶
type CfnEgressOnlyInternetGateway interface { awscdk.CfnResource awscdk.IInspectable // The ID of the egress-only internet gateway. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC for which to create the egress-only internet gateway. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::EgressOnlyInternetGateway`.
[IPv6 only] Specifies an egress-only internet gateway for your VPC. An egress-only internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEgressOnlyInternetGateway := awscdk.Aws_ec2.NewCfnEgressOnlyInternetGateway(this, jsii.String("MyCfnEgressOnlyInternetGateway"), &CfnEgressOnlyInternetGatewayProps{ VpcId: jsii.String("vpcId"), })
func NewCfnEgressOnlyInternetGateway ¶
func NewCfnEgressOnlyInternetGateway(scope constructs.Construct, id *string, props *CfnEgressOnlyInternetGatewayProps) CfnEgressOnlyInternetGateway
Create a new `AWS::EC2::EgressOnlyInternetGateway`.
type CfnEgressOnlyInternetGatewayProps ¶
type CfnEgressOnlyInternetGatewayProps struct { // The ID of the VPC for which to create the egress-only internet gateway. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` }
Properties for defining a `CfnEgressOnlyInternetGateway`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEgressOnlyInternetGatewayProps := &CfnEgressOnlyInternetGatewayProps{ VpcId: jsii.String("vpcId"), }
type CfnEnclaveCertificateIamRoleAssociation ¶
type CfnEnclaveCertificateIamRoleAssociation interface { awscdk.CfnResource awscdk.IInspectable // The name of the Amazon S3 bucket to which the certificate was uploaded. AttrCertificateS3BucketName() *string // The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. // // The object key is formatted as follows: `role_arn` / `certificate_arn` . AttrCertificateS3ObjectKey() *string // The ID of the AWS KMS key used to encrypt the private key of the certificate. AttrEncryptionKmsKeyId() *string // The ARN of the ACM certificate with which to associate the IAM role. CertificateArn() *string SetCertificateArn(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ARN of the IAM role to associate with the ACM certificate. // // You can associate up to 16 IAM roles with an ACM certificate. RoleArn() *string SetRoleArn(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::EnclaveCertificateIamRoleAssociation`.
Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more information, see [AWS Certificate Manager for Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html) in the *AWS Nitro Enclaves User Guide* .
When the IAM role is associated with the ACM certificate, the certificate, certificate chain, and encrypted private key are placed in an Amazon S3 location that only the associated IAM role can access. The private key of the certificate is encrypted with an AWS managed key that has an attached attestation-based key policy.
To enable the IAM role to access the Amazon S3 object, you must grant it permission to call `s3:GetObject` on the Amazon S3 bucket returned by the command. To enable the IAM role to access the KMS key, you must grant it permission to call `kms:Decrypt` on the KMS key returned by the command. For more information, see [Grant the role permission to access the certificate and encryption key](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html#add-policy) in the *AWS Nitro Enclaves User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEnclaveCertificateIamRoleAssociation := awscdk.Aws_ec2.NewCfnEnclaveCertificateIamRoleAssociation(this, jsii.String("MyCfnEnclaveCertificateIamRoleAssociation"), &CfnEnclaveCertificateIamRoleAssociationProps{ CertificateArn: jsii.String("certificateArn"), RoleArn: jsii.String("roleArn"), })
func NewCfnEnclaveCertificateIamRoleAssociation ¶
func NewCfnEnclaveCertificateIamRoleAssociation(scope constructs.Construct, id *string, props *CfnEnclaveCertificateIamRoleAssociationProps) CfnEnclaveCertificateIamRoleAssociation
Create a new `AWS::EC2::EnclaveCertificateIamRoleAssociation`.
type CfnEnclaveCertificateIamRoleAssociationProps ¶
type CfnEnclaveCertificateIamRoleAssociationProps struct { // The ARN of the ACM certificate with which to associate the IAM role. CertificateArn *string `field:"required" json:"certificateArn" yaml:"certificateArn"` // The ARN of the IAM role to associate with the ACM certificate. // // You can associate up to 16 IAM roles with an ACM certificate. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` }
Properties for defining a `CfnEnclaveCertificateIamRoleAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEnclaveCertificateIamRoleAssociationProps := &CfnEnclaveCertificateIamRoleAssociationProps{ CertificateArn: jsii.String("certificateArn"), RoleArn: jsii.String("roleArn"), }
type CfnFlowLog ¶
type CfnFlowLog interface { awscdk.CfnResource awscdk.IInspectable // The ID of the flow log. // // For example, `fl-123456abc123abc1` . AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. // // This parameter is required if the destination type is `cloud-watch-logs` and unsupported otherwise. DeliverLogsPermissionArn() *string SetDeliverLogsPermissionArn(val *string) // The destination options. The following options are supported:. // // - `FileFormat` - The format for the flow log ( `plain-text` | `parquet` ). The default is `plain-text` . // - `HiveCompatiblePartitions` - Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3 ( `true` | `false` ). The default is `false` . // - `PerHourPartition` - Indicates whether to partition the flow log per hour ( `true` | `false` ). The default is `false` . DestinationOptions() interface{} SetDestinationOptions(val interface{}) // The destination for the flow log data. The meaning of this parameter depends on the destination type. // // - If the destination type is `cloud-watch-logs` , specify the ARN of a CloudWatch Logs log group. For example: // // arn:aws:logs: *region* : *account_id* :log-group: *my_group* // // Alternatively, use the `LogGroupName` parameter. // - If the destination type is `s3` , specify the ARN of an S3 bucket. For example: // // arn:aws:s3::: *my_bucket* / *my_subfolder* / // // The subfolder is optional. Note that you can't use `AWSLogs` as a subfolder name. // - If the destination type is `kinesis-data-firehose` , specify the ARN of a Kinesis Data Firehose delivery stream. For example: // // arn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*. LogDestination() *string SetLogDestination(val *string) // The type of destination for the flow log data. // // Default: `cloud-watch-logs`. LogDestinationType() *string SetLogDestinationType(val *string) // The fields to include in the flow log record, in the order in which they should appear. // // If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see [Flow log records](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) in the *Amazon VPC User Guide* or [Transit Gateway Flow Log records](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records) in the *AWS Transit Gateway Guide* . // // Specify the fields using the `${field-id}` format, separated by spaces. LogFormat() *string SetLogFormat(val *string) // The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs. // // This parameter is valid only if the destination type is `cloud-watch-logs` . LogGroupName() *string SetLogGroupName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. // // The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types. // // When a network interface is attached to a [Nitro-based instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) , the aggregation interval is always 60 seconds or less, regardless of the value that you specify. // // Default: 600. MaxAggregationInterval() *float64 SetMaxAggregationInterval(val *float64) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the resource to monitor. // // For example, if the resource type is `VPC` , specify the ID of the VPC. ResourceId() *string SetResourceId(val *string) // The type of resource to monitor. ResourceType() *string SetResourceType(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to apply to the flow logs. Tags() awscdk.TagManager // The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). // // This parameter is not supported for transit gateway resource types. It is required for the other resource types. TrafficType() *string SetTrafficType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::FlowLog`.
Specifies a VPC flow log that captures IP traffic for a specified network interface, subnet, or VPC. To view the log data, use Amazon CloudWatch Logs (CloudWatch Logs) to help troubleshoot connection issues. For example, you can use a flow log to investigate why certain traffic isn't reaching an instance, which can help you diagnose overly restrictive security group rules. For more information, see [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) in the *Amazon VPC User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var destinationOptions interface{} cfnFlowLog := awscdk.Aws_ec2.NewCfnFlowLog(this, jsii.String("MyCfnFlowLog"), &CfnFlowLogProps{ ResourceId: jsii.String("resourceId"), ResourceType: jsii.String("resourceType"), // the properties below are optional DeliverLogsPermissionArn: jsii.String("deliverLogsPermissionArn"), DestinationOptions: destinationOptions, LogDestination: jsii.String("logDestination"), LogDestinationType: jsii.String("logDestinationType"), LogFormat: jsii.String("logFormat"), LogGroupName: jsii.String("logGroupName"), MaxAggregationInterval: jsii.Number(123), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TrafficType: jsii.String("trafficType"), })
func NewCfnFlowLog ¶
func NewCfnFlowLog(scope constructs.Construct, id *string, props *CfnFlowLogProps) CfnFlowLog
Create a new `AWS::EC2::FlowLog`.
type CfnFlowLogProps ¶
type CfnFlowLogProps struct { // The ID of the resource to monitor. // // For example, if the resource type is `VPC` , specify the ID of the VPC. ResourceId *string `field:"required" json:"resourceId" yaml:"resourceId"` // The type of resource to monitor. ResourceType *string `field:"required" json:"resourceType" yaml:"resourceType"` // The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. // // This parameter is required if the destination type is `cloud-watch-logs` and unsupported otherwise. DeliverLogsPermissionArn *string `field:"optional" json:"deliverLogsPermissionArn" yaml:"deliverLogsPermissionArn"` // The destination options. The following options are supported:. // // - `FileFormat` - The format for the flow log ( `plain-text` | `parquet` ). The default is `plain-text` . // - `HiveCompatiblePartitions` - Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3 ( `true` | `false` ). The default is `false` . // - `PerHourPartition` - Indicates whether to partition the flow log per hour ( `true` | `false` ). The default is `false` . DestinationOptions interface{} `field:"optional" json:"destinationOptions" yaml:"destinationOptions"` // The destination for the flow log data. The meaning of this parameter depends on the destination type. // // - If the destination type is `cloud-watch-logs` , specify the ARN of a CloudWatch Logs log group. For example: // // arn:aws:logs: *region* : *account_id* :log-group: *my_group* // // Alternatively, use the `LogGroupName` parameter. // - If the destination type is `s3` , specify the ARN of an S3 bucket. For example: // // arn:aws:s3::: *my_bucket* / *my_subfolder* / // // The subfolder is optional. Note that you can't use `AWSLogs` as a subfolder name. // - If the destination type is `kinesis-data-firehose` , specify the ARN of a Kinesis Data Firehose delivery stream. For example: // // arn:aws:firehose: *region* : *account_id* :deliverystream: *my_stream*. LogDestination *string `field:"optional" json:"logDestination" yaml:"logDestination"` // The type of destination for the flow log data. // // Default: `cloud-watch-logs`. LogDestinationType *string `field:"optional" json:"logDestinationType" yaml:"logDestinationType"` // The fields to include in the flow log record, in the order in which they should appear. // // If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see [Flow log records](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records) in the *Amazon VPC User Guide* or [Transit Gateway Flow Log records](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records) in the *AWS Transit Gateway Guide* . // // Specify the fields using the `${field-id}` format, separated by spaces. LogFormat *string `field:"optional" json:"logFormat" yaml:"logFormat"` // The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs. // // This parameter is valid only if the destination type is `cloud-watch-logs` . LogGroupName *string `field:"optional" json:"logGroupName" yaml:"logGroupName"` // The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. // // The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types. // // When a network interface is attached to a [Nitro-based instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) , the aggregation interval is always 60 seconds or less, regardless of the value that you specify. // // Default: 600. MaxAggregationInterval *float64 `field:"optional" json:"maxAggregationInterval" yaml:"maxAggregationInterval"` // The tags to apply to the flow logs. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). // // This parameter is not supported for transit gateway resource types. It is required for the other resource types. TrafficType *string `field:"optional" json:"trafficType" yaml:"trafficType"` }
Properties for defining a `CfnFlowLog`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var destinationOptions interface{} cfnFlowLogProps := &CfnFlowLogProps{ ResourceId: jsii.String("resourceId"), ResourceType: jsii.String("resourceType"), // the properties below are optional DeliverLogsPermissionArn: jsii.String("deliverLogsPermissionArn"), DestinationOptions: destinationOptions, LogDestination: jsii.String("logDestination"), LogDestinationType: jsii.String("logDestinationType"), LogFormat: jsii.String("logFormat"), LogGroupName: jsii.String("logGroupName"), MaxAggregationInterval: jsii.Number(123), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TrafficType: jsii.String("trafficType"), }
type CfnFlowLog_DestinationOptionsProperty ¶ added in v2.55.0
type CfnFlowLog_DestinationOptionsProperty struct { // The format for the flow log. // // The default is `plain-text` . FileFormat *string `field:"required" json:"fileFormat" yaml:"fileFormat"` // Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. // // The default is `false` . HiveCompatiblePartitions interface{} `field:"required" json:"hiveCompatiblePartitions" yaml:"hiveCompatiblePartitions"` // Indicates whether to partition the flow log per hour. // // This reduces the cost and response time for queries. The default is `false` . PerHourPartition interface{} `field:"required" json:"perHourPartition" yaml:"perHourPartition"` }
Describes the destination options for a flow log.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" destinationOptionsProperty := &DestinationOptionsProperty{ FileFormat: jsii.String("fileFormat"), HiveCompatiblePartitions: jsii.Boolean(false), PerHourPartition: jsii.Boolean(false), }
type CfnGatewayRouteTableAssociation ¶
type CfnGatewayRouteTableAssociation interface { awscdk.CfnResource awscdk.IInspectable // The ID of the route table association. AttrAssociationId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the gateway. GatewayId() *string SetGatewayId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the route table. RouteTableId() *string SetRouteTableId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::GatewayRouteTableAssociation`.
Associates a virtual private gateway or internet gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnGatewayRouteTableAssociation := awscdk.Aws_ec2.NewCfnGatewayRouteTableAssociation(this, jsii.String("MyCfnGatewayRouteTableAssociation"), &CfnGatewayRouteTableAssociationProps{ GatewayId: jsii.String("gatewayId"), RouteTableId: jsii.String("routeTableId"), })
func NewCfnGatewayRouteTableAssociation ¶
func NewCfnGatewayRouteTableAssociation(scope constructs.Construct, id *string, props *CfnGatewayRouteTableAssociationProps) CfnGatewayRouteTableAssociation
Create a new `AWS::EC2::GatewayRouteTableAssociation`.
type CfnGatewayRouteTableAssociationProps ¶
type CfnGatewayRouteTableAssociationProps struct { // The ID of the gateway. GatewayId *string `field:"required" json:"gatewayId" yaml:"gatewayId"` // The ID of the route table. RouteTableId *string `field:"required" json:"routeTableId" yaml:"routeTableId"` }
Properties for defining a `CfnGatewayRouteTableAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnGatewayRouteTableAssociationProps := &CfnGatewayRouteTableAssociationProps{ GatewayId: jsii.String("gatewayId"), RouteTableId: jsii.String("routeTableId"), }
type CfnHost ¶
type CfnHost interface { awscdk.CfnResource awscdk.IInspectable // The ID of the host. AttrHostId() *string // Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. // // For more information, see [Understanding auto-placement and affinity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding) in the *Amazon EC2 User Guide* . // // Default: `on`. AutoPlacement() *string SetAutoPlacement(val *string) // The Availability Zone in which to allocate the Dedicated Host. AvailabilityZone() *string SetAvailabilityZone(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Indicates whether host maintenance is enabled or disabled for the Dedicated Host. HostMaintenance() *string SetHostMaintenance(val *string) // Indicates whether to enable or disable host recovery for the Dedicated Host. // // Host recovery is disabled by default. For more information, see [Host recovery](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) in the *Amazon EC2 User Guide* . // // Default: `off`. HostRecovery() *string SetHostRecovery(val *string) // The instance family supported by the Dedicated Host. // // For example, `m5` . InstanceFamily() *string SetInstanceFamily(val *string) // Specifies the instance type to be supported by the Dedicated Hosts. // // If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. InstanceType() *string SetInstanceType(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated. OutpostArn() *string SetOutpostArn(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::Host`.
Allocates a fully dedicated physical server for launching EC2 instances. Because the host is fully dedicated for your use, it can help you address compliance requirements and reduce costs by allowing you to use your existing server-bound software licenses. For more information, see [Dedicated Hosts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html) in the *Amazon EC2 User Guide for Linux Instances* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnHost := awscdk.Aws_ec2.NewCfnHost(this, jsii.String("MyCfnHost"), &CfnHostProps{ AvailabilityZone: jsii.String("availabilityZone"), // the properties below are optional AutoPlacement: jsii.String("autoPlacement"), HostMaintenance: jsii.String("hostMaintenance"), HostRecovery: jsii.String("hostRecovery"), InstanceFamily: jsii.String("instanceFamily"), InstanceType: jsii.String("instanceType"), OutpostArn: jsii.String("outpostArn"), })
func NewCfnHost ¶
func NewCfnHost(scope constructs.Construct, id *string, props *CfnHostProps) CfnHost
Create a new `AWS::EC2::Host`.
type CfnHostProps ¶
type CfnHostProps struct { // The Availability Zone in which to allocate the Dedicated Host. AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. // // For more information, see [Understanding auto-placement and affinity](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding) in the *Amazon EC2 User Guide* . // // Default: `on`. AutoPlacement *string `field:"optional" json:"autoPlacement" yaml:"autoPlacement"` // Indicates whether host maintenance is enabled or disabled for the Dedicated Host. HostMaintenance *string `field:"optional" json:"hostMaintenance" yaml:"hostMaintenance"` // Indicates whether to enable or disable host recovery for the Dedicated Host. // // Host recovery is disabled by default. For more information, see [Host recovery](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) in the *Amazon EC2 User Guide* . // // Default: `off`. HostRecovery *string `field:"optional" json:"hostRecovery" yaml:"hostRecovery"` // The instance family supported by the Dedicated Host. // // For example, `m5` . InstanceFamily *string `field:"optional" json:"instanceFamily" yaml:"instanceFamily"` // Specifies the instance type to be supported by the Dedicated Hosts. // // If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"` // The Amazon Resource Name (ARN) of the AWS Outpost on which the Dedicated Host is allocated. OutpostArn *string `field:"optional" json:"outpostArn" yaml:"outpostArn"` }
Properties for defining a `CfnHost`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnHostProps := &CfnHostProps{ AvailabilityZone: jsii.String("availabilityZone"), // the properties below are optional AutoPlacement: jsii.String("autoPlacement"), HostMaintenance: jsii.String("hostMaintenance"), HostRecovery: jsii.String("hostRecovery"), InstanceFamily: jsii.String("instanceFamily"), InstanceType: jsii.String("instanceType"), OutpostArn: jsii.String("outpostArn"), }
type CfnIPAM ¶ added in v2.2.0
type CfnIPAM interface { awscdk.CfnResource awscdk.IInspectable // The ARN of the IPAM. AttrArn() *string // The ID of the IPAM. AttrIpamId() *string // The ID of the default private scope. AttrPrivateDefaultScopeId() *string // The ID of the default public scope. AttrPublicDefaultScopeId() *string // The number of resource discovery associations. AttrResourceDiscoveryAssociationCount() *float64 // The number of scopes. AttrScopeCount() *float64 // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The IPAM's default resource discovery association ID. DefaultResourceDiscoveryAssociationId() *string SetDefaultResourceDiscoveryAssociationId(val *string) // The IPAM's default resource discovery ID. DefaultResourceDiscoveryId() *string SetDefaultResourceDiscoveryId(val *string) // The description for the IPAM. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The operating Regions for an IPAM. // // Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. // // For more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* . OperatingRegions() interface{} SetOperatingRegions(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The key/value combination of a tag assigned to the resource. // // Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::IPAM`.
IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts throughout your AWS Organization. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* .
There are AWS Identity and Access Management (IAM) permissions required to fully manage an IPAM in CloudFormation. For more information, see [Example policy](https://docs.aws.amazon.com//vpc/latest/ipam/iam-ipam-policy-examples.html) in the *Amazon VPC IPAM User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAM := awscdk.Aws_ec2.NewCfnIPAM(this, jsii.String("MyCfnIPAM"), &CfnIPAMProps{ DefaultResourceDiscoveryAssociationId: jsii.String("defaultResourceDiscoveryAssociationId"), DefaultResourceDiscoveryId: jsii.String("defaultResourceDiscoveryId"), Description: jsii.String("description"), OperatingRegions: []interface{}{ &IpamOperatingRegionProperty{ RegionName: jsii.String("regionName"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnIPAM ¶ added in v2.2.0
func NewCfnIPAM(scope constructs.Construct, id *string, props *CfnIPAMProps) CfnIPAM
Create a new `AWS::EC2::IPAM`.
type CfnIPAMAllocation ¶ added in v2.2.0
type CfnIPAMAllocation interface { awscdk.CfnResource awscdk.IInspectable // The ID of an allocation. AttrIpamPoolAllocationId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The CIDR you would like to allocate from the IPAM pool. Note the following:. // // - If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR. // - If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored. // // Possible values: Any available IPv4 or IPv6 CIDR. Cidr() *string SetCidr(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description for the allocation. Description() *string SetDescription(val *string) // The ID of the IPAM pool from which you would like to allocate a CIDR. IpamPoolId() *string SetIpamPoolId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:. // // - If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR. // - If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored. // // Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. NetmaskLength() *float64 SetNetmaskLength(val *float64) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::IPAMAllocation`.
In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMAllocation := awscdk.Aws_ec2.NewCfnIPAMAllocation(this, jsii.String("MyCfnIPAMAllocation"), &CfnIPAMAllocationProps{ IpamPoolId: jsii.String("ipamPoolId"), // the properties below are optional Cidr: jsii.String("cidr"), Description: jsii.String("description"), NetmaskLength: jsii.Number(123), })
func NewCfnIPAMAllocation ¶ added in v2.2.0
func NewCfnIPAMAllocation(scope constructs.Construct, id *string, props *CfnIPAMAllocationProps) CfnIPAMAllocation
Create a new `AWS::EC2::IPAMAllocation`.
type CfnIPAMAllocationProps ¶ added in v2.2.0
type CfnIPAMAllocationProps struct { // The ID of the IPAM pool from which you would like to allocate a CIDR. IpamPoolId *string `field:"required" json:"ipamPoolId" yaml:"ipamPoolId"` // The CIDR you would like to allocate from the IPAM pool. Note the following:. // // - If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR. // - If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored. // // Possible values: Any available IPv4 or IPv6 CIDR. Cidr *string `field:"optional" json:"cidr" yaml:"cidr"` // A description for the allocation. Description *string `field:"optional" json:"description" yaml:"description"` // The netmask length of the CIDR you would like to allocate from the IPAM pool. Note the following:. // // - If there is no DefaultNetmaskLength allocation rule set on the pool, you must specify either the NetmaskLength or the CIDR. // - If the DefaultNetmaskLength allocation rule is set on the pool, you can specify either the NetmaskLength or the CIDR and the DefaultNetmaskLength allocation rule will be ignored. // // Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. NetmaskLength *float64 `field:"optional" json:"netmaskLength" yaml:"netmaskLength"` }
Properties for defining a `CfnIPAMAllocation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMAllocationProps := &CfnIPAMAllocationProps{ IpamPoolId: jsii.String("ipamPoolId"), // the properties below are optional Cidr: jsii.String("cidr"), Description: jsii.String("description"), NetmaskLength: jsii.Number(123), }
type CfnIPAMPool ¶ added in v2.2.0
type CfnIPAMPool interface { awscdk.CfnResource awscdk.IInspectable // The address family of the pool. AddressFamily() *string SetAddressFamily(val *string) // The default netmask length for allocations added to this pool. // // If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. AllocationDefaultNetmaskLength() *float64 SetAllocationDefaultNetmaskLength(val *float64) // The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. // // The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. AllocationMaxNetmaskLength() *float64 SetAllocationMaxNetmaskLength(val *float64) // The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. // // The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. AllocationMinNetmaskLength() *float64 SetAllocationMinNetmaskLength(val *float64) // Tags that are required for resources that use CIDRs from this IPAM pool. // // Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant. AllocationResourceTags() interface{} SetAllocationResourceTags(val interface{}) // The ARN of the IPAM pool. AttrArn() *string // The ARN of the IPAM. AttrIpamArn() *string // The ID of the IPAM pool. AttrIpamPoolId() *string // The ARN of the scope of the IPAM pool. AttrIpamScopeArn() *string // The scope of the IPAM. AttrIpamScopeType() *string // The depth of pools in your IPAM pool. // // The pool depth quota is 10. AttrPoolDepth() *float64 // The state of the IPAM pool. AttrState() *string // A message related to the failed creation of an IPAM pool. AttrStateMessage() *string // If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. // // The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. // // A locale must be set on the pool for this feature to work. AutoImport() interface{} SetAutoImport(val interface{}) // Limits which service in AWS that the pool can be used in. // // "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. AwsService() *string SetAwsService(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description of the IPAM pool. Description() *string SetDescription(val *string) // The ID of the scope in which you would like to create the IPAM pool. IpamScopeId() *string SetIpamScopeId(val *string) // The locale of the IPAM pool. // // In IPAM, the locale is the AWS Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error. Locale() *string SetLocale(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Information about the CIDRs provisioned to an IPAM pool. ProvisionedCidrs() interface{} SetProvisionedCidrs(val interface{}) // 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` . For more information, see [Create IPv6 pools](https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html) in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see [Quotas for your IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html) in the *Amazon VPC IPAM User Guide* . PublicIpSource() *string SetPublicIpSource(val *string) // Determines if a pool is publicly advertisable. // // This option is not available for pools with AddressFamily set to `ipv4` . PubliclyAdvertisable() interface{} SetPubliclyAdvertisable(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the source IPAM pool. // // You can use this option to create an IPAM pool within an existing source pool. SourceIpamPoolId() *string SetSourceIpamPoolId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The key/value combination of a tag assigned to the resource. // // Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::IPAMPool`.
In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools enable you to organize your IP addresses according to your routing and security needs. For example, if you have separate routing and security needs for development and production applications, you can create a pool for each.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMPool := awscdk.Aws_ec2.NewCfnIPAMPool(this, jsii.String("MyCfnIPAMPool"), &CfnIPAMPoolProps{ AddressFamily: jsii.String("addressFamily"), IpamScopeId: jsii.String("ipamScopeId"), // the properties below are optional AllocationDefaultNetmaskLength: jsii.Number(123), AllocationMaxNetmaskLength: jsii.Number(123), AllocationMinNetmaskLength: jsii.Number(123), AllocationResourceTags: []interface{}{ &CfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, AutoImport: jsii.Boolean(false), AwsService: jsii.String("awsService"), Description: jsii.String("description"), Locale: jsii.String("locale"), ProvisionedCidrs: []interface{}{ &ProvisionedCidrProperty{ Cidr: jsii.String("cidr"), }, }, PublicIpSource: jsii.String("publicIpSource"), PubliclyAdvertisable: jsii.Boolean(false), SourceIpamPoolId: jsii.String("sourceIpamPoolId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnIPAMPool ¶ added in v2.2.0
func NewCfnIPAMPool(scope constructs.Construct, id *string, props *CfnIPAMPoolProps) CfnIPAMPool
Create a new `AWS::EC2::IPAMPool`.
type CfnIPAMPoolCidr ¶ added in v2.64.0
type CfnIPAMPoolCidr interface { awscdk.CfnResource awscdk.IInspectable // The IPAM pool CIDR ID. AttrIpamPoolCidrId() *string // The state of the CIDR. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The CIDR provisioned to the IPAM pool. // // A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` . Cidr() *string SetCidr(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the IPAM pool. IpamPoolId() *string SetIpamPoolId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The netmask length of the CIDR you'd like to provision to a pool. // // Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. "NetmaskLength" or "Cidr" is required. NetmaskLength() *float64 SetNetmaskLength(val *float64) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::IPAMPoolCidr`.
A CIDR provisioned to an IPAM pool.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMPoolCidr := awscdk.Aws_ec2.NewCfnIPAMPoolCidr(this, jsii.String("MyCfnIPAMPoolCidr"), &CfnIPAMPoolCidrProps{ IpamPoolId: jsii.String("ipamPoolId"), // the properties below are optional Cidr: jsii.String("cidr"), NetmaskLength: jsii.Number(123), })
func NewCfnIPAMPoolCidr ¶ added in v2.64.0
func NewCfnIPAMPoolCidr(scope constructs.Construct, id *string, props *CfnIPAMPoolCidrProps) CfnIPAMPoolCidr
Create a new `AWS::EC2::IPAMPoolCidr`.
type CfnIPAMPoolCidrProps ¶ added in v2.64.0
type CfnIPAMPoolCidrProps struct { // The ID of the IPAM pool. IpamPoolId *string `field:"required" json:"ipamPoolId" yaml:"ipamPoolId"` // The CIDR provisioned to the IPAM pool. // // A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` . Cidr *string `field:"optional" json:"cidr" yaml:"cidr"` // The netmask length of the CIDR you'd like to provision to a pool. // // Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. "NetmaskLength" or "Cidr" is required. NetmaskLength *float64 `field:"optional" json:"netmaskLength" yaml:"netmaskLength"` }
Properties for defining a `CfnIPAMPoolCidr`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMPoolCidrProps := &CfnIPAMPoolCidrProps{ IpamPoolId: jsii.String("ipamPoolId"), // the properties below are optional Cidr: jsii.String("cidr"), NetmaskLength: jsii.Number(123), }
type CfnIPAMPoolProps ¶ added in v2.2.0
type CfnIPAMPoolProps struct { // The address family of the pool. AddressFamily *string `field:"required" json:"addressFamily" yaml:"addressFamily"` // The ID of the scope in which you would like to create the IPAM pool. IpamScopeId *string `field:"required" json:"ipamScopeId" yaml:"ipamScopeId"` // The default netmask length for allocations added to this pool. // // If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. AllocationDefaultNetmaskLength *float64 `field:"optional" json:"allocationDefaultNetmaskLength" yaml:"allocationDefaultNetmaskLength"` // The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. // // The maximum netmask length must be greater than the minimum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. AllocationMaxNetmaskLength *float64 `field:"optional" json:"allocationMaxNetmaskLength" yaml:"allocationMaxNetmaskLength"` // The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. // // The minimum netmask length must be less than the maximum netmask length. Possible netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. AllocationMinNetmaskLength *float64 `field:"optional" json:"allocationMinNetmaskLength" yaml:"allocationMinNetmaskLength"` // Tags that are required for resources that use CIDRs from this IPAM pool. // // Resources that do not have these tags will not be allowed to allocate space from the pool. If the resources have their tags changed after they have allocated space or if the allocation tagging requirements are changed on the pool, the resource may be marked as noncompliant. AllocationResourceTags interface{} `field:"optional" json:"allocationResourceTags" yaml:"allocationResourceTags"` // If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. // // The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. // // A locale must be set on the pool for this feature to work. AutoImport interface{} `field:"optional" json:"autoImport" yaml:"autoImport"` // Limits which service in AWS that the pool can be used in. // // "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. AwsService *string `field:"optional" json:"awsService" yaml:"awsService"` // The description of the IPAM pool. Description *string `field:"optional" json:"description" yaml:"description"` // The locale of the IPAM pool. // // In IPAM, the locale is the AWS Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error. Locale *string `field:"optional" json:"locale" yaml:"locale"` // Information about the CIDRs provisioned to an IPAM pool. ProvisionedCidrs interface{} `field:"optional" json:"provisionedCidrs" yaml:"provisionedCidrs"` // 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` . For more information, see [Create IPv6 pools](https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html) in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see [Quotas for your IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html) in the *Amazon VPC IPAM User Guide* . PublicIpSource *string `field:"optional" json:"publicIpSource" yaml:"publicIpSource"` // Determines if a pool is publicly advertisable. // // This option is not available for pools with AddressFamily set to `ipv4` . PubliclyAdvertisable interface{} `field:"optional" json:"publiclyAdvertisable" yaml:"publiclyAdvertisable"` // The ID of the source IPAM pool. // // You can use this option to create an IPAM pool within an existing source pool. SourceIpamPoolId *string `field:"optional" json:"sourceIpamPoolId" yaml:"sourceIpamPoolId"` // The key/value combination of a tag assigned to the resource. // // Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnIPAMPool`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMPoolProps := &CfnIPAMPoolProps{ AddressFamily: jsii.String("addressFamily"), IpamScopeId: jsii.String("ipamScopeId"), // the properties below are optional AllocationDefaultNetmaskLength: jsii.Number(123), AllocationMaxNetmaskLength: jsii.Number(123), AllocationMinNetmaskLength: jsii.Number(123), AllocationResourceTags: []interface{}{ &CfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, AutoImport: jsii.Boolean(false), AwsService: jsii.String("awsService"), Description: jsii.String("description"), Locale: jsii.String("locale"), ProvisionedCidrs: []interface{}{ &ProvisionedCidrProperty{ Cidr: jsii.String("cidr"), }, }, PublicIpSource: jsii.String("publicIpSource"), PubliclyAdvertisable: jsii.Boolean(false), SourceIpamPoolId: jsii.String("sourceIpamPoolId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnIPAMPool_ProvisionedCidrProperty ¶ added in v2.2.0
type CfnIPAMPool_ProvisionedCidrProperty struct { // The CIDR provisioned to the IPAM pool. // // A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` . Cidr *string `field:"required" json:"cidr" yaml:"cidr"` }
The CIDR provisioned to the IPAM pool.
A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is `10.24.34.0/23` . An IPv6 CIDR example is `2001:DB8::/32` .
> This resource type does not allow you to provision a CIDR using the netmask length. To provision a CIDR using netmask length, use [AWS::EC2::IPAMPoolCidr](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" provisionedCidrProperty := &ProvisionedCidrProperty{ Cidr: jsii.String("cidr"), }
type CfnIPAMProps ¶ added in v2.2.0
type CfnIPAMProps struct { // The IPAM's default resource discovery association ID. DefaultResourceDiscoveryAssociationId *string `field:"optional" json:"defaultResourceDiscoveryAssociationId" yaml:"defaultResourceDiscoveryAssociationId"` // The IPAM's default resource discovery ID. DefaultResourceDiscoveryId *string `field:"optional" json:"defaultResourceDiscoveryId" yaml:"defaultResourceDiscoveryId"` // The description for the IPAM. Description *string `field:"optional" json:"description" yaml:"description"` // The operating Regions for an IPAM. // // Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. // // For more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* . OperatingRegions interface{} `field:"optional" json:"operatingRegions" yaml:"operatingRegions"` // The key/value combination of a tag assigned to the resource. // // Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnIPAM`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMProps := &CfnIPAMProps{ DefaultResourceDiscoveryAssociationId: jsii.String("defaultResourceDiscoveryAssociationId"), DefaultResourceDiscoveryId: jsii.String("defaultResourceDiscoveryId"), Description: jsii.String("description"), OperatingRegions: []interface{}{ &IpamOperatingRegionProperty{ RegionName: jsii.String("regionName"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnIPAMResourceDiscovery ¶ added in v2.64.0
type CfnIPAMResourceDiscovery interface { awscdk.CfnResource awscdk.IInspectable // The resource discovery ARN. AttrIpamResourceDiscoveryArn() *string // The resource discovery ID. AttrIpamResourceDiscoveryId() *string // The resource discovery Region. AttrIpamResourceDiscoveryRegion() *string // Defines if the resource discovery is the default. // // The default resource discovery is the resource discovery automatically created when you create an IPAM. AttrIsDefault() awscdk.IResolvable // The owner ID. AttrOwnerId() *string // The resource discovery's state. // // - `create-in-progress` - Resource discovery is being created. // - `create-complete` - Resource discovery creation is complete. // - `create-failed` - Resource discovery creation has failed. // - `modify-in-progress` - Resource discovery is being modified. // - `modify-complete` - Resource discovery modification is complete. // - `modify-failed` - Resource discovery modification has failed. // - `delete-in-progress` - Resource discovery is being deleted. // - `delete-complete` - Resource discovery deletion is complete. // - `delete-failed` - Resource discovery deletion has failed. // - `isolate-in-progress` - AWS account that created the resource discovery has been removed and the resource discovery is being isolated. // - `isolate-complete` - Resource discovery isolation is complete. // - `restore-in-progress` - AWS account that created the resource discovery and was isolated has been restored. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The resource discovery description. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The operating Regions for the resource discovery. // // Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. OperatingRegions() interface{} SetOperatingRegions(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // A tag is a label that you assign to an AWS resource. // // Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::IPAMResourceDiscovery`.
A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMResourceDiscovery := awscdk.Aws_ec2.NewCfnIPAMResourceDiscovery(this, jsii.String("MyCfnIPAMResourceDiscovery"), &CfnIPAMResourceDiscoveryProps{ Description: jsii.String("description"), OperatingRegions: []interface{}{ &IpamOperatingRegionProperty{ RegionName: jsii.String("regionName"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnIPAMResourceDiscovery ¶ added in v2.64.0
func NewCfnIPAMResourceDiscovery(scope constructs.Construct, id *string, props *CfnIPAMResourceDiscoveryProps) CfnIPAMResourceDiscovery
Create a new `AWS::EC2::IPAMResourceDiscovery`.
type CfnIPAMResourceDiscoveryAssociation ¶ added in v2.64.0
type CfnIPAMResourceDiscoveryAssociation interface { awscdk.CfnResource awscdk.IInspectable // The IPAM ARN. AttrIpamArn() *string // The IPAM home Region. AttrIpamRegion() *string // The resource discovery association ARN. AttrIpamResourceDiscoveryAssociationArn() *string // The resource discovery association ID. AttrIpamResourceDiscoveryAssociationId() *string // Defines if the resource discovery is the default. // // When you create an IPAM, a default resource discovery is created for your IPAM and it's associated with your IPAM. AttrIsDefault() awscdk.IResolvable // The owner ID. AttrOwnerId() *string // The resource discovery status. // // - `active` - Connection or permissions required to read the results of the resource discovery are intact. // - `not-found` - Connection or permissions required to read the results of the resource discovery are broken. This may happen if the owner of the resource discovery stopped sharing it or deleted the resource discovery. Verify the resource discovery still exists and the AWS RAM resource share is still intact. AttrResourceDiscoveryStatus() *string // The lifecycle state of the association when you associate or disassociate a resource discovery. // // - `associate-in-progress` - Resource discovery is being associated. // - `associate-complete` - Resource discovery association is complete. // - `associate-failed` - Resource discovery association has failed. // - `disassociate-in-progress` - Resource discovery is being disassociated. // - `disassociate-complete` - Resource discovery disassociation is complete. // - `disassociate-failed` - Resource discovery disassociation has failed. // - `isolate-in-progress` - AWS account that created the resource discovery association has been removed and the resource discovery associatation is being isolated. // - `isolate-complete` - Resource discovery isolation is complete.. // - `restore-in-progress` - Resource discovery is being restored. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The IPAM ID. IpamId() *string SetIpamId(val *string) // The resource discovery ID. IpamResourceDiscoveryId() *string SetIpamResourceDiscoveryId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // A tag is a label that you assign to an AWS resource. // // Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::IPAMResourceDiscoveryAssociation`.
An IPAM resource discovery association. An associated resource discovery is a resource discovery that has been associated with an IPAM. IPAM aggregates the resource CIDRs discovered by the associated resource discovery.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMResourceDiscoveryAssociation := awscdk.Aws_ec2.NewCfnIPAMResourceDiscoveryAssociation(this, jsii.String("MyCfnIPAMResourceDiscoveryAssociation"), &CfnIPAMResourceDiscoveryAssociationProps{ IpamId: jsii.String("ipamId"), IpamResourceDiscoveryId: jsii.String("ipamResourceDiscoveryId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnIPAMResourceDiscoveryAssociation ¶ added in v2.64.0
func NewCfnIPAMResourceDiscoveryAssociation(scope constructs.Construct, id *string, props *CfnIPAMResourceDiscoveryAssociationProps) CfnIPAMResourceDiscoveryAssociation
Create a new `AWS::EC2::IPAMResourceDiscoveryAssociation`.
type CfnIPAMResourceDiscoveryAssociationProps ¶ added in v2.64.0
type CfnIPAMResourceDiscoveryAssociationProps struct { // The IPAM ID. IpamId *string `field:"required" json:"ipamId" yaml:"ipamId"` // The resource discovery ID. IpamResourceDiscoveryId *string `field:"required" json:"ipamResourceDiscoveryId" yaml:"ipamResourceDiscoveryId"` // A tag is a label that you assign to an AWS resource. // // Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnIPAMResourceDiscoveryAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMResourceDiscoveryAssociationProps := &CfnIPAMResourceDiscoveryAssociationProps{ IpamId: jsii.String("ipamId"), IpamResourceDiscoveryId: jsii.String("ipamResourceDiscoveryId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnIPAMResourceDiscoveryProps ¶ added in v2.64.0
type CfnIPAMResourceDiscoveryProps struct { // The resource discovery description. Description *string `field:"optional" json:"description" yaml:"description"` // The operating Regions for the resource discovery. // // Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. OperatingRegions interface{} `field:"optional" json:"operatingRegions" yaml:"operatingRegions"` // A tag is a label that you assign to an AWS resource. // // Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnIPAMResourceDiscovery`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMResourceDiscoveryProps := &CfnIPAMResourceDiscoveryProps{ Description: jsii.String("description"), OperatingRegions: []interface{}{ &IpamOperatingRegionProperty{ RegionName: jsii.String("regionName"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnIPAMResourceDiscovery_IpamOperatingRegionProperty ¶ added in v2.64.0
type CfnIPAMResourceDiscovery_IpamOperatingRegionProperty struct { // The name of the operating Region. RegionName *string `field:"required" json:"regionName" yaml:"regionName"` }
The operating Regions for an IPAM.
Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.
For more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ipamOperatingRegionProperty := &IpamOperatingRegionProperty{ RegionName: jsii.String("regionName"), }
type CfnIPAMScope ¶ added in v2.2.0
type CfnIPAMScope interface { awscdk.CfnResource awscdk.IInspectable // The ARN of the scope. AttrArn() *string // The ARN of an IPAM. AttrIpamArn() *string // The ID of an IPAM scope. AttrIpamScopeId() *string // The type of the scope. AttrIpamScopeType() *string // Defines if the scope is the default scope or not. AttrIsDefault() awscdk.IResolvable // The number of pools in a scope. AttrPoolCount() *float64 // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description of the scope. Description() *string SetDescription(val *string) // The ID of the IPAM for which you're creating this scope. IpamId() *string SetIpamId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The key/value combination of a tag assigned to the resource. // // Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::IPAMScope`.
In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.
For more information, see [How IPAM works](https://docs.aws.amazon.com//vpc/latest/ipam/how-it-works-ipam.html) in the *Amazon VPC IPAM User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMScope := awscdk.Aws_ec2.NewCfnIPAMScope(this, jsii.String("MyCfnIPAMScope"), &CfnIPAMScopeProps{ IpamId: jsii.String("ipamId"), // the properties below are optional Description: jsii.String("description"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnIPAMScope ¶ added in v2.2.0
func NewCfnIPAMScope(scope constructs.Construct, id *string, props *CfnIPAMScopeProps) CfnIPAMScope
Create a new `AWS::EC2::IPAMScope`.
type CfnIPAMScopeProps ¶ added in v2.2.0
type CfnIPAMScopeProps struct { // The ID of the IPAM for which you're creating this scope. IpamId *string `field:"required" json:"ipamId" yaml:"ipamId"` // The description of the scope. Description *string `field:"optional" json:"description" yaml:"description"` // The key/value combination of a tag assigned to the resource. // // Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA` , specify `tag:Owner` for the filter name and `TeamA` for the filter value. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnIPAMScope`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIPAMScopeProps := &CfnIPAMScopeProps{ IpamId: jsii.String("ipamId"), // the properties below are optional Description: jsii.String("description"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnIPAM_IpamOperatingRegionProperty ¶ added in v2.2.0
type CfnIPAM_IpamOperatingRegionProperty struct { // The name of the operating Region. RegionName *string `field:"required" json:"regionName" yaml:"regionName"` }
The operating Regions for an IPAM.
Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.
For more information about operating Regions, see [Create an IPAM](https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html) in the *Amazon VPC IPAM User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ipamOperatingRegionProperty := &IpamOperatingRegionProperty{ RegionName: jsii.String("regionName"), }
type CfnInstance ¶
type CfnInstance interface { awscdk.CfnResource awscdk.IInspectable // This property is reserved for internal use. // // If you use it, the stack fails with this error: `Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)` . AdditionalInfo() *string SetAdditionalInfo(val *string) // Indicates whether the instance is associated with a dedicated host. // // If you want the instance to always restart on the same host on which it was launched, specify `host` . If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify `default` . Affinity() *string SetAffinity(val *string) // The Availability Zone where the specified instance is launched. For example: `us-east-1b` . // // You can retrieve a list of all Availability Zones for a Region by using the [Fn::GetAZs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html) intrinsic function. AttrAvailabilityZone() *string // The private DNS name of the specified instance. // // For example: `ip-10-24-34-0.ec2.internal` . AttrPrivateDnsName() *string // The private IP address of the specified instance. // // For example: `10.24.34.0` . AttrPrivateIp() *string // The public DNS name of the specified instance. // // For example: `ec2-107-20-50-45.compute-1.amazonaws.com` . AttrPublicDnsName() *string // The public IP address of the specified instance. // // For example: `192.0.2.0` . AttrPublicIp() *string // The Availability Zone of the instance. // // If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region. // // This parameter is not supported by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) . AvailabilityZone() *string SetAvailabilityZone(val *string) // The block device mapping entries that defines the block devices to attach to the instance at launch. // // By default, the block devices specified in the block device mapping for the AMI are used. You can override the AMI block device mapping using the instance block device mapping. For the root volume, you can override only the volume size, volume type, volume encryption settings, and the `DeleteOnTermination` setting. // // > After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . BlockDeviceMappings() interface{} SetBlockDeviceMappings(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The CPU options for the instance. // // For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* . CpuOptions() interface{} SetCpuOptions(val interface{}) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The credit option for CPU usage of the burstable performance instance. // // Valid values are `standard` and `unlimited` . To change this attribute after launch, use [ModifyInstanceCreditSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html) . For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide* . // // Default: `standard` (T2 instances) or `unlimited` (T3/T3a/T4g instances) // // For T3 instances with `host` tenancy, only `standard` is supported. CreditSpecification() interface{} SetCreditSpecification(val interface{}) // If you set this parameter to `true` , you can't terminate the instance using the Amazon EC2 console, CLI, or API; // // otherwise, you can. To change this attribute after launch, use [ModifyInstanceAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) . Alternatively, if you set `InstanceInitiatedShutdownBehavior` to `terminate` , you can terminate the instance by running the shutdown command from the instance. // // Default: `false`. DisableApiTermination() interface{} SetDisableApiTermination(val interface{}) // Indicates whether the instance is optimized for Amazon EBS I/O. // // This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. // // Default: `false`. EbsOptimized() interface{} SetEbsOptimized(val interface{}) // An elastic GPU to associate with the instance. // // An Elastic GPU is a GPU resource that you can attach to your Windows instance to accelerate the graphics performance of your applications. For more information, see [Amazon EC2 Elastic GPUs](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) in the *Amazon EC2 User Guide* . ElasticGpuSpecifications() interface{} SetElasticGpuSpecifications(val interface{}) // An elastic inference accelerator to associate with the instance. // // Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads. // // You cannot specify accelerators from different generations in the same request. // // > Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. ElasticInferenceAccelerators() interface{} SetElasticInferenceAccelerators(val interface{}) // Indicates whether the instance is enabled for AWS Nitro Enclaves. EnclaveOptions() interface{} SetEnclaveOptions(val interface{}) // Indicates whether an instance is enabled for hibernation. // // For more information, see [Hibernate your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* . // // You can't enable hibernation and AWS Nitro Enclaves on the same instance. HibernationOptions() interface{} SetHibernationOptions(val interface{}) // If you specify host for the `Affinity` property, the ID of a dedicated host that the instance is associated with. // // If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances. HostId() *string SetHostId(val *string) // The ARN of the host resource group in which to launch the instances. // // If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` . HostResourceGroupArn() *string SetHostResourceGroupArn(val *string) // The name of an IAM instance profile. // // To create a new IAM instance profile, use the [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) resource. IamInstanceProfile() *string SetIamInstanceProfile(val *string) // The ID of the AMI. // // An AMI ID is required to launch an instance and must be specified here or in a launch template. ImageId() *string SetImageId(val *string) // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). // // Default: `stop`. InstanceInitiatedShutdownBehavior() *string SetInstanceInitiatedShutdownBehavior(val *string) // The instance type. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* . // // When you change your EBS-backed instance type, instance restart or replacement behavior depends on the instance type compatibility between the old and new types. An instance that's backed by an instance store volume is always replaced. For more information, see [Change the instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) in the *Amazon EC2 User Guide* . // // Default: `m1.small` InstanceType() *string SetInstanceType(val *string) // The number of IPv6 addresses to associate with the primary network interface. // // Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch. // // You cannot specify this option and the network interfaces option in the same request. Ipv6AddressCount() *float64 SetIpv6AddressCount(val *float64) // The IPv6 addresses from the range of the subnet to associate with the primary network interface. // // You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch. // // You cannot specify this option and the network interfaces option in the same request. Ipv6Addresses() interface{} SetIpv6Addresses(val interface{}) // The ID of the kernel. // // > We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* . KernelId() *string SetKernelId(val *string) // The name of the key pair. You can create a key pair using [CreateKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or [ImportKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html) . // // > If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in. KeyName() *string SetKeyName(val *string) // The launch template to use to launch the instances. // // Any parameters that you specify in the AWS CloudFormation template override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both. LaunchTemplate() interface{} SetLaunchTemplate(val interface{}) // The license configurations. LicenseSpecifications() interface{} SetLicenseSpecifications(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Specifies whether detailed monitoring is enabled for the instance. // // Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see [Enable or turn off detailed monitoring for your instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) in the *Amazon EC2 User Guide* . Monitoring() interface{} SetMonitoring(val interface{}) // The network interfaces to associate with the instance. // // > If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. // > // > If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment. NetworkInterfaces() interface{} SetNetworkInterfaces(val interface{}) // The tree node. Node() constructs.Node // The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). PlacementGroupName() *string SetPlacementGroupName(val *string) // The options for the instance hostname. PrivateDnsNameOptions() interface{} SetPrivateDnsNameOptions(val interface{}) // The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. // // Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request. // // You cannot specify this option and the network interfaces option in the same request. // // If you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address. PrivateIpAddress() *string SetPrivateIpAddress(val *string) // Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. // // If you specify `true` and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify `false` , those tags are not assigned to the attached volumes. PropagateTagsToVolumeOnCreation() interface{} SetPropagateTagsToVolumeOnCreation(val interface{}) // The ID of the RAM disk to select. // // Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID. // // > We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* . RamdiskId() *string SetRamdiskId(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The IDs of the security groups. // // You can specify the IDs of existing security groups and references to resources created by the stack template. // // If you specify a network interface, you must specify any security groups as part of the network interface. SecurityGroupIds() *[]*string SetSecurityGroupIds(val *[]*string) // [Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead. // // You cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template. // // Default: Amazon EC2 uses the default security group. SecurityGroups() *[]*string SetSecurityGroups(val *[]*string) // Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. // // If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls. SourceDestCheck() interface{} SetSourceDestCheck(val interface{}) // The SSM [document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html) and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see [Create an IAM instance profile for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-configuring-access-role.html) in the *AWS Systems Manager User Guide* . // // > You can currently associate only one document with an instance. SsmAssociations() interface{} SetSsmAssociations(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet to launch the instance into. // // If you specify a network interface, you must specify any subnets as part of the network interface. SubnetId() *string SetSubnetId(val *string) // The tags to add to the instance. // // These tags are not applied to the EBS volumes, such as the root volume, unless [PropagateTagsToVolumeOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation) is `true` . Tags() awscdk.TagManager // The tenancy of the instance. // // An instance with a tenancy of `dedicated` runs on single-tenant hardware. Tenancy() *string SetTenancy(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The user data script to make available to the instance. // // User data is limited to 16 KB. You must provide base64-encoded text. For more information, see [Fn::Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) . // // User data runs only at instance launch. For more information, see [Run commands on your Linux instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and [Run commands on your Windows instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html) . UserData() *string SetUserData(val *string) // The volumes to attach to the instance. Volumes() interface{} SetVolumes(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::Instance`.
Specifies an EC2 instance.
If an Elastic IP address is attached to your instance, AWS CloudFormation reattaches the Elastic IP address after it updates the instance. For more information about updating stacks, see [AWS CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnInstance := awscdk.Aws_ec2.NewCfnInstance(this, jsii.String("MyCfnInstance"), &CfnInstanceProps{ AdditionalInfo: jsii.String("additionalInfo"), Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), BlockDeviceMappings: []interface{}{ &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: &NoDeviceProperty{ }, VirtualName: jsii.String("virtualName"), }, }, CpuOptions: &CpuOptionsProperty{ CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }, CreditSpecification: &CreditSpecificationProperty{ CpuCredits: jsii.String("cpuCredits"), }, DisableApiTermination: jsii.Boolean(false), EbsOptimized: jsii.Boolean(false), ElasticGpuSpecifications: []interface{}{ &ElasticGpuSpecificationProperty{ Type: jsii.String("type"), }, }, ElasticInferenceAccelerators: []interface{}{ &ElasticInferenceAcceleratorProperty{ Type: jsii.String("type"), // the properties below are optional Count: jsii.Number(123), }, }, EnclaveOptions: &EnclaveOptionsProperty{ Enabled: jsii.Boolean(false), }, HibernationOptions: &HibernationOptionsProperty{ Configured: jsii.Boolean(false), }, HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), IamInstanceProfile: jsii.String("iamInstanceProfile"), ImageId: jsii.String("imageId"), InstanceInitiatedShutdownBehavior: jsii.String("instanceInitiatedShutdownBehavior"), InstanceType: jsii.String("instanceType"), Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, KernelId: jsii.String("kernelId"), KeyName: jsii.String("keyName"), LaunchTemplate: &LaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, LicenseSpecifications: []interface{}{ &LicenseSpecificationProperty{ LicenseConfigurationArn: jsii.String("licenseConfigurationArn"), }, }, Monitoring: jsii.Boolean(false), NetworkInterfaces: []interface{}{ &NetworkInterfaceProperty{ DeviceIndex: jsii.String("deviceIndex"), // the properties below are optional AssociateCarrierIpAddress: jsii.Boolean(false), AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), GroupSet: []*string{ jsii.String("groupSet"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddress: jsii.String("privateIpAddress"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }, }, PlacementGroupName: jsii.String("placementGroupName"), PrivateDnsNameOptions: &PrivateDnsNameOptionsProperty{ EnableResourceNameDnsAaaaRecord: jsii.Boolean(false), EnableResourceNameDnsARecord: jsii.Boolean(false), HostnameType: jsii.String("hostnameType"), }, PrivateIpAddress: jsii.String("privateIpAddress"), PropagateTagsToVolumeOnCreation: jsii.Boolean(false), RamdiskId: jsii.String("ramdiskId"), SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, SecurityGroups: []*string{ jsii.String("securityGroups"), }, SourceDestCheck: jsii.Boolean(false), SsmAssociations: []interface{}{ &SsmAssociationProperty{ DocumentName: jsii.String("documentName"), // the properties below are optional AssociationParameters: []interface{}{ &AssociationParameterProperty{ Key: jsii.String("key"), Value: []*string{ jsii.String("value"), }, }, }, }, }, SubnetId: jsii.String("subnetId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, Tenancy: jsii.String("tenancy"), UserData: jsii.String("userData"), Volumes: []interface{}{ &VolumeProperty{ Device: jsii.String("device"), VolumeId: jsii.String("volumeId"), }, }, })
func NewCfnInstance ¶
func NewCfnInstance(scope constructs.Construct, id *string, props *CfnInstanceProps) CfnInstance
Create a new `AWS::EC2::Instance`.
type CfnInstanceProps ¶
type CfnInstanceProps struct { // This property is reserved for internal use. // // If you use it, the stack fails with this error: `Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)` . AdditionalInfo *string `field:"optional" json:"additionalInfo" yaml:"additionalInfo"` // Indicates whether the instance is associated with a dedicated host. // // If you want the instance to always restart on the same host on which it was launched, specify `host` . If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify `default` . Affinity *string `field:"optional" json:"affinity" yaml:"affinity"` // The Availability Zone of the instance. // // If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region. // // This parameter is not supported by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) . AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The block device mapping entries that defines the block devices to attach to the instance at launch. // // By default, the block devices specified in the block device mapping for the AMI are used. You can override the AMI block device mapping using the instance block device mapping. For the root volume, you can override only the volume size, volume type, volume encryption settings, and the `DeleteOnTermination` setting. // // > After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . BlockDeviceMappings interface{} `field:"optional" json:"blockDeviceMappings" yaml:"blockDeviceMappings"` // The CPU options for the instance. // // For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* . CpuOptions interface{} `field:"optional" json:"cpuOptions" yaml:"cpuOptions"` // The credit option for CPU usage of the burstable performance instance. // // Valid values are `standard` and `unlimited` . To change this attribute after launch, use [ModifyInstanceCreditSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html) . For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide* . // // Default: `standard` (T2 instances) or `unlimited` (T3/T3a/T4g instances) // // For T3 instances with `host` tenancy, only `standard` is supported. CreditSpecification interface{} `field:"optional" json:"creditSpecification" yaml:"creditSpecification"` // If you set this parameter to `true` , you can't terminate the instance using the Amazon EC2 console, CLI, or API; // // otherwise, you can. To change this attribute after launch, use [ModifyInstanceAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) . Alternatively, if you set `InstanceInitiatedShutdownBehavior` to `terminate` , you can terminate the instance by running the shutdown command from the instance. // // Default: `false`. DisableApiTermination interface{} `field:"optional" json:"disableApiTermination" yaml:"disableApiTermination"` // Indicates whether the instance is optimized for Amazon EBS I/O. // // This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. // // Default: `false`. EbsOptimized interface{} `field:"optional" json:"ebsOptimized" yaml:"ebsOptimized"` // An elastic GPU to associate with the instance. // // An Elastic GPU is a GPU resource that you can attach to your Windows instance to accelerate the graphics performance of your applications. For more information, see [Amazon EC2 Elastic GPUs](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) in the *Amazon EC2 User Guide* . ElasticGpuSpecifications interface{} `field:"optional" json:"elasticGpuSpecifications" yaml:"elasticGpuSpecifications"` // An elastic inference accelerator to associate with the instance. // // Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads. // // You cannot specify accelerators from different generations in the same request. // // > Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. ElasticInferenceAccelerators interface{} `field:"optional" json:"elasticInferenceAccelerators" yaml:"elasticInferenceAccelerators"` // Indicates whether the instance is enabled for AWS Nitro Enclaves. EnclaveOptions interface{} `field:"optional" json:"enclaveOptions" yaml:"enclaveOptions"` // Indicates whether an instance is enabled for hibernation. // // For more information, see [Hibernate your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* . // // You can't enable hibernation and AWS Nitro Enclaves on the same instance. HibernationOptions interface{} `field:"optional" json:"hibernationOptions" yaml:"hibernationOptions"` // If you specify host for the `Affinity` property, the ID of a dedicated host that the instance is associated with. // // If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances. HostId *string `field:"optional" json:"hostId" yaml:"hostId"` // The ARN of the host resource group in which to launch the instances. // // If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` . HostResourceGroupArn *string `field:"optional" json:"hostResourceGroupArn" yaml:"hostResourceGroupArn"` // The name of an IAM instance profile. // // To create a new IAM instance profile, use the [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) resource. IamInstanceProfile *string `field:"optional" json:"iamInstanceProfile" yaml:"iamInstanceProfile"` // The ID of the AMI. // // An AMI ID is required to launch an instance and must be specified here or in a launch template. ImageId *string `field:"optional" json:"imageId" yaml:"imageId"` // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). // // Default: `stop`. InstanceInitiatedShutdownBehavior *string `field:"optional" json:"instanceInitiatedShutdownBehavior" yaml:"instanceInitiatedShutdownBehavior"` // The instance type. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* . // // When you change your EBS-backed instance type, instance restart or replacement behavior depends on the instance type compatibility between the old and new types. An instance that's backed by an instance store volume is always replaced. For more information, see [Change the instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) in the *Amazon EC2 User Guide* . // // Default: `m1.small` InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"` // The number of IPv6 addresses to associate with the primary network interface. // // Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch. // // You cannot specify this option and the network interfaces option in the same request. Ipv6AddressCount *float64 `field:"optional" json:"ipv6AddressCount" yaml:"ipv6AddressCount"` // The IPv6 addresses from the range of the subnet to associate with the primary network interface. // // You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch. // // You cannot specify this option and the network interfaces option in the same request. Ipv6Addresses interface{} `field:"optional" json:"ipv6Addresses" yaml:"ipv6Addresses"` // The ID of the kernel. // // > We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* . KernelId *string `field:"optional" json:"kernelId" yaml:"kernelId"` // The name of the key pair. You can create a key pair using [CreateKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or [ImportKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html) . // // > If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in. KeyName *string `field:"optional" json:"keyName" yaml:"keyName"` // The launch template to use to launch the instances. // // Any parameters that you specify in the AWS CloudFormation template override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both. LaunchTemplate interface{} `field:"optional" json:"launchTemplate" yaml:"launchTemplate"` // The license configurations. LicenseSpecifications interface{} `field:"optional" json:"licenseSpecifications" yaml:"licenseSpecifications"` // Specifies whether detailed monitoring is enabled for the instance. // // Specify `true` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see [Enable or turn off detailed monitoring for your instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) in the *Amazon EC2 User Guide* . Monitoring interface{} `field:"optional" json:"monitoring" yaml:"monitoring"` // The network interfaces to associate with the instance. // // > If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. // > // > If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the VPC-gateway attachment. NetworkInterfaces interface{} `field:"optional" json:"networkInterfaces" yaml:"networkInterfaces"` // The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). PlacementGroupName *string `field:"optional" json:"placementGroupName" yaml:"placementGroupName"` // The options for the instance hostname. PrivateDnsNameOptions interface{} `field:"optional" json:"privateDnsNameOptions" yaml:"privateDnsNameOptions"` // The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. // // Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request. // // You cannot specify this option and the network interfaces option in the same request. // // If you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` // Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. // // If you specify `true` and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify `false` , those tags are not assigned to the attached volumes. PropagateTagsToVolumeOnCreation interface{} `field:"optional" json:"propagateTagsToVolumeOnCreation" yaml:"propagateTagsToVolumeOnCreation"` // The ID of the RAM disk to select. // // Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID. // // > We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [PV-GRUB](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* . RamdiskId *string `field:"optional" json:"ramdiskId" yaml:"ramdiskId"` // The IDs of the security groups. // // You can specify the IDs of existing security groups and references to resources created by the stack template. // // If you specify a network interface, you must specify any security groups as part of the network interface. SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"` // [Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead. // // You cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template. // // Default: Amazon EC2 uses the default security group. SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. // // If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls. SourceDestCheck interface{} `field:"optional" json:"sourceDestCheck" yaml:"sourceDestCheck"` // The SSM [document](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html) and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see [Create an IAM instance profile for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-configuring-access-role.html) in the *AWS Systems Manager User Guide* . // // > You can currently associate only one document with an instance. SsmAssociations interface{} `field:"optional" json:"ssmAssociations" yaml:"ssmAssociations"` // The ID of the subnet to launch the instance into. // // If you specify a network interface, you must specify any subnets as part of the network interface. SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` // The tags to add to the instance. // // These tags are not applied to the EBS volumes, such as the root volume, unless [PropagateTagsToVolumeOnCreation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation) is `true` . Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The tenancy of the instance. // // An instance with a tenancy of `dedicated` runs on single-tenant hardware. Tenancy *string `field:"optional" json:"tenancy" yaml:"tenancy"` // The user data script to make available to the instance. // // User data is limited to 16 KB. You must provide base64-encoded text. For more information, see [Fn::Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) . // // User data runs only at instance launch. For more information, see [Run commands on your Linux instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and [Run commands on your Windows instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html) . UserData *string `field:"optional" json:"userData" yaml:"userData"` // The volumes to attach to the instance. Volumes interface{} `field:"optional" json:"volumes" yaml:"volumes"` }
Properties for defining a `CfnInstance`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnInstanceProps := &CfnInstanceProps{ AdditionalInfo: jsii.String("additionalInfo"), Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), BlockDeviceMappings: []interface{}{ &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: &NoDeviceProperty{ }, VirtualName: jsii.String("virtualName"), }, }, CpuOptions: &CpuOptionsProperty{ CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }, CreditSpecification: &CreditSpecificationProperty{ CpuCredits: jsii.String("cpuCredits"), }, DisableApiTermination: jsii.Boolean(false), EbsOptimized: jsii.Boolean(false), ElasticGpuSpecifications: []interface{}{ &ElasticGpuSpecificationProperty{ Type: jsii.String("type"), }, }, ElasticInferenceAccelerators: []interface{}{ &ElasticInferenceAcceleratorProperty{ Type: jsii.String("type"), // the properties below are optional Count: jsii.Number(123), }, }, EnclaveOptions: &EnclaveOptionsProperty{ Enabled: jsii.Boolean(false), }, HibernationOptions: &HibernationOptionsProperty{ Configured: jsii.Boolean(false), }, HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), IamInstanceProfile: jsii.String("iamInstanceProfile"), ImageId: jsii.String("imageId"), InstanceInitiatedShutdownBehavior: jsii.String("instanceInitiatedShutdownBehavior"), InstanceType: jsii.String("instanceType"), Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, KernelId: jsii.String("kernelId"), KeyName: jsii.String("keyName"), LaunchTemplate: &LaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, LicenseSpecifications: []interface{}{ &LicenseSpecificationProperty{ LicenseConfigurationArn: jsii.String("licenseConfigurationArn"), }, }, Monitoring: jsii.Boolean(false), NetworkInterfaces: []interface{}{ &NetworkInterfaceProperty{ DeviceIndex: jsii.String("deviceIndex"), // the properties below are optional AssociateCarrierIpAddress: jsii.Boolean(false), AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), GroupSet: []*string{ jsii.String("groupSet"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddress: jsii.String("privateIpAddress"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }, }, PlacementGroupName: jsii.String("placementGroupName"), PrivateDnsNameOptions: &PrivateDnsNameOptionsProperty{ EnableResourceNameDnsAaaaRecord: jsii.Boolean(false), EnableResourceNameDnsARecord: jsii.Boolean(false), HostnameType: jsii.String("hostnameType"), }, PrivateIpAddress: jsii.String("privateIpAddress"), PropagateTagsToVolumeOnCreation: jsii.Boolean(false), RamdiskId: jsii.String("ramdiskId"), SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, SecurityGroups: []*string{ jsii.String("securityGroups"), }, SourceDestCheck: jsii.Boolean(false), SsmAssociations: []interface{}{ &SsmAssociationProperty{ DocumentName: jsii.String("documentName"), // the properties below are optional AssociationParameters: []interface{}{ &AssociationParameterProperty{ Key: jsii.String("key"), Value: []*string{ jsii.String("value"), }, }, }, }, }, SubnetId: jsii.String("subnetId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, Tenancy: jsii.String("tenancy"), UserData: jsii.String("userData"), Volumes: []interface{}{ &VolumeProperty{ Device: jsii.String("device"), VolumeId: jsii.String("volumeId"), }, }, }
type CfnInstance_AssociationParameterProperty ¶
type CfnInstance_AssociationParameterProperty struct { // The name of an input parameter that is in the associated SSM document. Key *string `field:"required" json:"key" yaml:"key"` // The value of an input parameter. Value *[]*string `field:"required" json:"value" yaml:"value"` }
Specifies input parameter values for an SSM document in AWS Systems Manager .
`AssociationParameter` is a property of the [Amazon EC2 Instance SsmAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html) property.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" associationParameterProperty := &AssociationParameterProperty{ Key: jsii.String("key"), Value: []*string{ jsii.String("value"), }, }
type CfnInstance_BlockDeviceMappingProperty ¶
type CfnInstance_BlockDeviceMappingProperty struct { // The device name (for example, `/dev/sdh` or `xvdh` ). // // > After the instance is running, this parameter is used to specify the device name of the block device mapping to update. DeviceName *string `field:"required" json:"deviceName" yaml:"deviceName"` // Parameters used to automatically set up EBS volumes when the instance is launched. // // > After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) . Ebs interface{} `field:"optional" json:"ebs" yaml:"ebs"` // To omit the device from the block device mapping, specify an empty string. // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . NoDevice interface{} `field:"optional" json:"noDevice" yaml:"noDevice"` // The virtual device name ( `ephemeral` N). // // The name must be in the form `ephemeral` *X* where *X* is a number starting from zero (0). For example, an instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume. // // NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect. // // *Constraints* : For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI. // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . VirtualName *string `field:"optional" json:"virtualName" yaml:"virtualName"` }
Specifies a block device mapping for an instance.
You must specify exactly one of the following properties: `VirtualName` , `Ebs` , or `NoDevice` .
`BlockDeviceMapping` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
> After the instance is running, you can modify only the `DeleteOnTermination` parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" blockDeviceMappingProperty := &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: &NoDeviceProperty{ }, VirtualName: jsii.String("virtualName"), }
type CfnInstance_CpuOptionsProperty ¶
type CfnInstance_CpuOptionsProperty struct { // The number of CPU cores for the instance. CoreCount *float64 `field:"optional" json:"coreCount" yaml:"coreCount"` // The number of threads per CPU core. ThreadsPerCore *float64 `field:"optional" json:"threadsPerCore" yaml:"threadsPerCore"` }
Specifies the CPU options for the instance.
When you specify CPU options, you must specify both the number of CPU cores and threads per core.
For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cpuOptionsProperty := &CpuOptionsProperty{ CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }
type CfnInstance_CreditSpecificationProperty ¶
type CfnInstance_CreditSpecificationProperty struct { // The credit option for CPU usage of the instance. // // Valid values: `standard` | `unlimited` // // T3 instances with `host` tenancy do not support the `unlimited` CPU credit option. CpuCredits *string `field:"optional" json:"cpuCredits" yaml:"cpuCredits"` }
Specifies the credit option for CPU usage of a T instance.
`CreditSpecification` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" creditSpecificationProperty := &CreditSpecificationProperty{ CpuCredits: jsii.String("cpuCredits"), }
type CfnInstance_EbsProperty ¶
type CfnInstance_EbsProperty struct { // Indicates whether the EBS volume is deleted on instance termination. // // For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* . DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // Indicates whether the volume should be encrypted. // // The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide* . // // Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) . // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . Encrypted interface{} `field:"optional" json:"encrypted" yaml:"encrypted"` // The number of I/O operations per second (IOPS). // // For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. // // The following are the supported values for each volume type: // // - `gp3` : 3,000-16,000 IOPS // - `io1` : 100-64,000 IOPS // - `io2` : 100-64,000 IOPS // // For `io1` and `io2` volumes, we guarantee 64,000 IOPS only for [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families guarantee performance up to 32,000 IOPS. // // This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes. // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The identifier of the AWS KMS key to use for Amazon EBS encryption. // // If `KmsKeyId` is specified, the encrypted state must be `true` . If the encrypted state is `true` but you do not specify `KmsKeyId` , your KMS key for EBS is used. // // You can specify the KMS key using any of the following: // // - Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. // - Key alias. For example, alias/ExampleAlias. // - Key ARN. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. // - Alias ARN. For example, arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias. // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // The ID of the snapshot. // // If you specify both `SnapshotId` and `VolumeSize` , `VolumeSize` must be equal or greater than the size of the snapshot. // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"` // The size of the volume, in GiBs. // // You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. // // The following are the supported volumes sizes for each volume type: // // - `gp2` and `gp3` :1-16,384 // - `io1` and `io2` : 4-16,384 // - `st1` and `sc1` : 125-16,384 // - `standard` : 1-1,024 // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"` // The volume type. // // For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon EC2 User Guide* . If the volume type is `io1` or `io2` , you must specify the IOPS that the volume supports. // // > After the instance is running, modifying this parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) . VolumeType *string `field:"optional" json:"volumeType" yaml:"volumeType"` }
Specifies a block device for an EBS volume.
`Ebs` is a property of the [Amazon EC2 BlockDeviceMapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html) property.
> After the instance is running, you can modify only the `DeleteOnTermination` parameters for the attached volumes without interrupting the instance. Modifying any other parameter results in instance [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ebsProperty := &EbsProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }
type CfnInstance_ElasticGpuSpecificationProperty ¶
type CfnInstance_ElasticGpuSpecificationProperty struct { // The type of Elastic Graphics accelerator. // // For more information about the values to specify for `Type` , see [Elastic Graphics Basics](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics) , specifically the Elastic Graphics accelerator column, in the *Amazon Elastic Compute Cloud User Guide for Windows Instances* . Type *string `field:"required" json:"type" yaml:"type"` }
Specifies the type of Elastic GPU.
An Elastic GPU is a GPU resource that you can attach to your Amazon EC2 instance to accelerate the graphics performance of your applications. For more information, see [Amazon EC2 Elastic GPUs](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) in the *Amazon EC2 User Guide for Windows Instances* .
`ElasticGpuSpecification` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" elasticGpuSpecificationProperty := &ElasticGpuSpecificationProperty{ Type: jsii.String("type"), }
type CfnInstance_ElasticInferenceAcceleratorProperty ¶
type CfnInstance_ElasticInferenceAcceleratorProperty struct { // The type of elastic inference accelerator. // // The possible values are `eia1.medium` , `eia1.large` , `eia1.xlarge` , `eia2.medium` , `eia2.large` , and `eia2.xlarge` . Type *string `field:"required" json:"type" yaml:"type"` // The number of elastic inference accelerators to attach to the instance. Count *float64 `field:"optional" json:"count" yaml:"count"` }
Specifies the Elastic Inference Accelerator for the instance.
`ElasticInferenceAccelerator` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" elasticInferenceAcceleratorProperty := &ElasticInferenceAcceleratorProperty{ Type: jsii.String("type"), // the properties below are optional Count: jsii.Number(123), }
type CfnInstance_EnclaveOptionsProperty ¶
type CfnInstance_EnclaveOptionsProperty struct { // If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; // // otherwise, it is not enabled for AWS Nitro Enclaves. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` }
Indicates whether the instance is enabled for AWS Nitro Enclaves.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" enclaveOptionsProperty := &EnclaveOptionsProperty{ Enabled: jsii.Boolean(false), }
type CfnInstance_HibernationOptionsProperty ¶
type CfnInstance_HibernationOptionsProperty struct { // If you set this parameter to `true` , your instance is enabled for hibernation. // // Default: `false`. Configured interface{} `field:"optional" json:"configured" yaml:"configured"` }
Specifies the hibernation options for the instance.
`HibernationOptions` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" hibernationOptionsProperty := &HibernationOptionsProperty{ Configured: jsii.Boolean(false), }
type CfnInstance_InstanceIpv6AddressProperty ¶
type CfnInstance_InstanceIpv6AddressProperty struct { // The IPv6 address. Ipv6Address *string `field:"required" json:"ipv6Address" yaml:"ipv6Address"` }
Specifies the IPv6 address for the instance.
`InstanceIpv6Address` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceIpv6AddressProperty := &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }
type CfnInstance_LaunchTemplateSpecificationProperty ¶
type CfnInstance_LaunchTemplateSpecificationProperty struct { // The version number of the launch template. // // Specifying `$Latest` or `$Default` for the template version number is not supported. However, you can specify `LatestVersionNumber` or `DefaultVersionNumber` using the `Fn::GetAtt` intrinsic function. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) . Version *string `field:"required" json:"version" yaml:"version"` // The ID of the launch template. // // You must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both. LaunchTemplateId *string `field:"optional" json:"launchTemplateId" yaml:"launchTemplateId"` // The name of the launch template. // // You must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both. LaunchTemplateName *string `field:"optional" json:"launchTemplateName" yaml:"launchTemplateName"` }
Specifies a launch template to use when launching an Amazon EC2 instance.
You must specify the following:
- The ID or the name of the launch template, but not both. - The version of the launch template.
`LaunchTemplateSpecification` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) in the *Amazon EC2 User Guide* .
For examples of launch templates, see [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateSpecificationProperty := &LaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }
type CfnInstance_LicenseSpecificationProperty ¶
type CfnInstance_LicenseSpecificationProperty struct { // The Amazon Resource Name (ARN) of the license configuration. LicenseConfigurationArn *string `field:"required" json:"licenseConfigurationArn" yaml:"licenseConfigurationArn"` }
Specifies the license configuration to use.
`LicenseSpecification` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" licenseSpecificationProperty := &LicenseSpecificationProperty{ LicenseConfigurationArn: jsii.String("licenseConfigurationArn"), }
type CfnInstance_NetworkInterfaceProperty ¶
type CfnInstance_NetworkInterfaceProperty struct { // The position of the network interface in the attachment order. // // A primary network interface has a device index of 0. // // If you create a network interface when launching an instance, you must specify the device index. DeviceIndex *string `field:"required" json:"deviceIndex" yaml:"deviceIndex"` // Indicates whether to assign a carrier IP address to the network interface. // // You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see [Carrier IP address](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* . AssociateCarrierIpAddress interface{} `field:"optional" json:"associateCarrierIpAddress" yaml:"associateCarrierIpAddress"` // Indicates whether to assign a public IPv4 address to an instance. // // Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is `true` . AssociatePublicIpAddress interface{} `field:"optional" json:"associatePublicIpAddress" yaml:"associatePublicIpAddress"` // Indicates whether the network interface is deleted when the instance is terminated. // // Applies only if creating a network interface when launching an instance. DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // The description of the network interface. // // Applies only if creating a network interface when launching an instance. Description *string `field:"optional" json:"description" yaml:"description"` // The IDs of the security groups for the network interface. // // Applies only if creating a network interface when launching an instance. GroupSet *[]*string `field:"optional" json:"groupSet" yaml:"groupSet"` // A number of IPv6 addresses to assign to the network interface. // // Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch. Ipv6AddressCount *float64 `field:"optional" json:"ipv6AddressCount" yaml:"ipv6AddressCount"` // The IPv6 addresses to assign to the network interface. // // You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch. Ipv6Addresses interface{} `field:"optional" json:"ipv6Addresses" yaml:"ipv6Addresses"` // The ID of the network interface, when attaching an existing network interface. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The private IPv4 address of the network interface. // // Applies only if creating a network interface when launching an instance. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` // One or more private IPv4 addresses to assign to the network interface. // // Only one private IPv4 address can be designated as primary. PrivateIpAddresses interface{} `field:"optional" json:"privateIpAddresses" yaml:"privateIpAddresses"` // The number of secondary private IPv4 addresses. // // You can't specify this option and specify more than one private IP address using the private IP addresses option. SecondaryPrivateIpAddressCount *float64 `field:"optional" json:"secondaryPrivateIpAddressCount" yaml:"secondaryPrivateIpAddressCount"` // The ID of the subnet associated with the network interface. // // Applies only if creating a network interface when launching an instance. SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` }
Specifies a network interface that is to be attached to an instance.
You can create a network interface when launching an instance. For an example, see the [AWS::EC2::Instance examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#aws-properties-ec2-instance--examples--Automatically_assign_a_public_IP_address) .
Alternatively, you can attach an existing network interface when launching an instance. For an example, see the [AWS::EC2:NetworkInterface examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#aws-resource-ec2-networkinterface--examples) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkInterfaceProperty := &NetworkInterfaceProperty{ DeviceIndex: jsii.String("deviceIndex"), // the properties below are optional AssociateCarrierIpAddress: jsii.Boolean(false), AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), GroupSet: []*string{ jsii.String("groupSet"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddress: jsii.String("privateIpAddress"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }
type CfnInstance_NoDeviceProperty ¶
type CfnInstance_NoDeviceProperty struct { }
Suppresses the specified device included in the block device mapping of the AMI.
To suppress a device, specify an empty string.
`NoDevice` is a property of the [Amazon EC2 BlockDeviceMapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html) property.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" noDeviceProperty := &NoDeviceProperty{ }
type CfnInstance_PrivateDnsNameOptionsProperty ¶ added in v2.13.0
type CfnInstance_PrivateDnsNameOptionsProperty struct { // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. // // For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* . EnableResourceNameDnsAaaaRecord interface{} `field:"optional" json:"enableResourceNameDnsAaaaRecord" yaml:"enableResourceNameDnsAaaaRecord"` // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. // // For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* . EnableResourceNameDnsARecord interface{} `field:"optional" json:"enableResourceNameDnsARecord" yaml:"enableResourceNameDnsARecord"` // The type of hostnames to assign to instances in the subnet at launch. // // For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* . HostnameType *string `field:"optional" json:"hostnameType" yaml:"hostnameType"` }
The type of hostnames to assign to instances in the subnet at launch.
For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateDnsNameOptionsProperty := &PrivateDnsNameOptionsProperty{ EnableResourceNameDnsAaaaRecord: jsii.Boolean(false), EnableResourceNameDnsARecord: jsii.Boolean(false), HostnameType: jsii.String("hostnameType"), }
type CfnInstance_PrivateIpAddressSpecificationProperty ¶
type CfnInstance_PrivateIpAddressSpecificationProperty struct { // Indicates whether the private IPv4 address is the primary private IPv4 address. // // Only one IPv4 address can be designated as primary. Primary interface{} `field:"required" json:"primary" yaml:"primary"` // The private IPv4 address. PrivateIpAddress *string `field:"required" json:"privateIpAddress" yaml:"privateIpAddress"` }
Specifies a secondary private IPv4 address for a network interface.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateIpAddressSpecificationProperty := &PrivateIpAddressSpecificationProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }
type CfnInstance_SsmAssociationProperty ¶
type CfnInstance_SsmAssociationProperty struct { // The name of an SSM document to associate with the instance. DocumentName *string `field:"required" json:"documentName" yaml:"documentName"` // The input parameter values to use with the associated SSM document. AssociationParameters interface{} `field:"optional" json:"associationParameters" yaml:"associationParameters"` }
Specifies the SSM document and parameter values in AWS Systems Manager to associate with an instance.
`SsmAssociations` is a property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ssmAssociationProperty := &SsmAssociationProperty{ DocumentName: jsii.String("documentName"), // the properties below are optional AssociationParameters: []interface{}{ &AssociationParameterProperty{ Key: jsii.String("key"), Value: []*string{ jsii.String("value"), }, }, }, }
type CfnInstance_VolumeProperty ¶
type CfnInstance_VolumeProperty struct { // The device name (for example, `/dev/sdh` or `xvdh` ). Device *string `field:"required" json:"device" yaml:"device"` // The ID of the EBS volume. // // The volume and instance must be within the same Availability Zone. VolumeId *string `field:"required" json:"volumeId" yaml:"volumeId"` }
Specifies a volume to attach to an instance.
`Volume` is an embedded property of the [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" volumeProperty := &VolumeProperty{ Device: jsii.String("device"), VolumeId: jsii.String("volumeId"), }
type CfnInternetGateway ¶
type CfnInternetGateway interface { awscdk.CfnResource awscdk.IInspectable // The ID of the internet gateway. AttrInternetGatewayId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags to assign to the internet gateway. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::InternetGateway`.
Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnInternetGateway := awscdk.Aws_ec2.NewCfnInternetGateway(this, jsii.String("MyCfnInternetGateway"), &CfnInternetGatewayProps{ Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnInternetGateway ¶
func NewCfnInternetGateway(scope constructs.Construct, id *string, props *CfnInternetGatewayProps) CfnInternetGateway
Create a new `AWS::EC2::InternetGateway`.
type CfnInternetGatewayProps ¶
type CfnInternetGatewayProps struct {
// Any tags to assign to the internet gateway.
Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}
Properties for defining a `CfnInternetGateway`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnInternetGatewayProps := &CfnInternetGatewayProps{ Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnKeyPair ¶ added in v2.25.0
type CfnKeyPair interface { awscdk.CfnResource awscdk.IInspectable // If you created the key pair using Amazon EC2:. // // - For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. // - For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with [OpenSSH 6.8](https://docs.aws.amazon.com/http://www.openssh.com/txt/release-6.8) . // // If you imported the key pair to Amazon EC2: // // - For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC 4716. // - For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with [OpenSSH 6.8](https://docs.aws.amazon.com/http://www.openssh.com/txt/release-6.8) . AttrKeyFingerprint() *string // The ID of the key pair. AttrKeyPairId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A unique name for the key pair. // // Constraints: Up to 255 ASCII characters. KeyName() *string SetKeyName(val *string) // The type of key pair. Note that ED25519 keys are not supported for Windows instances. // // If the `PublicKeyMaterial` property is specified, the `KeyType` property is ignored, and the key type is inferred from the `PublicKeyMaterial` value. // // Default: `rsa`. KeyType() *string SetKeyType(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The public key material. // // The `PublicKeyMaterial` property is used to import a key pair. If this property is not specified, then a new key pair will be created. PublicKeyMaterial() *string SetPublicKeyMaterial(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to apply to the key pair. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::KeyPair`.
Specifies a key pair for use with an Amazon Elastic Compute Cloud instance as follows:
- To import an existing key pair, include the `PublicKeyMaterial` property. - To create a new key pair, omit the `PublicKeyMaterial` property.
When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. AWS CloudFormation does not create or return the private key material when you import a key pair.
When you create a new key pair, the private key is saved to AWS Systems Manager Parameter Store, using a parameter with the following name: `/ec2/keypair/{key_pair_id}` . For more information about retrieving private key, and the required permissions, see [Create a key pair using AWS CloudFormation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *Amazon EC2 User Guide* .
When AWS CloudFormation deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnKeyPair := awscdk.Aws_ec2.NewCfnKeyPair(this, jsii.String("MyCfnKeyPair"), &CfnKeyPairProps{ KeyName: jsii.String("keyName"), // the properties below are optional KeyType: jsii.String("keyType"), PublicKeyMaterial: jsii.String("publicKeyMaterial"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnKeyPair ¶ added in v2.25.0
func NewCfnKeyPair(scope constructs.Construct, id *string, props *CfnKeyPairProps) CfnKeyPair
Create a new `AWS::EC2::KeyPair`.
type CfnKeyPairProps ¶ added in v2.25.0
type CfnKeyPairProps struct { // A unique name for the key pair. // // Constraints: Up to 255 ASCII characters. KeyName *string `field:"required" json:"keyName" yaml:"keyName"` // The type of key pair. Note that ED25519 keys are not supported for Windows instances. // // If the `PublicKeyMaterial` property is specified, the `KeyType` property is ignored, and the key type is inferred from the `PublicKeyMaterial` value. // // Default: `rsa`. KeyType *string `field:"optional" json:"keyType" yaml:"keyType"` // The public key material. // // The `PublicKeyMaterial` property is used to import a key pair. If this property is not specified, then a new key pair will be created. PublicKeyMaterial *string `field:"optional" json:"publicKeyMaterial" yaml:"publicKeyMaterial"` // The tags to apply to the key pair. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnKeyPair`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnKeyPairProps := &CfnKeyPairProps{ KeyName: jsii.String("keyName"), // the properties below are optional KeyType: jsii.String("keyType"), PublicKeyMaterial: jsii.String("publicKeyMaterial"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnLaunchTemplate ¶
type CfnLaunchTemplate interface { awscdk.CfnResource awscdk.IInspectable // The default version of the launch template, such as 2. // // The default version of a launch template cannot be specified in AWS CloudFormation . The default version can be set in the Amazon EC2 console or by using the `modify-launch-template` AWS CLI command. AttrDefaultVersionNumber() *string // The latest version of the launch template, such as `5` . AttrLatestVersionNumber() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The information for the launch template. LaunchTemplateData() interface{} SetLaunchTemplateData(val interface{}) // A name for the launch template. LaunchTemplateName() *string SetLaunchTemplateName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to apply to the launch template on creation. // // To tag the launch template, the resource type must be `launch-template` . // // > To specify the tags for the resources that are created when an instance is launched, you must use the `TagSpecifications` parameter in the [launch template data](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestLaunchTemplateData.html) structure. TagSpecifications() interface{} SetTagSpecifications(val interface{}) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // A description for the first version of the launch template. VersionDescription() *string SetVersionDescription(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::LaunchTemplate`.
Specifies the properties for creating a launch template.
The minimum required properties for specifying a launch template are as follows:
- You must specify at least one property for the launch template data. - You do not need to specify a name for the launch template. If you do not specify a name, AWS CloudFormation creates the name for you.
A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the `ImageId` property, which has no default value. If you do not specify an AMI ID for the launch template `ImageId` property, you must specify an AMI ID for the instance `ImageId` property.
For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide* .
Example:
var cluster cluster userData := `MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash echo "Running custom user data script" --==MYBOUNDARY==--\\ ` lt := ec2.NewCfnLaunchTemplate(this, jsii.String("LaunchTemplate"), &CfnLaunchTemplateProps{ LaunchTemplateData: &LaunchTemplateDataProperty{ InstanceType: jsii.String("t3.small"), UserData: awscdk.Fn_Base64(userData), }, }) cluster.AddNodegroupCapacity(jsii.String("extra-ng"), &NodegroupOptions{ LaunchTemplateSpec: &LaunchTemplateSpec{ Id: lt.ref, Version: lt.AttrLatestVersionNumber, }, })
func NewCfnLaunchTemplate ¶
func NewCfnLaunchTemplate(scope constructs.Construct, id *string, props *CfnLaunchTemplateProps) CfnLaunchTemplate
Create a new `AWS::EC2::LaunchTemplate`.
type CfnLaunchTemplateProps ¶
type CfnLaunchTemplateProps struct { // The information for the launch template. LaunchTemplateData interface{} `field:"required" json:"launchTemplateData" yaml:"launchTemplateData"` // A name for the launch template. LaunchTemplateName *string `field:"optional" json:"launchTemplateName" yaml:"launchTemplateName"` // The tags to apply to the launch template on creation. // // To tag the launch template, the resource type must be `launch-template` . // // > To specify the tags for the resources that are created when an instance is launched, you must use the `TagSpecifications` parameter in the [launch template data](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestLaunchTemplateData.html) structure. TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // A description for the first version of the launch template. VersionDescription *string `field:"optional" json:"versionDescription" yaml:"versionDescription"` }
Properties for defining a `CfnLaunchTemplate`.
Example:
var cluster cluster userData := `MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash echo "Running custom user data script" --==MYBOUNDARY==--\\ ` lt := ec2.NewCfnLaunchTemplate(this, jsii.String("LaunchTemplate"), &CfnLaunchTemplateProps{ LaunchTemplateData: &LaunchTemplateDataProperty{ InstanceType: jsii.String("t3.small"), UserData: awscdk.Fn_Base64(userData), }, }) cluster.AddNodegroupCapacity(jsii.String("extra-ng"), &NodegroupOptions{ LaunchTemplateSpec: &LaunchTemplateSpec{ Id: lt.ref, Version: lt.AttrLatestVersionNumber, }, })
type CfnLaunchTemplate_AcceleratorCountProperty ¶
type CfnLaunchTemplate_AcceleratorCountProperty struct { // The maximum number of accelerators. // // To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` . Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of accelerators. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" acceleratorCountProperty := &AcceleratorCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_AcceleratorTotalMemoryMiBProperty ¶
type CfnLaunchTemplate_AcceleratorTotalMemoryMiBProperty struct { // The maximum amount of accelerator memory, in MiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of accelerator memory, in MiB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of total accelerator memory, in MiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" acceleratorTotalMemoryMiBProperty := &AcceleratorTotalMemoryMiBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_BaselineEbsBandwidthMbpsProperty ¶
type CfnLaunchTemplate_BaselineEbsBandwidthMbpsProperty struct { // The maximum baseline bandwidth, in Mbps. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum baseline bandwidth, in Mbps. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps.
For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" baselineEbsBandwidthMbpsProperty := &BaselineEbsBandwidthMbpsProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_BlockDeviceMappingProperty ¶
type CfnLaunchTemplate_BlockDeviceMappingProperty struct { // The device name (for example, /dev/sdh or xvdh). DeviceName *string `field:"optional" json:"deviceName" yaml:"deviceName"` // Parameters used to automatically set up EBS volumes when the instance is launched. Ebs interface{} `field:"optional" json:"ebs" yaml:"ebs"` // To omit the device from the block device mapping, specify an empty string. NoDevice *string `field:"optional" json:"noDevice" yaml:"noDevice"` // The virtual device name (ephemeralN). // // Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume. VirtualName *string `field:"optional" json:"virtualName" yaml:"virtualName"` }
Information about a block device mapping for an Amazon EC2 launch template.
`BlockDeviceMapping` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" blockDeviceMappingProperty := &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), Ebs: &EbsProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), SnapshotId: jsii.String("snapshotId"), Throughput: jsii.Number(123), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: jsii.String("noDevice"), VirtualName: jsii.String("virtualName"), }
type CfnLaunchTemplate_CapacityReservationSpecificationProperty ¶
type CfnLaunchTemplate_CapacityReservationSpecificationProperty struct { // Indicates the instance's Capacity Reservation preferences. Possible preferences include:. // // - `open` - The instance can run in any `open` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). // - `none` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity. CapacityReservationPreference *string `field:"optional" json:"capacityReservationPreference" yaml:"capacityReservationPreference"` // Information about the target Capacity Reservation or Capacity Reservation group. CapacityReservationTarget interface{} `field:"optional" json:"capacityReservationTarget" yaml:"capacityReservationTarget"` }
Specifies an instance's Capacity Reservation targeting option. You can specify only one option at a time.
`CapacityReservationSpecification` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" capacityReservationSpecificationProperty := &CapacityReservationSpecificationProperty{ CapacityReservationPreference: jsii.String("capacityReservationPreference"), CapacityReservationTarget: &CapacityReservationTargetProperty{ CapacityReservationId: jsii.String("capacityReservationId"), CapacityReservationResourceGroupArn: jsii.String("capacityReservationResourceGroupArn"), }, }
type CfnLaunchTemplate_CapacityReservationTargetProperty ¶
type CfnLaunchTemplate_CapacityReservationTargetProperty struct { // The ID of the Capacity Reservation in which to run the instance. CapacityReservationId *string `field:"optional" json:"capacityReservationId" yaml:"capacityReservationId"` // The ARN of the Capacity Reservation resource group in which to run the instance. CapacityReservationResourceGroupArn *string `field:"optional" json:"capacityReservationResourceGroupArn" yaml:"capacityReservationResourceGroupArn"` }
Specifies a target Capacity Reservation.
`CapacityReservationTarget` is a property of the [Amazon EC2 LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) property type.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" capacityReservationTargetProperty := &CapacityReservationTargetProperty{ CapacityReservationId: jsii.String("capacityReservationId"), CapacityReservationResourceGroupArn: jsii.String("capacityReservationResourceGroupArn"), }
type CfnLaunchTemplate_CpuOptionsProperty ¶
type CfnLaunchTemplate_CpuOptionsProperty struct { // Indicates whether to enable the instance for AMD SEV-SNP. // // AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see [AMD SEV-SNP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) . AmdSevSnp *string `field:"optional" json:"amdSevSnp" yaml:"amdSevSnp"` // The number of CPU cores for the instance. CoreCount *float64 `field:"optional" json:"coreCount" yaml:"coreCount"` // The number of threads per CPU core. // // To disable multithreading for the instance, specify a value of `1` . Otherwise, specify the default value of `2` . ThreadsPerCore *float64 `field:"optional" json:"threadsPerCore" yaml:"threadsPerCore"` }
Specifies the CPU options for an instance.
For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* .
`CpuOptions` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cpuOptionsProperty := &CpuOptionsProperty{ AmdSevSnp: jsii.String("amdSevSnp"), CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }
type CfnLaunchTemplate_CreditSpecificationProperty ¶
type CfnLaunchTemplate_CreditSpecificationProperty struct { // The credit option for CPU usage of a T instance. // // Valid values: `standard` | `unlimited`. CpuCredits *string `field:"optional" json:"cpuCredits" yaml:"cpuCredits"` }
Specifies the credit option for CPU usage of a T2, T3, or T3a instance.
`CreditSpecification` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" creditSpecificationProperty := &CreditSpecificationProperty{ CpuCredits: jsii.String("cpuCredits"), }
type CfnLaunchTemplate_EbsProperty ¶
type CfnLaunchTemplate_EbsProperty struct { // Indicates whether the EBS volume is deleted on instance termination. DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // Indicates whether the EBS volume is encrypted. // // Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value. Encrypted interface{} `field:"optional" json:"encrypted" yaml:"encrypted"` // The number of I/O operations per second (IOPS). // // For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. // // The following are the supported values for each volume type: // // - `gp3` : 3,000-16,000 IOPS // - `io1` : 100-64,000 IOPS // - `io2` : 100-64,000 IOPS // // For `io1` and `io2` volumes, we guarantee 64,000 IOPS only for [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families guarantee performance up to 32,000 IOPS. // // This parameter is supported for `io1` , `io2` , and `gp3` volumes only. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes. Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The ARN of the symmetric AWS Key Management Service ( AWS KMS ) CMK used for encryption. KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // The ID of the snapshot. SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"` // The throughput to provision for a `gp3` volume, with a maximum of 1,000 MiB/s. // // Valid Range: Minimum value of 125. Maximum value of 1000. Throughput *float64 `field:"optional" json:"throughput" yaml:"throughput"` // The size of the volume, in GiBs. // // You must specify either a snapshot ID or a volume size. The following are the supported volumes sizes for each volume type: // // - `gp2` and `gp3` : 1-16,384 // - `io1` and `io2` : 4-16,384 // - `st1` and `sc1` : 125-16,384 // - `standard` : 1-1,024. VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"` // The volume type. // // For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide* . VolumeType *string `field:"optional" json:"volumeType" yaml:"volumeType"` }
Parameters for a block device for an EBS volume in an Amazon EC2 launch template.
`Ebs` is a property of [AWS::EC2::LaunchTemplate BlockDeviceMapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ebsProperty := &EbsProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), SnapshotId: jsii.String("snapshotId"), Throughput: jsii.Number(123), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }
type CfnLaunchTemplate_ElasticGpuSpecificationProperty ¶
type CfnLaunchTemplate_ElasticGpuSpecificationProperty struct { // The type of Elastic Graphics accelerator. // // For more information about the values to specify for `Type` , see [Elastic Graphics Basics](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics) , specifically the Elastic Graphics accelerator column, in the *Amazon Elastic Compute Cloud User Guide for Windows Instances* . Type *string `field:"optional" json:"type" yaml:"type"` }
Specifies a specification for an Elastic GPU for an Amazon EC2 launch template.
`ElasticGpuSpecification` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" elasticGpuSpecificationProperty := &ElasticGpuSpecificationProperty{ Type: jsii.String("type"), }
type CfnLaunchTemplate_EnclaveOptionsProperty ¶
type CfnLaunchTemplate_EnclaveOptionsProperty struct { // If this parameter is set to `true` , the instance is enabled for AWS Nitro Enclaves; // // otherwise, it is not enabled for AWS Nitro Enclaves. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` }
Indicates whether the instance is enabled for AWS Nitro Enclaves.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" enclaveOptionsProperty := &EnclaveOptionsProperty{ Enabled: jsii.Boolean(false), }
type CfnLaunchTemplate_HibernationOptionsProperty ¶
type CfnLaunchTemplate_HibernationOptionsProperty struct { // If you set this parameter to `true` , the instance is enabled for hibernation. // // Default: `false`. Configured interface{} `field:"optional" json:"configured" yaml:"configured"` }
Specifies whether your instance is configured for hibernation.
This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites) . For more information, see [Hibernate Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon EC2 User Guide* .
`HibernationOptions` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" hibernationOptionsProperty := &HibernationOptionsProperty{ Configured: jsii.Boolean(false), }
type CfnLaunchTemplate_IamInstanceProfileProperty ¶
type CfnLaunchTemplate_IamInstanceProfileProperty struct { // The Amazon Resource Name (ARN) of the instance profile. Arn *string `field:"optional" json:"arn" yaml:"arn"` // The name of the instance profile. Name *string `field:"optional" json:"name" yaml:"name"` }
Specifies an IAM instance profile, which is a container for an IAM role for your instance.
You can use an IAM role to distribute your AWS credentials to your instances.
If you are creating the launch template for use with an Amazon EC2 Auto Scaling group, you can specify either the name or the ARN of the instance profile, but not both.
`IamInstanceProfile` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" iamInstanceProfileProperty := &IamInstanceProfileProperty{ Arn: jsii.String("arn"), Name: jsii.String("name"), }
type CfnLaunchTemplate_InstanceMarketOptionsProperty ¶
type CfnLaunchTemplate_InstanceMarketOptionsProperty struct { // The market type. MarketType *string `field:"optional" json:"marketType" yaml:"marketType"` // The options for Spot Instances. SpotOptions interface{} `field:"optional" json:"spotOptions" yaml:"spotOptions"` }
Specifies the market (purchasing) option for an instance.
`InstanceMarketOptions` is a property of the [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceMarketOptionsProperty := &InstanceMarketOptionsProperty{ MarketType: jsii.String("marketType"), SpotOptions: &SpotOptionsProperty{ BlockDurationMinutes: jsii.Number(123), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), MaxPrice: jsii.String("maxPrice"), SpotInstanceType: jsii.String("spotInstanceType"), ValidUntil: jsii.String("validUntil"), }, }
type CfnLaunchTemplate_InstanceRequirementsProperty ¶ added in v2.9.0
type CfnLaunchTemplate_InstanceRequirementsProperty struct { // The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance. // // To exclude accelerator-enabled instance types, set `Max` to `0` . // // Default: No minimum or maximum limits. AcceleratorCount interface{} `field:"optional" json:"acceleratorCount" yaml:"acceleratorCount"` // Indicates whether instance types must have accelerators by specific manufacturers. // // - For instance types with NVIDIA devices, specify `nvidia` . // - For instance types with AMD devices, specify `amd` . // - For instance types with AWS devices, specify `amazon-web-services` . // - For instance types with Xilinx devices, specify `xilinx` . // // Default: Any manufacturer. AcceleratorManufacturers *[]*string `field:"optional" json:"acceleratorManufacturers" yaml:"acceleratorManufacturers"` // The accelerators that must be on the instance type. // // - For instance types with NVIDIA A100 GPUs, specify `a100` . // - For instance types with NVIDIA V100 GPUs, specify `v100` . // - For instance types with NVIDIA K80 GPUs, specify `k80` . // - For instance types with NVIDIA T4 GPUs, specify `t4` . // - For instance types with NVIDIA M60 GPUs, specify `m60` . // - For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` . // - For instance types with Xilinx VU9P FPGAs, specify `vu9p` . // - For instance types with AWS Inferentia chips, specify `inferentia` . // - For instance types with NVIDIA GRID K520 GPUs, specify `k520` . // // Default: Any accelerator. AcceleratorNames *[]*string `field:"optional" json:"acceleratorNames" yaml:"acceleratorNames"` // The minimum and maximum amount of total accelerator memory, in MiB. // // Default: No minimum or maximum limits. AcceleratorTotalMemoryMiB interface{} `field:"optional" json:"acceleratorTotalMemoryMiB" yaml:"acceleratorTotalMemoryMiB"` // The accelerator types that must be on the instance type. // // - For instance types with GPU accelerators, specify `gpu` . // - For instance types with FPGA accelerators, specify `fpga` . // - For instance types with inference accelerators, specify `inference` . // // Default: Any accelerator type. AcceleratorTypes *[]*string `field:"optional" json:"acceleratorTypes" yaml:"acceleratorTypes"` // The instance types to apply your specified attributes against. // // All other instance types are ignored, even if they match your specified attributes. // // You can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` . // // For example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. // // > If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . // // Default: All instance types. AllowedInstanceTypes *[]*string `field:"optional" json:"allowedInstanceTypes" yaml:"allowedInstanceTypes"` // Indicates whether bare metal instance types must be included, excluded, or required. // // - To include bare metal instance types, specify `included` . // - To require only bare metal instance types, specify `required` . // - To exclude bare metal instance types, specify `excluded` . // // Default: `excluded`. BareMetal *string `field:"optional" json:"bareMetal" yaml:"bareMetal"` // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. // // For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* . // // Default: No minimum or maximum limits. BaselineEbsBandwidthMbps interface{} `field:"optional" json:"baselineEbsBandwidthMbps" yaml:"baselineEbsBandwidthMbps"` // Indicates whether burstable performance T instance types are included, excluded, or required. // // For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . // - To require only burstable performance instance types, specify `required` . // - To exclude burstable performance instance types, specify `excluded` . // // Default: `excluded`. BurstablePerformance *string `field:"optional" json:"burstablePerformance" yaml:"burstablePerformance"` // The CPU manufacturers to include. // // - For instance types with Intel CPUs, specify `intel` . // - For instance types with AMD CPUs, specify `amd` . // - For instance types with AWS CPUs, specify `amazon-web-services` . // // > Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. // // Default: Any manufacturer. CpuManufacturers *[]*string `field:"optional" json:"cpuManufacturers" yaml:"cpuManufacturers"` // The instance types to exclude. // // You can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` . // // For example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. // // > If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . // // Default: No excluded instance types. ExcludedInstanceTypes *[]*string `field:"optional" json:"excludedInstanceTypes" yaml:"excludedInstanceTypes"` // Indicates whether current or previous generation instance types are included. // // The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* . // // For current generation instance types, specify `current` . // // For previous generation instance types, specify `previous` . // // Default: Current and previous generation instance types. InstanceGenerations *[]*string `field:"optional" json:"instanceGenerations" yaml:"instanceGenerations"` // Indicates whether instance types with instance store volumes are included, excluded, or required. // // For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* . // // - To include instance types with instance store volumes, specify `included` . // - To require only instance types with instance store volumes, specify `required` . // - To exclude instance types with instance store volumes, specify `excluded` . // // Default: `included`. LocalStorage *string `field:"optional" json:"localStorage" yaml:"localStorage"` // The type of local storage that is required. // // - For instance types with hard disk drive (HDD) storage, specify `hdd` . // - For instance types with solid state drive (SSD) storage, specify `ssd` . // // Default: `hdd` and `ssd`. LocalStorageTypes *[]*string `field:"optional" json:"localStorageTypes" yaml:"localStorageTypes"` // The minimum and maximum amount of memory per vCPU, in GiB. // // Default: No minimum or maximum limits. MemoryGiBPerVCpu interface{} `field:"optional" json:"memoryGiBPerVCpu" yaml:"memoryGiBPerVCpu"` // The minimum and maximum amount of memory, in MiB. MemoryMiB interface{} `field:"optional" json:"memoryMiB" yaml:"memoryMiB"` // The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). // // Default: No minimum or maximum limits. NetworkBandwidthGbps interface{} `field:"optional" json:"networkBandwidthGbps" yaml:"networkBandwidthGbps"` // The minimum and maximum number of network interfaces. // // Default: No minimum or maximum limits. NetworkInterfaceCount interface{} `field:"optional" json:"networkInterfaceCount" yaml:"networkInterfaceCount"` // The price protection threshold for On-Demand Instances. // // This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // // To turn off price protection, specify a high value, such as `999999` . // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) . // // > If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. // // Default: `20`. OnDemandMaxPricePercentageOverLowestPrice *float64 `field:"optional" json:"onDemandMaxPricePercentageOverLowestPrice" yaml:"onDemandMaxPricePercentageOverLowestPrice"` // Indicates whether instance types must support hibernation for On-Demand Instances. // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) . // // Default: `false`. RequireHibernateSupport interface{} `field:"optional" json:"requireHibernateSupport" yaml:"requireHibernateSupport"` // The price protection threshold for Spot Instances. // // This is the maximum you’ll pay for a Spot Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // // To turn off price protection, specify a high value, such as `999999` . // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) . // // > If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. // // Default: `100`. SpotMaxPricePercentageOverLowestPrice *float64 `field:"optional" json:"spotMaxPricePercentageOverLowestPrice" yaml:"spotMaxPricePercentageOverLowestPrice"` // The minimum and maximum amount of total local storage, in GB. // // Default: No minimum or maximum limits. TotalLocalStorageGb interface{} `field:"optional" json:"totalLocalStorageGb" yaml:"totalLocalStorageGb"` // The minimum and maximum number of vCPUs. VCpuCount interface{} `field:"optional" json:"vCpuCount" yaml:"vCpuCount"` }
The attributes for the instance types.
When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.
When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.
To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:
- `AllowedInstanceTypes` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes. - `ExcludedInstanceTypes` - The instance types to exclude from the list, even if they match your specified attributes.
> You must specify `VCpuCount` and `MemoryMiB` . All other attributes are optional. Any unspecified optional attribute is set to its default.
For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) , [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html) , and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceRequirementsProperty := &InstanceRequirementsProperty{ AcceleratorCount: &AcceleratorCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }
type CfnLaunchTemplate_Ipv4PrefixSpecificationProperty ¶ added in v2.18.0
type CfnLaunchTemplate_Ipv4PrefixSpecificationProperty struct { // The IPv4 prefix. // // For information, see [Assigning prefixes to Amazon EC2 network interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html) in the *Amazon Elastic Compute Cloud User Guide* . Ipv4Prefix *string `field:"optional" json:"ipv4Prefix" yaml:"ipv4Prefix"` }
Specifies an IPv4 prefix for a network interface.
`Ipv4PrefixSpecification` is a property of [AWS::EC2::LaunchTemplate NetworkInterface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ipv4PrefixSpecificationProperty := &Ipv4PrefixSpecificationProperty{ Ipv4Prefix: jsii.String("ipv4Prefix"), }
type CfnLaunchTemplate_Ipv6AddProperty ¶
type CfnLaunchTemplate_Ipv6AddProperty struct { // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. // // You can't use this option if you're specifying a number of IPv6 addresses. Ipv6Address *string `field:"optional" json:"ipv6Address" yaml:"ipv6Address"` }
Specifies an IPv6 address in an Amazon EC2 launch template.
`Ipv6Add` is a property of [AWS::EC2::LaunchTemplate NetworkInterface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ipv6AddProperty := &Ipv6AddProperty{ Ipv6Address: jsii.String("ipv6Address"), }
type CfnLaunchTemplate_Ipv6PrefixSpecificationProperty ¶ added in v2.18.0
type CfnLaunchTemplate_Ipv6PrefixSpecificationProperty struct { // The IPv6 prefix. Ipv6Prefix *string `field:"optional" json:"ipv6Prefix" yaml:"ipv6Prefix"` }
Specifies an IPv6 prefix for a network interface.
`Ipv6PrefixSpecification` is a property of [AWS::EC2::LaunchTemplate NetworkInterface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ipv6PrefixSpecificationProperty := &Ipv6PrefixSpecificationProperty{ Ipv6Prefix: jsii.String("ipv6Prefix"), }
type CfnLaunchTemplate_LaunchTemplateDataProperty ¶
type CfnLaunchTemplate_LaunchTemplateDataProperty struct { // The block device mapping. BlockDeviceMappings interface{} `field:"optional" json:"blockDeviceMappings" yaml:"blockDeviceMappings"` // The Capacity Reservation targeting option. // // If you do not specify this parameter, the instance's Capacity Reservation preference defaults to `open` , which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). CapacityReservationSpecification interface{} `field:"optional" json:"capacityReservationSpecification" yaml:"capacityReservationSpecification"` // The CPU options for the instance. // // For more information, see [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *Amazon Elastic Compute Cloud User Guide* . CpuOptions interface{} `field:"optional" json:"cpuOptions" yaml:"cpuOptions"` // The credit option for CPU usage of the instance. // // Valid only for T instances. CreditSpecification interface{} `field:"optional" json:"creditSpecification" yaml:"creditSpecification"` // Indicates whether to enable the instance for stop protection. // // For more information, see [Stop protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection) in the *Amazon Elastic Compute Cloud User Guide* . DisableApiStop interface{} `field:"optional" json:"disableApiStop" yaml:"disableApiStop"` // If you set this parameter to `true` , you can't terminate the instance using the Amazon EC2 console, CLI, or API; // // otherwise, you can. To change this attribute after launch, use [ModifyInstanceAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) . Alternatively, if you set `InstanceInitiatedShutdownBehavior` to `terminate` , you can terminate the instance by running the shutdown command from the instance. DisableApiTermination interface{} `field:"optional" json:"disableApiTermination" yaml:"disableApiTermination"` // Indicates whether the instance is optimized for Amazon EBS I/O. // // This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. EbsOptimized interface{} `field:"optional" json:"ebsOptimized" yaml:"ebsOptimized"` // An elastic GPU to associate with the instance. ElasticGpuSpecifications interface{} `field:"optional" json:"elasticGpuSpecifications" yaml:"elasticGpuSpecifications"` // The elastic inference accelerator for the instance. ElasticInferenceAccelerators interface{} `field:"optional" json:"elasticInferenceAccelerators" yaml:"elasticInferenceAccelerators"` // Indicates whether the instance is enabled for AWS Nitro Enclaves. // // For more information, see [What is AWS Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *AWS Nitro Enclaves User Guide* . // // You can't enable AWS Nitro Enclaves and hibernation on the same instance. EnclaveOptions interface{} `field:"optional" json:"enclaveOptions" yaml:"enclaveOptions"` // Indicates whether an instance is enabled for hibernation. // // This parameter is valid only if the instance meets the [hibernation prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html) . For more information, see [Hibernate your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the *Amazon Elastic Compute Cloud User Guide* . HibernationOptions interface{} `field:"optional" json:"hibernationOptions" yaml:"hibernationOptions"` // The name or Amazon Resource Name (ARN) of an IAM instance profile. IamInstanceProfile interface{} `field:"optional" json:"iamInstanceProfile" yaml:"iamInstanceProfile"` // The ID of the AMI. // // Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch. // // Valid formats: // // - `ami-17characters00000` // - `resolve:ssm:parameter-name` // - `resolve:ssm:parameter-name:version-number` // - `resolve:ssm:parameter-name:label` // // For more information, see [Use a Systems Manager parameter to find an AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI) in the *Amazon Elastic Compute Cloud User Guide* . ImageId *string `field:"optional" json:"imageId" yaml:"imageId"` // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). // // Default: `stop`. InstanceInitiatedShutdownBehavior *string `field:"optional" json:"instanceInitiatedShutdownBehavior" yaml:"instanceInitiatedShutdownBehavior"` // The market (purchasing) option for the instances. InstanceMarketOptions interface{} `field:"optional" json:"instanceMarketOptions" yaml:"instanceMarketOptions"` // The attributes for the instance types. // // When you specify instance attributes, Amazon EC2 will identify instance types with these attributes. // // If you specify `InstanceRequirements` , you can't specify `InstanceType` . InstanceRequirements interface{} `field:"optional" json:"instanceRequirements" yaml:"instanceRequirements"` // The instance type. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon Elastic Compute Cloud User Guide* . // // If you specify `InstanceType` , you can't specify `InstanceRequirements` . InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"` // The ID of the kernel. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User Provided Kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide* . KernelId *string `field:"optional" json:"kernelId" yaml:"kernelId"` // The name of the key pair. You can create a key pair using [CreateKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or [ImportKeyPair](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html) . // // > If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in. KeyName *string `field:"optional" json:"keyName" yaml:"keyName"` // The license configurations. LicenseSpecifications interface{} `field:"optional" json:"licenseSpecifications" yaml:"licenseSpecifications"` // The maintenance options of your instance. MaintenanceOptions interface{} `field:"optional" json:"maintenanceOptions" yaml:"maintenanceOptions"` // The metadata options for the instance. // // For more information, see [Instance metadata and user data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) in the *Amazon Elastic Compute Cloud User Guide* . MetadataOptions interface{} `field:"optional" json:"metadataOptions" yaml:"metadataOptions"` // The monitoring for the instance. Monitoring interface{} `field:"optional" json:"monitoring" yaml:"monitoring"` // One or more network interfaces. // // If you specify a network interface, you must specify any security groups and subnets as part of the network interface. NetworkInterfaces interface{} `field:"optional" json:"networkInterfaces" yaml:"networkInterfaces"` // The placement for the instance. Placement interface{} `field:"optional" json:"placement" yaml:"placement"` // The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. // // For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* . PrivateDnsNameOptions interface{} `field:"optional" json:"privateDnsNameOptions" yaml:"privateDnsNameOptions"` // The ID of the RAM disk. // // > We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User provided kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon Elastic Compute Cloud User Guide* . RamDiskId *string `field:"optional" json:"ramDiskId" yaml:"ramDiskId"` // The IDs of the security groups. // // You can specify the IDs of existing security groups and references to resources created by the stack template. SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"` // One or more security group names. // // For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request. SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The tags to apply to the resources that are created during instance launch. // // You can specify tags for the following resources only: // // - Instances // - Volumes // - Elastic graphics // - Spot Instance requests // - Network interfaces // // To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) . // // > To tag the launch template itself, you must use the [TagSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) parameter. TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // The user data to make available to the instance. // // You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Linux instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) (Linux) or [Work with instance user data](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instancedata-add-user-data.html) (Windows) in the *Amazon Elastic Compute Cloud User Guide* . // // If you are creating the launch template for use with AWS Batch , the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive) . For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the *AWS Batch User Guide* . UserData *string `field:"optional" json:"userData" yaml:"userData"` }
The information to include in the launch template.
> You must specify at least one parameter for the launch template data.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateDataProperty := &LaunchTemplateDataProperty{ BlockDeviceMappings: []interface{}{ &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), Ebs: &EbsProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), SnapshotId: jsii.String("snapshotId"), Throughput: jsii.Number(123), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: jsii.String("noDevice"), VirtualName: jsii.String("virtualName"), }, }, CapacityReservationSpecification: &CapacityReservationSpecificationProperty{ CapacityReservationPreference: jsii.String("capacityReservationPreference"), CapacityReservationTarget: &CapacityReservationTargetProperty{ CapacityReservationId: jsii.String("capacityReservationId"), CapacityReservationResourceGroupArn: jsii.String("capacityReservationResourceGroupArn"), }, }, CpuOptions: &CpuOptionsProperty{ AmdSevSnp: jsii.String("amdSevSnp"), CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }, CreditSpecification: &CreditSpecificationProperty{ CpuCredits: jsii.String("cpuCredits"), }, DisableApiStop: jsii.Boolean(false), DisableApiTermination: jsii.Boolean(false), EbsOptimized: jsii.Boolean(false), ElasticGpuSpecifications: []interface{}{ &ElasticGpuSpecificationProperty{ Type: jsii.String("type"), }, }, ElasticInferenceAccelerators: []interface{}{ &LaunchTemplateElasticInferenceAcceleratorProperty{ Count: jsii.Number(123), Type: jsii.String("type"), }, }, EnclaveOptions: &EnclaveOptionsProperty{ Enabled: jsii.Boolean(false), }, HibernationOptions: &HibernationOptionsProperty{ Configured: jsii.Boolean(false), }, IamInstanceProfile: &IamInstanceProfileProperty{ Arn: jsii.String("arn"), Name: jsii.String("name"), }, ImageId: jsii.String("imageId"), InstanceInitiatedShutdownBehavior: jsii.String("instanceInitiatedShutdownBehavior"), InstanceMarketOptions: &InstanceMarketOptionsProperty{ MarketType: jsii.String("marketType"), SpotOptions: &SpotOptionsProperty{ BlockDurationMinutes: jsii.Number(123), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), MaxPrice: jsii.String("maxPrice"), SpotInstanceType: jsii.String("spotInstanceType"), ValidUntil: jsii.String("validUntil"), }, }, InstanceRequirements: &InstanceRequirementsProperty{ AcceleratorCount: &AcceleratorCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), KernelId: jsii.String("kernelId"), KeyName: jsii.String("keyName"), LicenseSpecifications: []interface{}{ &LicenseSpecificationProperty{ LicenseConfigurationArn: jsii.String("licenseConfigurationArn"), }, }, MaintenanceOptions: &MaintenanceOptionsProperty{ AutoRecovery: jsii.String("autoRecovery"), }, MetadataOptions: &MetadataOptionsProperty{ HttpEndpoint: jsii.String("httpEndpoint"), HttpProtocolIpv6: jsii.String("httpProtocolIpv6"), HttpPutResponseHopLimit: jsii.Number(123), HttpTokens: jsii.String("httpTokens"), InstanceMetadataTags: jsii.String("instanceMetadataTags"), }, Monitoring: &MonitoringProperty{ Enabled: jsii.Boolean(false), }, NetworkInterfaces: []interface{}{ &NetworkInterfaceProperty{ AssociateCarrierIpAddress: jsii.Boolean(false), AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), DeviceIndex: jsii.Number(123), Groups: []*string{ jsii.String("groups"), }, InterfaceType: jsii.String("interfaceType"), Ipv4PrefixCount: jsii.Number(123), Ipv4Prefixes: []interface{}{ &Ipv4PrefixSpecificationProperty{ Ipv4Prefix: jsii.String("ipv4Prefix"), }, }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &Ipv6AddProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, Ipv6PrefixCount: jsii.Number(123), Ipv6Prefixes: []interface{}{ &Ipv6PrefixSpecificationProperty{ Ipv6Prefix: jsii.String("ipv6Prefix"), }, }, NetworkCardIndex: jsii.Number(123), NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddress: jsii.String("privateIpAddress"), PrivateIpAddresses: []interface{}{ &PrivateIpAddProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }, }, Placement: &PlacementProperty{ Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), GroupId: jsii.String("groupId"), GroupName: jsii.String("groupName"), HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), PartitionNumber: jsii.Number(123), SpreadDomain: jsii.String("spreadDomain"), Tenancy: jsii.String("tenancy"), }, PrivateDnsNameOptions: &PrivateDnsNameOptionsProperty{ EnableResourceNameDnsAaaaRecord: jsii.Boolean(false), EnableResourceNameDnsARecord: jsii.Boolean(false), HostnameType: jsii.String("hostnameType"), }, RamDiskId: jsii.String("ramDiskId"), SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, SecurityGroups: []*string{ jsii.String("securityGroups"), }, TagSpecifications: []interface{}{ &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, UserData: jsii.String("userData"), }
type CfnLaunchTemplate_LaunchTemplateElasticInferenceAcceleratorProperty ¶
type CfnLaunchTemplate_LaunchTemplateElasticInferenceAcceleratorProperty struct { // The number of elastic inference accelerators to attach to the instance. // // Default: 1. Count *float64 `field:"optional" json:"count" yaml:"count"` // The type of elastic inference accelerator. // // The possible values are eia1.medium, eia1.large, and eia1.xlarge. Type *string `field:"optional" json:"type" yaml:"type"` }
Specifies an elastic inference accelerator.
`LaunchTemplateElasticInferenceAccelerator` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateElasticInferenceAcceleratorProperty := &LaunchTemplateElasticInferenceAcceleratorProperty{ Count: jsii.Number(123), Type: jsii.String("type"), }
type CfnLaunchTemplate_LaunchTemplateTagSpecificationProperty ¶
type CfnLaunchTemplate_LaunchTemplateTagSpecificationProperty struct { // The type of resource. // // To tag the launch template, `ResourceType` must be `launch-template` . ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // The tags for the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Specifies the tags to apply to the launch template during creation.
`LaunchTemplateTagSpecification` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateTagSpecificationProperty := &LaunchTemplateTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnLaunchTemplate_LicenseSpecificationProperty ¶
type CfnLaunchTemplate_LicenseSpecificationProperty struct { // The Amazon Resource Name (ARN) of the license configuration. LicenseConfigurationArn *string `field:"optional" json:"licenseConfigurationArn" yaml:"licenseConfigurationArn"` }
Specifies a license configuration for an instance.
`LicenseSpecification` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" licenseSpecificationProperty := &LicenseSpecificationProperty{ LicenseConfigurationArn: jsii.String("licenseConfigurationArn"), }
type CfnLaunchTemplate_MaintenanceOptionsProperty ¶ added in v2.21.0
type CfnLaunchTemplate_MaintenanceOptionsProperty struct { // Disables the automatic recovery behavior of your instance or sets it to default. AutoRecovery *string `field:"optional" json:"autoRecovery" yaml:"autoRecovery"` }
The maintenance options of your instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" maintenanceOptionsProperty := &MaintenanceOptionsProperty{ AutoRecovery: jsii.String("autoRecovery"), }
type CfnLaunchTemplate_MemoryGiBPerVCpuProperty ¶
type CfnLaunchTemplate_MemoryGiBPerVCpuProperty struct { // The maximum amount of memory per vCPU, in GiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of memory per vCPU, in GiB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of memory per vCPU, in GiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" memoryGiBPerVCpuProperty := &MemoryGiBPerVCpuProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_MemoryMiBProperty ¶
type CfnLaunchTemplate_MemoryMiBProperty struct { // The maximum amount of memory, in MiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of memory, in MiB. // // To specify no minimum limit, specify `0` . Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of memory, in MiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" memoryMiBProperty := &MemoryMiBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_MetadataOptionsProperty ¶
type CfnLaunchTemplate_MetadataOptionsProperty struct { // Enables or disables the HTTP metadata endpoint on your instances. // // If the parameter is not specified, the default state is `enabled` . // // > If you specify a value of `disabled` , you will not be able to access your instance metadata. HttpEndpoint *string `field:"optional" json:"httpEndpoint" yaml:"httpEndpoint"` // Enables or disables the IPv6 endpoint for the instance metadata service. // // Default: `disabled`. HttpProtocolIpv6 *string `field:"optional" json:"httpProtocolIpv6" yaml:"httpProtocolIpv6"` // The desired HTTP PUT response hop limit for instance metadata requests. // // The larger the number, the further instance metadata requests can travel. // // Default: `1` // // Possible values: Integers from 1 to 64. HttpPutResponseHopLimit *float64 `field:"optional" json:"httpPutResponseHopLimit" yaml:"httpPutResponseHopLimit"` // IMDSv2 uses token-backed sessions. // // Set the use of HTTP tokens to `optional` (in other words, set the use of IMDSv2 to `optional` ) or `required` (in other words, set the use of IMDSv2 to `required` ). // // - `optional` - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without a session token in your request. If you retrieve the IAM role credentials without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials using a valid session token, the IMDSv2 role credentials are returned. // - `required` - When IMDSv2 is required, you must send a session token with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available. // // Default: `optional`. HttpTokens *string `field:"optional" json:"httpTokens" yaml:"httpTokens"` // Set to `enabled` to allow access to instance tags from the instance metadata. // // Set to `disabled` to turn off access to instance tags from the instance metadata. For more information, see [Work with instance tags using the instance metadata](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS) . // // Default: `disabled`. InstanceMetadataTags *string `field:"optional" json:"instanceMetadataTags" yaml:"instanceMetadataTags"` }
The metadata options for the instance.
For more information, see [Instance metadata and user data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) in the *Amazon EC2 User Guide* .
`MetadataOptions` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" metadataOptionsProperty := &MetadataOptionsProperty{ HttpEndpoint: jsii.String("httpEndpoint"), HttpProtocolIpv6: jsii.String("httpProtocolIpv6"), HttpPutResponseHopLimit: jsii.Number(123), HttpTokens: jsii.String("httpTokens"), InstanceMetadataTags: jsii.String("instanceMetadataTags"), }
type CfnLaunchTemplate_MonitoringProperty ¶
type CfnLaunchTemplate_MonitoringProperty struct { // Specify `true` to enable detailed monitoring. // // Otherwise, basic monitoring is enabled. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` }
Specifies whether detailed monitoring is enabled for an instance.
For more information about detailed monitoring, see [Enable or turn off detailed monitoring for your instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) in the *Amazon EC2 User Guide* .
`Monitoring` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" monitoringProperty := &MonitoringProperty{ Enabled: jsii.Boolean(false), }
type CfnLaunchTemplate_NetworkBandwidthGbpsProperty ¶ added in v2.51.0
type CfnLaunchTemplate_NetworkBandwidthGbpsProperty struct { // The maximum amount of network bandwidth, in Gbps. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of network bandwidth, in Gbps. // // If this parameter is not specified, there is no minimum limit. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
> Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkBandwidthGbpsProperty := &NetworkBandwidthGbpsProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_NetworkInterfaceCountProperty ¶
type CfnLaunchTemplate_NetworkInterfaceCountProperty struct { // The maximum number of network interfaces. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of network interfaces. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of network interfaces.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkInterfaceCountProperty := &NetworkInterfaceCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_NetworkInterfaceProperty ¶
type CfnLaunchTemplate_NetworkInterfaceProperty struct { // Indicates whether to associate a Carrier IP address with eth0 for a new network interface. // // Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see [Carrier IP addresses](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *AWS Wavelength Developer Guide* . AssociateCarrierIpAddress interface{} `field:"optional" json:"associateCarrierIpAddress" yaml:"associateCarrierIpAddress"` // Associates a public IPv4 address with eth0 for a new network interface. AssociatePublicIpAddress interface{} `field:"optional" json:"associatePublicIpAddress" yaml:"associatePublicIpAddress"` // Indicates whether the network interface is deleted when the instance is terminated. DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // A description for the network interface. Description *string `field:"optional" json:"description" yaml:"description"` // The device index for the network interface attachment. DeviceIndex *float64 `field:"optional" json:"deviceIndex" yaml:"deviceIndex"` // The IDs of one or more security groups. Groups *[]*string `field:"optional" json:"groups" yaml:"groups"` // The type of network interface. // // To create an Elastic Fabric Adapter (EFA), specify `efa` . For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon Elastic Compute Cloud User Guide* . // // If you are not creating an EFA, specify `interface` or omit this parameter. // // Valid values: `interface` | `efa`. InterfaceType *string `field:"optional" json:"interfaceType" yaml:"interfaceType"` // The number of IPv4 prefixes to be automatically assigned to the network interface. // // You cannot use this option if you use the `Ipv4Prefix` option. Ipv4PrefixCount *float64 `field:"optional" json:"ipv4PrefixCount" yaml:"ipv4PrefixCount"` // One or more IPv4 prefixes to be assigned to the network interface. // // You cannot use this option if you use the `Ipv4PrefixCount` option. Ipv4Prefixes interface{} `field:"optional" json:"ipv4Prefixes" yaml:"ipv4Prefixes"` // The number of IPv6 addresses to assign to a network interface. // // Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. Ipv6AddressCount *float64 `field:"optional" json:"ipv6AddressCount" yaml:"ipv6AddressCount"` // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. // // You can't use this option if you're specifying a number of IPv6 addresses. Ipv6Addresses interface{} `field:"optional" json:"ipv6Addresses" yaml:"ipv6Addresses"` // The number of IPv6 prefixes to be automatically assigned to the network interface. // // You cannot use this option if you use the `Ipv6Prefix` option. Ipv6PrefixCount *float64 `field:"optional" json:"ipv6PrefixCount" yaml:"ipv6PrefixCount"` // One or more IPv6 prefixes to be assigned to the network interface. // // You cannot use this option if you use the `Ipv6PrefixCount` option. Ipv6Prefixes interface{} `field:"optional" json:"ipv6Prefixes" yaml:"ipv6Prefixes"` // The index of the network card. // // Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0. NetworkCardIndex *float64 `field:"optional" json:"networkCardIndex" yaml:"networkCardIndex"` // The ID of the network interface. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The primary private IPv4 address of the network interface. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` // One or more private IPv4 addresses. PrivateIpAddresses interface{} `field:"optional" json:"privateIpAddresses" yaml:"privateIpAddresses"` // The number of secondary private IPv4 addresses to assign to a network interface. SecondaryPrivateIpAddressCount *float64 `field:"optional" json:"secondaryPrivateIpAddressCount" yaml:"secondaryPrivateIpAddressCount"` // The ID of the subnet for the network interface. SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` }
Specifies the parameters for a network interface.
`NetworkInterface` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkInterfaceProperty := &NetworkInterfaceProperty{ AssociateCarrierIpAddress: jsii.Boolean(false), AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), DeviceIndex: jsii.Number(123), Groups: []*string{ jsii.String("groups"), }, InterfaceType: jsii.String("interfaceType"), Ipv4PrefixCount: jsii.Number(123), Ipv4Prefixes: []interface{}{ &Ipv4PrefixSpecificationProperty{ Ipv4Prefix: jsii.String("ipv4Prefix"), }, }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &Ipv6AddProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, Ipv6PrefixCount: jsii.Number(123), Ipv6Prefixes: []interface{}{ &Ipv6PrefixSpecificationProperty{ Ipv6Prefix: jsii.String("ipv6Prefix"), }, }, NetworkCardIndex: jsii.Number(123), NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddress: jsii.String("privateIpAddress"), PrivateIpAddresses: []interface{}{ &PrivateIpAddProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }
type CfnLaunchTemplate_PlacementProperty ¶
type CfnLaunchTemplate_PlacementProperty struct { // The affinity setting for an instance on a Dedicated Host. Affinity *string `field:"optional" json:"affinity" yaml:"affinity"` // The Availability Zone for the instance. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The Group Id of a placement group. // // You must specify the Placement Group *Group Id* to launch an instance in a shared placement group. GroupId *string `field:"optional" json:"groupId" yaml:"groupId"` // The name of the placement group for the instance. GroupName *string `field:"optional" json:"groupName" yaml:"groupName"` // The ID of the Dedicated Host for the instance. HostId *string `field:"optional" json:"hostId" yaml:"hostId"` // The ARN of the host resource group in which to launch the instances. // // If you specify a host resource group ARN, omit the *Tenancy* parameter or set it to `host` . HostResourceGroupArn *string `field:"optional" json:"hostResourceGroupArn" yaml:"hostResourceGroupArn"` // The number of the partition the instance should launch in. // // Valid only if the placement group strategy is set to `partition` . PartitionNumber *float64 `field:"optional" json:"partitionNumber" yaml:"partitionNumber"` // Reserved for future use. SpreadDomain *string `field:"optional" json:"spreadDomain" yaml:"spreadDomain"` // The tenancy of the instance. // // An instance with a tenancy of dedicated runs on single-tenant hardware. Tenancy *string `field:"optional" json:"tenancy" yaml:"tenancy"` }
Specifies the placement of an instance.
`Placement` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" placementProperty := &PlacementProperty{ Affinity: jsii.String("affinity"), AvailabilityZone: jsii.String("availabilityZone"), GroupId: jsii.String("groupId"), GroupName: jsii.String("groupName"), HostId: jsii.String("hostId"), HostResourceGroupArn: jsii.String("hostResourceGroupArn"), PartitionNumber: jsii.Number(123), SpreadDomain: jsii.String("spreadDomain"), Tenancy: jsii.String("tenancy"), }
type CfnLaunchTemplate_PrivateDnsNameOptionsProperty ¶ added in v2.11.0
type CfnLaunchTemplate_PrivateDnsNameOptionsProperty struct { // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. EnableResourceNameDnsAaaaRecord interface{} `field:"optional" json:"enableResourceNameDnsAaaaRecord" yaml:"enableResourceNameDnsAaaaRecord"` // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. EnableResourceNameDnsARecord interface{} `field:"optional" json:"enableResourceNameDnsARecord" yaml:"enableResourceNameDnsARecord"` // The type of hostname for EC2 instances. // // For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* . HostnameType *string `field:"optional" json:"hostnameType" yaml:"hostnameType"` }
The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled.
For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateDnsNameOptionsProperty := &PrivateDnsNameOptionsProperty{ EnableResourceNameDnsAaaaRecord: jsii.Boolean(false), EnableResourceNameDnsARecord: jsii.Boolean(false), HostnameType: jsii.String("hostnameType"), }
type CfnLaunchTemplate_PrivateIpAddProperty ¶
type CfnLaunchTemplate_PrivateIpAddProperty struct { // Indicates whether the private IPv4 address is the primary private IPv4 address. // // Only one IPv4 address can be designated as primary. Primary interface{} `field:"optional" json:"primary" yaml:"primary"` // The private IPv4 address. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` }
Specifies a secondary private IPv4 address for a network interface.
`PrivateIpAdd` is a property of [AWS::EC2::LaunchTemplate NetworkInterface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateIpAddProperty := &PrivateIpAddProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }
type CfnLaunchTemplate_SpotOptionsProperty ¶
type CfnLaunchTemplate_SpotOptionsProperty struct { // Deprecated. BlockDurationMinutes *float64 `field:"optional" json:"blockDurationMinutes" yaml:"blockDurationMinutes"` // The behavior when a Spot Instance is interrupted. // // The default is `terminate` . InstanceInterruptionBehavior *string `field:"optional" json:"instanceInterruptionBehavior" yaml:"instanceInterruptionBehavior"` // The maximum hourly price you're willing to pay for the Spot Instances. // // We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. // // > If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter. MaxPrice *string `field:"optional" json:"maxPrice" yaml:"maxPrice"` // The Spot Instance request type. // // If you are using Spot Instances with an Auto Scaling group, use `one-time` requests, as the Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is below its desired capacity. SpotInstanceType *string `field:"optional" json:"spotInstanceType" yaml:"spotInstanceType"` // The end date of the request, in UTC format ( *YYYY-MM-DD* T *HH:MM:SS* Z). Supported only for persistent requests. // // - For a persistent request, the request remains active until the `ValidUntil` date and time is reached. Otherwise, the request remains active until you cancel it. // - For a one-time request, `ValidUntil` is not supported. The request remains active until all instances launch or you cancel the request. // // Default: 7 days from the current date. ValidUntil *string `field:"optional" json:"validUntil" yaml:"validUntil"` }
Specifies options for Spot Instances.
`SpotOptions` is a property of [AWS::EC2::LaunchTemplate InstanceMarketOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotOptionsProperty := &SpotOptionsProperty{ BlockDurationMinutes: jsii.Number(123), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), MaxPrice: jsii.String("maxPrice"), SpotInstanceType: jsii.String("spotInstanceType"), ValidUntil: jsii.String("validUntil"), }
type CfnLaunchTemplate_TagSpecificationProperty ¶
type CfnLaunchTemplate_TagSpecificationProperty struct { // The type of resource to tag. // // The `Valid Values` are all the resource types that can be tagged. However, when creating a launch template, you can specify tags for the following resource types only: `instance` | `volume` | `elastic-gpu` | `network-interface` | `spot-instances-request` // // To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) . ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // The tags to apply to the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Specifies the tags to apply to a resource when the resource is created for the launch template.
`TagSpecification` is a property type of [`TagSpecifications`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) . [`TagSpecifications`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tagSpecificationProperty := &TagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnLaunchTemplate_TotalLocalStorageGBProperty ¶
type CfnLaunchTemplate_TotalLocalStorageGBProperty struct { // The maximum amount of total local storage, in GB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of total local storage, in GB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of total local storage, in GB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" totalLocalStorageGBProperty := &TotalLocalStorageGBProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLaunchTemplate_VCpuCountProperty ¶
type CfnLaunchTemplate_VCpuCountProperty struct { // The maximum number of vCPUs. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of vCPUs. // // To specify no minimum limit, specify `0` . Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of vCPUs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vCpuCountProperty := &VCpuCountProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnLocalGatewayRoute ¶
type CfnLocalGatewayRoute interface { awscdk.CfnResource awscdk.IInspectable // The state of the local gateway route table. AttrState() *string // The type of local gateway route. AttrType() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The CIDR block used for destination matches. DestinationCidrBlock() *string SetDestinationCidrBlock(val *string) // The ID of the local gateway route table. LocalGatewayRouteTableId() *string SetLocalGatewayRouteTableId(val *string) // The ID of the virtual interface group. LocalGatewayVirtualInterfaceGroupId() *string SetLocalGatewayVirtualInterfaceGroupId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the network interface. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::LocalGatewayRoute`.
Creates a static route for the specified local gateway route table. You must specify one of the following targets:
- `LocalGatewayVirtualInterfaceGroupId` - `NetworkInterfaceId`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRoute := awscdk.Aws_ec2.NewCfnLocalGatewayRoute(this, jsii.String("MyCfnLocalGatewayRoute"), &CfnLocalGatewayRouteProps{ DestinationCidrBlock: jsii.String("destinationCidrBlock"), LocalGatewayRouteTableId: jsii.String("localGatewayRouteTableId"), // the properties below are optional LocalGatewayVirtualInterfaceGroupId: jsii.String("localGatewayVirtualInterfaceGroupId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), })
func NewCfnLocalGatewayRoute ¶
func NewCfnLocalGatewayRoute(scope constructs.Construct, id *string, props *CfnLocalGatewayRouteProps) CfnLocalGatewayRoute
Create a new `AWS::EC2::LocalGatewayRoute`.
type CfnLocalGatewayRouteProps ¶
type CfnLocalGatewayRouteProps struct { // The CIDR block used for destination matches. DestinationCidrBlock *string `field:"required" json:"destinationCidrBlock" yaml:"destinationCidrBlock"` // The ID of the local gateway route table. LocalGatewayRouteTableId *string `field:"required" json:"localGatewayRouteTableId" yaml:"localGatewayRouteTableId"` // The ID of the virtual interface group. LocalGatewayVirtualInterfaceGroupId *string `field:"optional" json:"localGatewayVirtualInterfaceGroupId" yaml:"localGatewayVirtualInterfaceGroupId"` // The ID of the network interface. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` }
Properties for defining a `CfnLocalGatewayRoute`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRouteProps := &CfnLocalGatewayRouteProps{ DestinationCidrBlock: jsii.String("destinationCidrBlock"), LocalGatewayRouteTableId: jsii.String("localGatewayRouteTableId"), // the properties below are optional LocalGatewayVirtualInterfaceGroupId: jsii.String("localGatewayVirtualInterfaceGroupId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), }
type CfnLocalGatewayRouteTable ¶ added in v2.70.0
type CfnLocalGatewayRouteTable interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Name (ARN) of the local gateway route table. AttrLocalGatewayRouteTableArn() *string // The ID of the local gateway route table. AttrLocalGatewayRouteTableId() *string // The Amazon Resource Name (ARN) of the Outpost. AttrOutpostArn() *string // The ID of the AWS account that owns the local gateway route table. AttrOwnerId() *string // The state of the local gateway route table. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the local gateway. LocalGatewayId() *string SetLocalGatewayId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The mode of the local gateway route table. Mode() *string SetMode(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags assigned to the local gateway route table. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::LocalGatewayRouteTable`.
Describes a local gateway route table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRouteTable := awscdk.Aws_ec2.NewCfnLocalGatewayRouteTable(this, jsii.String("MyCfnLocalGatewayRouteTable"), &CfnLocalGatewayRouteTableProps{ LocalGatewayId: jsii.String("localGatewayId"), // the properties below are optional Mode: jsii.String("mode"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnLocalGatewayRouteTable ¶ added in v2.70.0
func NewCfnLocalGatewayRouteTable(scope constructs.Construct, id *string, props *CfnLocalGatewayRouteTableProps) CfnLocalGatewayRouteTable
Create a new `AWS::EC2::LocalGatewayRouteTable`.
type CfnLocalGatewayRouteTableProps ¶ added in v2.70.0
type CfnLocalGatewayRouteTableProps struct { // The ID of the local gateway. LocalGatewayId *string `field:"required" json:"localGatewayId" yaml:"localGatewayId"` // The mode of the local gateway route table. Mode *string `field:"optional" json:"mode" yaml:"mode"` // The tags assigned to the local gateway route table. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnLocalGatewayRouteTable`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRouteTableProps := &CfnLocalGatewayRouteTableProps{ LocalGatewayId: jsii.String("localGatewayId"), // the properties below are optional Mode: jsii.String("mode"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnLocalGatewayRouteTableVPCAssociation ¶
type CfnLocalGatewayRouteTableVPCAssociation interface { awscdk.CfnResource awscdk.IInspectable // The ID of the local gateway. AttrLocalGatewayId() *string // The ID of the association. AttrLocalGatewayRouteTableVpcAssociationId() *string // The state of the association. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the local gateway route table. LocalGatewayRouteTableId() *string SetLocalGatewayRouteTableId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags assigned to the association. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::LocalGatewayRouteTableVPCAssociation`.
Associates the specified VPC with the specified local gateway route table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRouteTableVPCAssociation := awscdk.Aws_ec2.NewCfnLocalGatewayRouteTableVPCAssociation(this, jsii.String("MyCfnLocalGatewayRouteTableVPCAssociation"), &CfnLocalGatewayRouteTableVPCAssociationProps{ LocalGatewayRouteTableId: jsii.String("localGatewayRouteTableId"), VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnLocalGatewayRouteTableVPCAssociation ¶
func NewCfnLocalGatewayRouteTableVPCAssociation(scope constructs.Construct, id *string, props *CfnLocalGatewayRouteTableVPCAssociationProps) CfnLocalGatewayRouteTableVPCAssociation
Create a new `AWS::EC2::LocalGatewayRouteTableVPCAssociation`.
type CfnLocalGatewayRouteTableVPCAssociationProps ¶
type CfnLocalGatewayRouteTableVPCAssociationProps struct { // The ID of the local gateway route table. LocalGatewayRouteTableId *string `field:"required" json:"localGatewayRouteTableId" yaml:"localGatewayRouteTableId"` // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // The tags assigned to the association. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnLocalGatewayRouteTableVPCAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRouteTableVPCAssociationProps := &CfnLocalGatewayRouteTableVPCAssociationProps{ LocalGatewayRouteTableId: jsii.String("localGatewayRouteTableId"), VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation ¶ added in v2.70.0
type CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation interface { awscdk.CfnResource awscdk.IInspectable // The ID of the local gateway. AttrLocalGatewayId() *string // The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group. AttrLocalGatewayRouteTableArn() *string // The ID of the association. AttrLocalGatewayRouteTableVirtualInterfaceGroupAssociationId() *string // The ID of the AWS account that owns the local gateway virtual interface group association. AttrOwnerId() *string // The state of the association. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the local gateway route table. LocalGatewayRouteTableId() *string SetLocalGatewayRouteTableId(val *string) // The ID of the virtual interface group. LocalGatewayVirtualInterfaceGroupId() *string SetLocalGatewayVirtualInterfaceGroupId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags assigned to the association. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation`.
Describes an association between a local gateway route table and a virtual interface group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation := awscdk.Aws_ec2.NewCfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation(this, jsii.String("MyCfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation"), &CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps{ LocalGatewayRouteTableId: jsii.String("localGatewayRouteTableId"), LocalGatewayVirtualInterfaceGroupId: jsii.String("localGatewayVirtualInterfaceGroupId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation ¶ added in v2.70.0
func NewCfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation(scope constructs.Construct, id *string, props *CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps) CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation
Create a new `AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation`.
type CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps ¶ added in v2.70.0
type CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps struct { // The ID of the local gateway route table. LocalGatewayRouteTableId *string `field:"required" json:"localGatewayRouteTableId" yaml:"localGatewayRouteTableId"` // The ID of the virtual interface group. LocalGatewayVirtualInterfaceGroupId *string `field:"required" json:"localGatewayVirtualInterfaceGroupId" yaml:"localGatewayVirtualInterfaceGroupId"` // The tags assigned to the association. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps := &CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps{ LocalGatewayRouteTableId: jsii.String("localGatewayRouteTableId"), LocalGatewayVirtualInterfaceGroupId: jsii.String("localGatewayVirtualInterfaceGroupId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNatGateway ¶
type CfnNatGateway interface { awscdk.CfnResource awscdk.IInspectable // [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. // // This property is required for a public NAT gateway and cannot be specified with a private NAT gateway. AllocationId() *string SetAllocationId(val *string) // The ID of the NAT gateway. AttrNatGatewayId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Indicates whether the NAT gateway supports public or private connectivity. // // The default is public connectivity. ConnectivityType() *string SetConnectivityType(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. // // Default value is 350 seconds. MaxDrainDurationSeconds() *float64 SetMaxDrainDurationSeconds(val *float64) // The tree node. Node() constructs.Node // The private IPv4 address to assign to the NAT gateway. // // If you don't provide an address, a private IPv4 address will be automatically assigned. PrivateIpAddress() *string SetPrivateIpAddress(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Secondary EIP allocation IDs. // // For more information, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon VPC User Guide* . SecondaryAllocationIds() *[]*string SetSecondaryAllocationIds(val *[]*string) // [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. // // For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* . // // > `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time. SecondaryPrivateIpAddressCount() *float64 SetSecondaryPrivateIpAddressCount(val *float64) // Secondary private IPv4 addresses. // // For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* . // // > `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time. SecondaryPrivateIpAddresses() *[]*string SetSecondaryPrivateIpAddresses(val *[]*string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet in which the NAT gateway is located. SubnetId() *string SetSubnetId(val *string) // The tags for the NAT gateway. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NatGateway`.
Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.
With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway.
If you add a default route ( `AWS::EC2::Route` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's `NatGatewayId` property.
For more information, see [NAT Gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNatGateway := awscdk.Aws_ec2.NewCfnNatGateway(this, jsii.String("MyCfnNatGateway"), &CfnNatGatewayProps{ SubnetId: jsii.String("subnetId"), // the properties below are optional AllocationId: jsii.String("allocationId"), ConnectivityType: jsii.String("connectivityType"), MaxDrainDurationSeconds: jsii.Number(123), PrivateIpAddress: jsii.String("privateIpAddress"), SecondaryAllocationIds: []*string{ jsii.String("secondaryAllocationIds"), }, SecondaryPrivateIpAddressCount: jsii.Number(123), SecondaryPrivateIpAddresses: []*string{ jsii.String("secondaryPrivateIpAddresses"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnNatGateway ¶
func NewCfnNatGateway(scope constructs.Construct, id *string, props *CfnNatGatewayProps) CfnNatGateway
Create a new `AWS::EC2::NatGateway`.
type CfnNatGatewayProps ¶
type CfnNatGatewayProps struct { // The ID of the subnet in which the NAT gateway is located. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` // [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. // // This property is required for a public NAT gateway and cannot be specified with a private NAT gateway. AllocationId *string `field:"optional" json:"allocationId" yaml:"allocationId"` // Indicates whether the NAT gateway supports public or private connectivity. // // The default is public connectivity. ConnectivityType *string `field:"optional" json:"connectivityType" yaml:"connectivityType"` // The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. // // Default value is 350 seconds. MaxDrainDurationSeconds *float64 `field:"optional" json:"maxDrainDurationSeconds" yaml:"maxDrainDurationSeconds"` // The private IPv4 address to assign to the NAT gateway. // // If you don't provide an address, a private IPv4 address will be automatically assigned. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` // Secondary EIP allocation IDs. // // For more information, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon VPC User Guide* . SecondaryAllocationIds *[]*string `field:"optional" json:"secondaryAllocationIds" yaml:"secondaryAllocationIds"` // [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. // // For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* . // // > `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time. SecondaryPrivateIpAddressCount *float64 `field:"optional" json:"secondaryPrivateIpAddressCount" yaml:"secondaryPrivateIpAddressCount"` // Secondary private IPv4 addresses. // // For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide* . // // > `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be set at the same time. SecondaryPrivateIpAddresses *[]*string `field:"optional" json:"secondaryPrivateIpAddresses" yaml:"secondaryPrivateIpAddresses"` // The tags for the NAT gateway. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnNatGateway`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNatGatewayProps := &CfnNatGatewayProps{ SubnetId: jsii.String("subnetId"), // the properties below are optional AllocationId: jsii.String("allocationId"), ConnectivityType: jsii.String("connectivityType"), MaxDrainDurationSeconds: jsii.Number(123), PrivateIpAddress: jsii.String("privateIpAddress"), SecondaryAllocationIds: []*string{ jsii.String("secondaryAllocationIds"), }, SecondaryPrivateIpAddressCount: jsii.Number(123), SecondaryPrivateIpAddresses: []*string{ jsii.String("secondaryPrivateIpAddresses"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNetworkAcl ¶
type CfnNetworkAcl interface { awscdk.CfnResource awscdk.IInspectable // The ID of the network ACL. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags for the network ACL. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC for the network ACL. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkAcl`.
Specifies a network ACL for your VPC.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkAcl := awscdk.Aws_ec2.NewCfnNetworkAcl(this, jsii.String("MyCfnNetworkAcl"), &CfnNetworkAclProps{ VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnNetworkAcl ¶
func NewCfnNetworkAcl(scope constructs.Construct, id *string, props *CfnNetworkAclProps) CfnNetworkAcl
Create a new `AWS::EC2::NetworkAcl`.
type CfnNetworkAclEntry ¶
type CfnNetworkAclEntry interface { awscdk.CfnResource awscdk.IInspectable // The ID of the network ACL entry. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The IPv4 CIDR range to allow or deny, in CIDR notation (for example, 172.16.0.0/24). Requirement is conditional: You must specify the `CidrBlock` or `Ipv6CidrBlock` property. CidrBlock() *string SetCidrBlock(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Whether this rule applies to egress traffic from the subnet ( `true` ) or ingress traffic to the subnet ( `false` ). // // By default, AWS CloudFormation specifies `false` . Egress() interface{} SetEgress(val interface{}) // The Internet Control Message Protocol (ICMP) code and type. // // Requirement is conditional: Required if specifying 1 (ICMP) for the protocol parameter. Icmp() interface{} SetIcmp(val interface{}) // The IPv6 network range to allow or deny, in CIDR notation. // // Requirement is conditional: You must specify the `CidrBlock` or `Ipv6CidrBlock` property. Ipv6CidrBlock() *string SetIpv6CidrBlock(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the ACL for the entry. NetworkAclId() *string SetNetworkAclId(val *string) // The tree node. Node() constructs.Node // The range of port numbers for the UDP/TCP protocol. // // Conditional required if specifying 6 (TCP) or 17 (UDP) for the protocol parameter. PortRange() interface{} SetPortRange(val interface{}) // The IP protocol that the rule applies to. // // You must specify -1 or a protocol number. You can specify -1 for all protocols. // // > If you specify -1, all ports are opened and the `PortRange` property is ignored. Protocol() *float64 SetProtocol(val *float64) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Whether to allow or deny traffic that matches the rule; // // valid values are "allow" or "deny". RuleAction() *string SetRuleAction(val *string) // Rule number to assign to the entry, such as 100. // // ACL entries are processed in ascending order by rule number. Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule. RuleNumber() *float64 SetRuleNumber(val *float64) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkAclEntry`.
Specifies an entry, known as a rule, in a network ACL with a rule number you specify. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules.
For information about the protocol value, see [Protocol Numbers](https://docs.aws.amazon.com/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkAclEntry := awscdk.Aws_ec2.NewCfnNetworkAclEntry(this, jsii.String("MyCfnNetworkAclEntry"), &CfnNetworkAclEntryProps{ NetworkAclId: jsii.String("networkAclId"), Protocol: jsii.Number(123), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), // the properties below are optional CidrBlock: jsii.String("cidrBlock"), Egress: jsii.Boolean(false), Icmp: &IcmpProperty{ Code: jsii.Number(123), Type: jsii.Number(123), }, Ipv6CidrBlock: jsii.String("ipv6CidrBlock"), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, })
func NewCfnNetworkAclEntry ¶
func NewCfnNetworkAclEntry(scope constructs.Construct, id *string, props *CfnNetworkAclEntryProps) CfnNetworkAclEntry
Create a new `AWS::EC2::NetworkAclEntry`.
type CfnNetworkAclEntryProps ¶
type CfnNetworkAclEntryProps struct { // The ID of the ACL for the entry. NetworkAclId *string `field:"required" json:"networkAclId" yaml:"networkAclId"` // The IP protocol that the rule applies to. // // You must specify -1 or a protocol number. You can specify -1 for all protocols. // // > If you specify -1, all ports are opened and the `PortRange` property is ignored. Protocol *float64 `field:"required" json:"protocol" yaml:"protocol"` // Whether to allow or deny traffic that matches the rule; // // valid values are "allow" or "deny". RuleAction *string `field:"required" json:"ruleAction" yaml:"ruleAction"` // Rule number to assign to the entry, such as 100. // // ACL entries are processed in ascending order by rule number. Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule. RuleNumber *float64 `field:"required" json:"ruleNumber" yaml:"ruleNumber"` // The IPv4 CIDR range to allow or deny, in CIDR notation (for example, 172.16.0.0/24). Requirement is conditional: You must specify the `CidrBlock` or `Ipv6CidrBlock` property. CidrBlock *string `field:"optional" json:"cidrBlock" yaml:"cidrBlock"` // Whether this rule applies to egress traffic from the subnet ( `true` ) or ingress traffic to the subnet ( `false` ). // // By default, AWS CloudFormation specifies `false` . Egress interface{} `field:"optional" json:"egress" yaml:"egress"` // The Internet Control Message Protocol (ICMP) code and type. // // Requirement is conditional: Required if specifying 1 (ICMP) for the protocol parameter. Icmp interface{} `field:"optional" json:"icmp" yaml:"icmp"` // The IPv6 network range to allow or deny, in CIDR notation. // // Requirement is conditional: You must specify the `CidrBlock` or `Ipv6CidrBlock` property. Ipv6CidrBlock *string `field:"optional" json:"ipv6CidrBlock" yaml:"ipv6CidrBlock"` // The range of port numbers for the UDP/TCP protocol. // // Conditional required if specifying 6 (TCP) or 17 (UDP) for the protocol parameter. PortRange interface{} `field:"optional" json:"portRange" yaml:"portRange"` }
Properties for defining a `CfnNetworkAclEntry`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkAclEntryProps := &CfnNetworkAclEntryProps{ NetworkAclId: jsii.String("networkAclId"), Protocol: jsii.Number(123), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), // the properties below are optional CidrBlock: jsii.String("cidrBlock"), Egress: jsii.Boolean(false), Icmp: &IcmpProperty{ Code: jsii.Number(123), Type: jsii.Number(123), }, Ipv6CidrBlock: jsii.String("ipv6CidrBlock"), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }
type CfnNetworkAclEntry_IcmpProperty ¶
type CfnNetworkAclEntry_IcmpProperty struct { // The Internet Control Message Protocol (ICMP) code. // // You can use -1 to specify all ICMP codes for the given ICMP type. Requirement is conditional: Required if you specify 1 (ICMP) for the protocol parameter. Code *float64 `field:"optional" json:"code" yaml:"code"` // The Internet Control Message Protocol (ICMP) type. // // You can use -1 to specify all ICMP types. Conditional requirement: Required if you specify 1 (ICMP) for the `CreateNetworkAclEntry` protocol parameter. Type *float64 `field:"optional" json:"type" yaml:"type"` }
Describes the ICMP type and code.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" icmpProperty := &IcmpProperty{ Code: jsii.Number(123), Type: jsii.Number(123), }
type CfnNetworkAclEntry_PortRangeProperty ¶
type CfnNetworkAclEntry_PortRangeProperty struct { // The first port in the range. // // Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter. From *float64 `field:"optional" json:"from" yaml:"from"` // The last port in the range. // // Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter. To *float64 `field:"optional" json:"to" yaml:"to"` }
Describes a range of ports.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" portRangeProperty := &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }
type CfnNetworkAclProps ¶
type CfnNetworkAclProps struct { // The ID of the VPC for the network ACL. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // The tags for the network ACL. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnNetworkAcl`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkAclProps := &CfnNetworkAclProps{ VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNetworkInsightsAccessScope ¶ added in v2.9.0
type CfnNetworkInsightsAccessScope interface { awscdk.CfnResource awscdk.IInspectable // The creation date. AttrCreatedDate() *string // The ARN of the Network Access Scope. AttrNetworkInsightsAccessScopeArn() *string // The ID of the Network Access Scope. AttrNetworkInsightsAccessScopeId() *string // The last updated date. AttrUpdatedDate() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The paths to exclude. ExcludePaths() interface{} SetExcludePaths(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The paths to match. MatchPaths() interface{} SetMatchPaths(val interface{}) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkInsightsAccessScope`.
Describes a Network Access Scope. A Network Access Scope defines outbound (egress) and inbound (ingress) traffic patterns, including sources, destinations, paths, and traffic types.
Network Access Analyzer identifies unintended network access to your resources on AWS . When you start an analysis on a Network Access Scope, Network Access Analyzer produces findings. For more information, see the [Network Access Analyzer User Guide](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsAccessScope := awscdk.Aws_ec2.NewCfnNetworkInsightsAccessScope(this, jsii.String("MyCfnNetworkInsightsAccessScope"), &CfnNetworkInsightsAccessScopeProps{ ExcludePaths: []interface{}{ &AccessScopePathRequestProperty{ Destination: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, Source: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, ThroughResources: []interface{}{ &ThroughResourcesStatementRequestProperty{ ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, }, }, }, MatchPaths: []interface{}{ &AccessScopePathRequestProperty{ Destination: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, Source: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, ThroughResources: []interface{}{ &ThroughResourcesStatementRequestProperty{ ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, }, }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnNetworkInsightsAccessScope ¶ added in v2.9.0
func NewCfnNetworkInsightsAccessScope(scope constructs.Construct, id *string, props *CfnNetworkInsightsAccessScopeProps) CfnNetworkInsightsAccessScope
Create a new `AWS::EC2::NetworkInsightsAccessScope`.
type CfnNetworkInsightsAccessScopeAnalysis ¶ added in v2.9.0
type CfnNetworkInsightsAccessScopeAnalysis interface { awscdk.CfnResource awscdk.IInspectable // The number of network interfaces analyzed. AttrAnalyzedEniCount() *float64 // The end date of the analysis. AttrEndDate() *string // Indicates whether there are findings (true | false | unknown). AttrFindingsFound() *string // The ARN of the Network Access Scope analysis. AttrNetworkInsightsAccessScopeAnalysisArn() *string // The ID of the Network Access Scope analysis. AttrNetworkInsightsAccessScopeAnalysisId() *string // The start date of the analysis. AttrStartDate() *string // The status of the analysis (running | succeeded | failed). AttrStatus() *string // The status message. AttrStatusMessage() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the Network Access Scope. NetworkInsightsAccessScopeId() *string SetNetworkInsightsAccessScopeId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkInsightsAccessScopeAnalysis`.
Describes a Network Access Scope analysis.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsAccessScopeAnalysis := awscdk.Aws_ec2.NewCfnNetworkInsightsAccessScopeAnalysis(this, jsii.String("MyCfnNetworkInsightsAccessScopeAnalysis"), &CfnNetworkInsightsAccessScopeAnalysisProps{ NetworkInsightsAccessScopeId: jsii.String("networkInsightsAccessScopeId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnNetworkInsightsAccessScopeAnalysis ¶ added in v2.9.0
func NewCfnNetworkInsightsAccessScopeAnalysis(scope constructs.Construct, id *string, props *CfnNetworkInsightsAccessScopeAnalysisProps) CfnNetworkInsightsAccessScopeAnalysis
Create a new `AWS::EC2::NetworkInsightsAccessScopeAnalysis`.
type CfnNetworkInsightsAccessScopeAnalysisProps ¶ added in v2.9.0
type CfnNetworkInsightsAccessScopeAnalysisProps struct { // The ID of the Network Access Scope. NetworkInsightsAccessScopeId *string `field:"required" json:"networkInsightsAccessScopeId" yaml:"networkInsightsAccessScopeId"` // The tags. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnNetworkInsightsAccessScopeAnalysis`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsAccessScopeAnalysisProps := &CfnNetworkInsightsAccessScopeAnalysisProps{ NetworkInsightsAccessScopeId: jsii.String("networkInsightsAccessScopeId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNetworkInsightsAccessScopeProps ¶ added in v2.9.0
type CfnNetworkInsightsAccessScopeProps struct { // The paths to exclude. ExcludePaths interface{} `field:"optional" json:"excludePaths" yaml:"excludePaths"` // The paths to match. MatchPaths interface{} `field:"optional" json:"matchPaths" yaml:"matchPaths"` // The tags. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnNetworkInsightsAccessScope`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsAccessScopeProps := &CfnNetworkInsightsAccessScopeProps{ ExcludePaths: []interface{}{ &AccessScopePathRequestProperty{ Destination: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, Source: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, ThroughResources: []interface{}{ &ThroughResourcesStatementRequestProperty{ ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, }, }, }, MatchPaths: []interface{}{ &AccessScopePathRequestProperty{ Destination: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, Source: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, ThroughResources: []interface{}{ &ThroughResourcesStatementRequestProperty{ ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, }, }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNetworkInsightsAccessScope_AccessScopePathRequestProperty ¶ added in v2.9.0
type CfnNetworkInsightsAccessScope_AccessScopePathRequestProperty struct { // The destination. Destination interface{} `field:"optional" json:"destination" yaml:"destination"` // The source. Source interface{} `field:"optional" json:"source" yaml:"source"` // The through resources. ThroughResources interface{} `field:"optional" json:"throughResources" yaml:"throughResources"` }
Describes a path.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" accessScopePathRequestProperty := &AccessScopePathRequestProperty{ Destination: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, Source: &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, ThroughResources: []interface{}{ &ThroughResourcesStatementRequestProperty{ ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }, }, }
type CfnNetworkInsightsAccessScope_PacketHeaderStatementRequestProperty ¶ added in v2.9.0
type CfnNetworkInsightsAccessScope_PacketHeaderStatementRequestProperty struct { // The destination addresses. DestinationAddresses *[]*string `field:"optional" json:"destinationAddresses" yaml:"destinationAddresses"` // The destination ports. DestinationPorts *[]*string `field:"optional" json:"destinationPorts" yaml:"destinationPorts"` // The destination prefix lists. DestinationPrefixLists *[]*string `field:"optional" json:"destinationPrefixLists" yaml:"destinationPrefixLists"` // The protocols. Protocols *[]*string `field:"optional" json:"protocols" yaml:"protocols"` // The source addresses. SourceAddresses *[]*string `field:"optional" json:"sourceAddresses" yaml:"sourceAddresses"` // The source ports. SourcePorts *[]*string `field:"optional" json:"sourcePorts" yaml:"sourcePorts"` // The source prefix lists. SourcePrefixLists *[]*string `field:"optional" json:"sourcePrefixLists" yaml:"sourcePrefixLists"` }
Describes a packet header statement.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" packetHeaderStatementRequestProperty := &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }
type CfnNetworkInsightsAccessScope_PathStatementRequestProperty ¶ added in v2.9.0
type CfnNetworkInsightsAccessScope_PathStatementRequestProperty struct { // The packet header statement. PacketHeaderStatement interface{} `field:"optional" json:"packetHeaderStatement" yaml:"packetHeaderStatement"` // The resource statement. ResourceStatement interface{} `field:"optional" json:"resourceStatement" yaml:"resourceStatement"` }
Describes a path statement.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" pathStatementRequestProperty := &PathStatementRequestProperty{ PacketHeaderStatement: &PacketHeaderStatementRequestProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPorts: []*string{ jsii.String("destinationPorts"), }, DestinationPrefixLists: []*string{ jsii.String("destinationPrefixLists"), }, Protocols: []*string{ jsii.String("protocols"), }, SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePorts: []*string{ jsii.String("sourcePorts"), }, SourcePrefixLists: []*string{ jsii.String("sourcePrefixLists"), }, }, ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }
type CfnNetworkInsightsAccessScope_ResourceStatementRequestProperty ¶ added in v2.9.0
type CfnNetworkInsightsAccessScope_ResourceStatementRequestProperty struct { // The resources. Resources *[]*string `field:"optional" json:"resources" yaml:"resources"` // The resource types. ResourceTypes *[]*string `field:"optional" json:"resourceTypes" yaml:"resourceTypes"` }
Describes a resource statement.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" resourceStatementRequestProperty := &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }
type CfnNetworkInsightsAccessScope_ThroughResourcesStatementRequestProperty ¶ added in v2.9.0
type CfnNetworkInsightsAccessScope_ThroughResourcesStatementRequestProperty struct {
// The resource statement.
ResourceStatement interface{} `field:"optional" json:"resourceStatement" yaml:"resourceStatement"`
}
Describes a through resource statement.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" throughResourcesStatementRequestProperty := &ThroughResourcesStatementRequestProperty{ ResourceStatement: &ResourceStatementRequestProperty{ Resources: []*string{ jsii.String("resources"), }, ResourceTypes: []*string{ jsii.String("resourceTypes"), }, }, }
type CfnNetworkInsightsAnalysis ¶
type CfnNetworkInsightsAnalysis interface { awscdk.CfnResource awscdk.IInspectable // The member accounts that contain resources that the path can traverse. AdditionalAccounts() *[]*string SetAdditionalAccounts(val *[]*string) // Potential intermediate components. AttrAlternatePathHints() awscdk.IResolvable // The explanations. // // For more information, see [Reachability Analyzer explanation codes](https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html) . AttrExplanations() awscdk.IResolvable // The components in the path from source to destination. AttrForwardPathComponents() awscdk.IResolvable // The Amazon Resource Name (ARN) of the network insights analysis. AttrNetworkInsightsAnalysisArn() *string // The ID of the network insights analysis. AttrNetworkInsightsAnalysisId() *string // Indicates whether the destination is reachable from the source. AttrNetworkPathFound() awscdk.IResolvable // The components in the path from destination to source. AttrReturnPathComponents() awscdk.IResolvable // The time the analysis started. AttrStartDate() *string // The status of the network insights analysis. AttrStatus() *string // The status message, if the status is `failed` . AttrStatusMessage() *string // The IDs of potential intermediate accounts. AttrSuggestedAccounts() *[]*string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The Amazon Resource Names (ARN) of the resources that the path must traverse. FilterInArns() *[]*string SetFilterInArns(val *[]*string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the path. NetworkInsightsPathId() *string SetNetworkInsightsPathId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to apply. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkInsightsAnalysis`.
Specifies a network insights analysis.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsAnalysis := awscdk.Aws_ec2.NewCfnNetworkInsightsAnalysis(this, jsii.String("MyCfnNetworkInsightsAnalysis"), &CfnNetworkInsightsAnalysisProps{ NetworkInsightsPathId: jsii.String("networkInsightsPathId"), // the properties below are optional AdditionalAccounts: []*string{ jsii.String("additionalAccounts"), }, FilterInArns: []*string{ jsii.String("filterInArns"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnNetworkInsightsAnalysis ¶
func NewCfnNetworkInsightsAnalysis(scope constructs.Construct, id *string, props *CfnNetworkInsightsAnalysisProps) CfnNetworkInsightsAnalysis
Create a new `AWS::EC2::NetworkInsightsAnalysis`.
type CfnNetworkInsightsAnalysisProps ¶
type CfnNetworkInsightsAnalysisProps struct { // The ID of the path. NetworkInsightsPathId *string `field:"required" json:"networkInsightsPathId" yaml:"networkInsightsPathId"` // The member accounts that contain resources that the path can traverse. AdditionalAccounts *[]*string `field:"optional" json:"additionalAccounts" yaml:"additionalAccounts"` // The Amazon Resource Names (ARN) of the resources that the path must traverse. FilterInArns *[]*string `field:"optional" json:"filterInArns" yaml:"filterInArns"` // The tags to apply. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnNetworkInsightsAnalysis`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsAnalysisProps := &CfnNetworkInsightsAnalysisProps{ NetworkInsightsPathId: jsii.String("networkInsightsPathId"), // the properties below are optional AdditionalAccounts: []*string{ jsii.String("additionalAccounts"), }, FilterInArns: []*string{ jsii.String("filterInArns"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNetworkInsightsAnalysis_AdditionalDetailProperty ¶ added in v2.39.0
type CfnNetworkInsightsAnalysis_AdditionalDetailProperty struct { // The additional detail code. AdditionalDetailType *string `field:"optional" json:"additionalDetailType" yaml:"additionalDetailType"` // The path component. Component interface{} `field:"optional" json:"component" yaml:"component"` // The load balancers. LoadBalancers interface{} `field:"optional" json:"loadBalancers" yaml:"loadBalancers"` // The name of the VPC endpoint service. ServiceName *string `field:"optional" json:"serviceName" yaml:"serviceName"` }
Describes an additional detail for a path analysis.
For more information, see [Reachability Analyzer additional detail codes](https://docs.aws.amazon.com/vpc/latest/reachability/additional-detail-codes.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" additionalDetailProperty := &AdditionalDetailProperty{ AdditionalDetailType: jsii.String("additionalDetailType"), Component: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, LoadBalancers: []interface{}{ &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }, ServiceName: jsii.String("serviceName"), }
type CfnNetworkInsightsAnalysis_AlternatePathHintProperty ¶
type CfnNetworkInsightsAnalysis_AlternatePathHintProperty struct { // The Amazon Resource Name (ARN) of the component. ComponentArn *string `field:"optional" json:"componentArn" yaml:"componentArn"` // The ID of the component. ComponentId *string `field:"optional" json:"componentId" yaml:"componentId"` }
Describes an potential intermediate component of a feasible path.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" alternatePathHintProperty := &AlternatePathHintProperty{ ComponentArn: jsii.String("componentArn"), ComponentId: jsii.String("componentId"), }
type CfnNetworkInsightsAnalysis_AnalysisAclRuleProperty ¶
type CfnNetworkInsightsAnalysis_AnalysisAclRuleProperty struct { // The IPv4 address range, in CIDR notation. Cidr *string `field:"optional" json:"cidr" yaml:"cidr"` // Indicates whether the rule is an outbound rule. Egress interface{} `field:"optional" json:"egress" yaml:"egress"` // The range of ports. PortRange interface{} `field:"optional" json:"portRange" yaml:"portRange"` // The protocol. Protocol *string `field:"optional" json:"protocol" yaml:"protocol"` // Indicates whether to allow or deny traffic that matches the rule. RuleAction *string `field:"optional" json:"ruleAction" yaml:"ruleAction"` // The rule number. RuleNumber *float64 `field:"optional" json:"ruleNumber" yaml:"ruleNumber"` }
Describes a network access control (ACL) rule.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" analysisAclRuleProperty := &AnalysisAclRuleProperty{ Cidr: jsii.String("cidr"), Egress: jsii.Boolean(false), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, Protocol: jsii.String("protocol"), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), }
type CfnNetworkInsightsAnalysis_AnalysisComponentProperty ¶
type CfnNetworkInsightsAnalysis_AnalysisComponentProperty struct { // The Amazon Resource Name (ARN) of the component. Arn *string `field:"optional" json:"arn" yaml:"arn"` // The ID of the component. Id *string `field:"optional" json:"id" yaml:"id"` }
Describes a path component.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" analysisComponentProperty := &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }
type CfnNetworkInsightsAnalysis_AnalysisLoadBalancerListenerProperty ¶
type CfnNetworkInsightsAnalysis_AnalysisLoadBalancerListenerProperty struct { // [Classic Load Balancers] The back-end port for the listener. InstancePort *float64 `field:"optional" json:"instancePort" yaml:"instancePort"` // The port on which the load balancer is listening. LoadBalancerPort *float64 `field:"optional" json:"loadBalancerPort" yaml:"loadBalancerPort"` }
Describes a load balancer listener.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" analysisLoadBalancerListenerProperty := &AnalysisLoadBalancerListenerProperty{ InstancePort: jsii.Number(123), LoadBalancerPort: jsii.Number(123), }
type CfnNetworkInsightsAnalysis_AnalysisLoadBalancerTargetProperty ¶
type CfnNetworkInsightsAnalysis_AnalysisLoadBalancerTargetProperty struct { // The IP address. Address *string `field:"optional" json:"address" yaml:"address"` // The Availability Zone. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // Information about the instance. Instance interface{} `field:"optional" json:"instance" yaml:"instance"` // The port on which the target is listening. Port *float64 `field:"optional" json:"port" yaml:"port"` }
Describes a load balancer target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" analysisLoadBalancerTargetProperty := &AnalysisLoadBalancerTargetProperty{ Address: jsii.String("address"), AvailabilityZone: jsii.String("availabilityZone"), Instance: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Port: jsii.Number(123), }
type CfnNetworkInsightsAnalysis_AnalysisPacketHeaderProperty ¶
type CfnNetworkInsightsAnalysis_AnalysisPacketHeaderProperty struct { // The destination addresses. DestinationAddresses *[]*string `field:"optional" json:"destinationAddresses" yaml:"destinationAddresses"` // The destination port ranges. DestinationPortRanges interface{} `field:"optional" json:"destinationPortRanges" yaml:"destinationPortRanges"` // The protocol. Protocol *string `field:"optional" json:"protocol" yaml:"protocol"` // The source addresses. SourceAddresses *[]*string `field:"optional" json:"sourceAddresses" yaml:"sourceAddresses"` // The source port ranges. SourcePortRanges interface{} `field:"optional" json:"sourcePortRanges" yaml:"sourcePortRanges"` }
Describes a header.
Reflects any changes made by a component as traffic passes through. The fields of an inbound header are null except for the first component of a path.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" analysisPacketHeaderProperty := &AnalysisPacketHeaderProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, Protocol: jsii.String("protocol"), SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, }
type CfnNetworkInsightsAnalysis_AnalysisRouteTableRouteProperty ¶
type CfnNetworkInsightsAnalysis_AnalysisRouteTableRouteProperty struct { // The destination IPv4 address, in CIDR notation. DestinationCidr *string `field:"optional" json:"destinationCidr" yaml:"destinationCidr"` // The prefix of the AWS service . DestinationPrefixListId *string `field:"optional" json:"destinationPrefixListId" yaml:"destinationPrefixListId"` // The ID of an egress-only internet gateway. EgressOnlyInternetGatewayId *string `field:"optional" json:"egressOnlyInternetGatewayId" yaml:"egressOnlyInternetGatewayId"` // The ID of the gateway, such as an internet gateway or virtual private gateway. GatewayId *string `field:"optional" json:"gatewayId" yaml:"gatewayId"` // The ID of the instance, such as a NAT instance. InstanceId *string `field:"optional" json:"instanceId" yaml:"instanceId"` // The ID of a NAT gateway. NatGatewayId *string `field:"optional" json:"natGatewayId" yaml:"natGatewayId"` // The ID of a network interface. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // Describes how the route was created. The following are the possible values:. // // - CreateRouteTable - The route was automatically created when the route table was created. // - CreateRoute - The route was manually added to the route table. // - EnableVgwRoutePropagation - The route was propagated by route propagation. Origin *string `field:"optional" json:"origin" yaml:"origin"` // The state. The following are the possible values:. // // - active // - blackhole. State *string `field:"optional" json:"state" yaml:"state"` // The ID of a transit gateway. TransitGatewayId *string `field:"optional" json:"transitGatewayId" yaml:"transitGatewayId"` // The ID of a VPC peering connection. VpcPeeringConnectionId *string `field:"optional" json:"vpcPeeringConnectionId" yaml:"vpcPeeringConnectionId"` }
Describes a route table route.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" analysisRouteTableRouteProperty := &AnalysisRouteTableRouteProperty{ DestinationCidr: jsii.String("destinationCidr"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), EgressOnlyInternetGatewayId: jsii.String("egressOnlyInternetGatewayId"), GatewayId: jsii.String("gatewayId"), InstanceId: jsii.String("instanceId"), NatGatewayId: jsii.String("natGatewayId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), Origin: jsii.String("origin"), State: jsii.String("state"), TransitGatewayId: jsii.String("transitGatewayId"), VpcPeeringConnectionId: jsii.String("vpcPeeringConnectionId"), }
type CfnNetworkInsightsAnalysis_AnalysisSecurityGroupRuleProperty ¶
type CfnNetworkInsightsAnalysis_AnalysisSecurityGroupRuleProperty struct { // The IPv4 address range, in CIDR notation. Cidr *string `field:"optional" json:"cidr" yaml:"cidr"` // The direction. The following are the possible values:. // // - egress // - ingress. Direction *string `field:"optional" json:"direction" yaml:"direction"` // The port range. PortRange interface{} `field:"optional" json:"portRange" yaml:"portRange"` // The prefix list ID. PrefixListId *string `field:"optional" json:"prefixListId" yaml:"prefixListId"` // The protocol name. Protocol *string `field:"optional" json:"protocol" yaml:"protocol"` // The security group ID. SecurityGroupId *string `field:"optional" json:"securityGroupId" yaml:"securityGroupId"` }
Describes a security group rule.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" analysisSecurityGroupRuleProperty := &AnalysisSecurityGroupRuleProperty{ Cidr: jsii.String("cidr"), Direction: jsii.String("direction"), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, PrefixListId: jsii.String("prefixListId"), Protocol: jsii.String("protocol"), SecurityGroupId: jsii.String("securityGroupId"), }
type CfnNetworkInsightsAnalysis_ExplanationProperty ¶
type CfnNetworkInsightsAnalysis_ExplanationProperty struct { // The network ACL. Acl interface{} `field:"optional" json:"acl" yaml:"acl"` // The network ACL rule. AclRule interface{} `field:"optional" json:"aclRule" yaml:"aclRule"` // The IPv4 address, in CIDR notation. Address *string `field:"optional" json:"address" yaml:"address"` // The IPv4 addresses, in CIDR notation. Addresses *[]*string `field:"optional" json:"addresses" yaml:"addresses"` // The resource to which the component is attached. AttachedTo interface{} `field:"optional" json:"attachedTo" yaml:"attachedTo"` // The Availability Zones. AvailabilityZones *[]*string `field:"optional" json:"availabilityZones" yaml:"availabilityZones"` // The CIDR ranges. Cidrs *[]*string `field:"optional" json:"cidrs" yaml:"cidrs"` // The listener for a Classic Load Balancer. ClassicLoadBalancerListener interface{} `field:"optional" json:"classicLoadBalancerListener" yaml:"classicLoadBalancerListener"` // The component. Component interface{} `field:"optional" json:"component" yaml:"component"` // The AWS account for the component. ComponentAccount *string `field:"optional" json:"componentAccount" yaml:"componentAccount"` // The Region for the component. ComponentRegion *string `field:"optional" json:"componentRegion" yaml:"componentRegion"` // The customer gateway. CustomerGateway interface{} `field:"optional" json:"customerGateway" yaml:"customerGateway"` // The destination. Destination interface{} `field:"optional" json:"destination" yaml:"destination"` // The destination VPC. DestinationVpc interface{} `field:"optional" json:"destinationVpc" yaml:"destinationVpc"` // The direction. The following are the possible values:. // // - egress // - ingress. Direction *string `field:"optional" json:"direction" yaml:"direction"` // The load balancer listener. ElasticLoadBalancerListener interface{} `field:"optional" json:"elasticLoadBalancerListener" yaml:"elasticLoadBalancerListener"` // The explanation code. ExplanationCode *string `field:"optional" json:"explanationCode" yaml:"explanationCode"` // The route table. IngressRouteTable interface{} `field:"optional" json:"ingressRouteTable" yaml:"ingressRouteTable"` // The internet gateway. InternetGateway interface{} `field:"optional" json:"internetGateway" yaml:"internetGateway"` // The Amazon Resource Name (ARN) of the load balancer. LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"` // The listener port of the load balancer. LoadBalancerListenerPort *float64 `field:"optional" json:"loadBalancerListenerPort" yaml:"loadBalancerListenerPort"` // The target. LoadBalancerTarget interface{} `field:"optional" json:"loadBalancerTarget" yaml:"loadBalancerTarget"` // The target group. LoadBalancerTargetGroup interface{} `field:"optional" json:"loadBalancerTargetGroup" yaml:"loadBalancerTargetGroup"` // The target groups. LoadBalancerTargetGroups interface{} `field:"optional" json:"loadBalancerTargetGroups" yaml:"loadBalancerTargetGroups"` // The target port. LoadBalancerTargetPort *float64 `field:"optional" json:"loadBalancerTargetPort" yaml:"loadBalancerTargetPort"` // The missing component. MissingComponent *string `field:"optional" json:"missingComponent" yaml:"missingComponent"` // The NAT gateway. NatGateway interface{} `field:"optional" json:"natGateway" yaml:"natGateway"` // The network interface. NetworkInterface interface{} `field:"optional" json:"networkInterface" yaml:"networkInterface"` // The packet field. PacketField *string `field:"optional" json:"packetField" yaml:"packetField"` // The port. Port *float64 `field:"optional" json:"port" yaml:"port"` // The port ranges. PortRanges interface{} `field:"optional" json:"portRanges" yaml:"portRanges"` // The prefix list. PrefixList interface{} `field:"optional" json:"prefixList" yaml:"prefixList"` // The protocols. Protocols *[]*string `field:"optional" json:"protocols" yaml:"protocols"` // The route table. RouteTable interface{} `field:"optional" json:"routeTable" yaml:"routeTable"` // The route table route. RouteTableRoute interface{} `field:"optional" json:"routeTableRoute" yaml:"routeTableRoute"` // The security group. SecurityGroup interface{} `field:"optional" json:"securityGroup" yaml:"securityGroup"` // The security group rule. SecurityGroupRule interface{} `field:"optional" json:"securityGroupRule" yaml:"securityGroupRule"` // The security groups. SecurityGroups interface{} `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The source VPC. SourceVpc interface{} `field:"optional" json:"sourceVpc" yaml:"sourceVpc"` // The state. State *string `field:"optional" json:"state" yaml:"state"` // The subnet. Subnet interface{} `field:"optional" json:"subnet" yaml:"subnet"` // The route table for the subnet. SubnetRouteTable interface{} `field:"optional" json:"subnetRouteTable" yaml:"subnetRouteTable"` // The transit gateway. TransitGateway interface{} `field:"optional" json:"transitGateway" yaml:"transitGateway"` // The transit gateway attachment. TransitGatewayAttachment interface{} `field:"optional" json:"transitGatewayAttachment" yaml:"transitGatewayAttachment"` // The transit gateway route table. TransitGatewayRouteTable interface{} `field:"optional" json:"transitGatewayRouteTable" yaml:"transitGatewayRouteTable"` // The transit gateway route table route. TransitGatewayRouteTableRoute interface{} `field:"optional" json:"transitGatewayRouteTableRoute" yaml:"transitGatewayRouteTableRoute"` // The component VPC. Vpc interface{} `field:"optional" json:"vpc" yaml:"vpc"` // The VPC endpoint. VpcEndpoint interface{} `field:"optional" json:"vpcEndpoint" yaml:"vpcEndpoint"` // The VPC peering connection. VpcPeeringConnection interface{} `field:"optional" json:"vpcPeeringConnection" yaml:"vpcPeeringConnection"` // The VPN connection. VpnConnection interface{} `field:"optional" json:"vpnConnection" yaml:"vpnConnection"` // The VPN gateway. VpnGateway interface{} `field:"optional" json:"vpnGateway" yaml:"vpnGateway"` }
Describes an explanation code for an unreachable path.
For more information, see [Reachability Analyzer explanation codes](https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" explanationProperty := &ExplanationProperty{ Acl: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, AclRule: &AnalysisAclRuleProperty{ Cidr: jsii.String("cidr"), Egress: jsii.Boolean(false), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, Protocol: jsii.String("protocol"), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), }, Address: jsii.String("address"), Addresses: []*string{ jsii.String("addresses"), }, AttachedTo: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, Cidrs: []*string{ jsii.String("cidrs"), }, ClassicLoadBalancerListener: &AnalysisLoadBalancerListenerProperty{ InstancePort: jsii.Number(123), LoadBalancerPort: jsii.Number(123), }, Component: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, ComponentAccount: jsii.String("componentAccount"), ComponentRegion: jsii.String("componentRegion"), CustomerGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Destination: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, DestinationVpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Direction: jsii.String("direction"), ElasticLoadBalancerListener: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, ExplanationCode: jsii.String("explanationCode"), IngressRouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, InternetGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, LoadBalancerArn: jsii.String("loadBalancerArn"), LoadBalancerListenerPort: jsii.Number(123), LoadBalancerTarget: &AnalysisLoadBalancerTargetProperty{ Address: jsii.String("address"), AvailabilityZone: jsii.String("availabilityZone"), Instance: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Port: jsii.Number(123), }, LoadBalancerTargetGroup: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, LoadBalancerTargetGroups: []interface{}{ &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }, LoadBalancerTargetPort: jsii.Number(123), MissingComponent: jsii.String("missingComponent"), NatGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, NetworkInterface: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, PacketField: jsii.String("packetField"), Port: jsii.Number(123), PortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, PrefixList: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Protocols: []*string{ jsii.String("protocols"), }, RouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, RouteTableRoute: &AnalysisRouteTableRouteProperty{ DestinationCidr: jsii.String("destinationCidr"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), EgressOnlyInternetGatewayId: jsii.String("egressOnlyInternetGatewayId"), GatewayId: jsii.String("gatewayId"), InstanceId: jsii.String("instanceId"), NatGatewayId: jsii.String("natGatewayId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), Origin: jsii.String("origin"), State: jsii.String("state"), TransitGatewayId: jsii.String("transitGatewayId"), VpcPeeringConnectionId: jsii.String("vpcPeeringConnectionId"), }, SecurityGroup: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, SecurityGroupRule: &AnalysisSecurityGroupRuleProperty{ Cidr: jsii.String("cidr"), Direction: jsii.String("direction"), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, PrefixListId: jsii.String("prefixListId"), Protocol: jsii.String("protocol"), SecurityGroupId: jsii.String("securityGroupId"), }, SecurityGroups: []interface{}{ &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }, SourceVpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, State: jsii.String("state"), Subnet: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, SubnetRouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGatewayAttachment: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGatewayRouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGatewayRouteTableRoute: &TransitGatewayRouteTableRouteProperty{ AttachmentId: jsii.String("attachmentId"), DestinationCidr: jsii.String("destinationCidr"), PrefixListId: jsii.String("prefixListId"), ResourceId: jsii.String("resourceId"), ResourceType: jsii.String("resourceType"), RouteOrigin: jsii.String("routeOrigin"), State: jsii.String("state"), }, Vpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpcEndpoint: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpcPeeringConnection: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpnConnection: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpnGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }
type CfnNetworkInsightsAnalysis_PathComponentProperty ¶
type CfnNetworkInsightsAnalysis_PathComponentProperty struct { // The network ACL rule. AclRule interface{} `field:"optional" json:"aclRule" yaml:"aclRule"` // The additional details. AdditionalDetails interface{} `field:"optional" json:"additionalDetails" yaml:"additionalDetails"` // The component. Component interface{} `field:"optional" json:"component" yaml:"component"` // The destination VPC. DestinationVpc interface{} `field:"optional" json:"destinationVpc" yaml:"destinationVpc"` // The load balancer listener. ElasticLoadBalancerListener interface{} `field:"optional" json:"elasticLoadBalancerListener" yaml:"elasticLoadBalancerListener"` // The explanation codes. Explanations interface{} `field:"optional" json:"explanations" yaml:"explanations"` // The inbound header. InboundHeader interface{} `field:"optional" json:"inboundHeader" yaml:"inboundHeader"` // The outbound header. OutboundHeader interface{} `field:"optional" json:"outboundHeader" yaml:"outboundHeader"` // The route table route. RouteTableRoute interface{} `field:"optional" json:"routeTableRoute" yaml:"routeTableRoute"` // The security group rule. SecurityGroupRule interface{} `field:"optional" json:"securityGroupRule" yaml:"securityGroupRule"` // The sequence number. SequenceNumber *float64 `field:"optional" json:"sequenceNumber" yaml:"sequenceNumber"` // The name of the VPC endpoint service. ServiceName *string `field:"optional" json:"serviceName" yaml:"serviceName"` // The source VPC. SourceVpc interface{} `field:"optional" json:"sourceVpc" yaml:"sourceVpc"` // The subnet. Subnet interface{} `field:"optional" json:"subnet" yaml:"subnet"` // The transit gateway. TransitGateway interface{} `field:"optional" json:"transitGateway" yaml:"transitGateway"` // The route in a transit gateway route table. TransitGatewayRouteTableRoute interface{} `field:"optional" json:"transitGatewayRouteTableRoute" yaml:"transitGatewayRouteTableRoute"` // The component VPC. Vpc interface{} `field:"optional" json:"vpc" yaml:"vpc"` }
Describes a path component.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" pathComponentProperty := &PathComponentProperty{ AclRule: &AnalysisAclRuleProperty{ Cidr: jsii.String("cidr"), Egress: jsii.Boolean(false), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, Protocol: jsii.String("protocol"), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), }, AdditionalDetails: []interface{}{ &AdditionalDetailProperty{ AdditionalDetailType: jsii.String("additionalDetailType"), Component: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, LoadBalancers: []interface{}{ &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }, ServiceName: jsii.String("serviceName"), }, }, Component: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, DestinationVpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, ElasticLoadBalancerListener: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Explanations: []interface{}{ &ExplanationProperty{ Acl: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, AclRule: &AnalysisAclRuleProperty{ Cidr: jsii.String("cidr"), Egress: jsii.Boolean(false), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, Protocol: jsii.String("protocol"), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), }, Address: jsii.String("address"), Addresses: []*string{ jsii.String("addresses"), }, AttachedTo: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, Cidrs: []*string{ jsii.String("cidrs"), }, ClassicLoadBalancerListener: &AnalysisLoadBalancerListenerProperty{ InstancePort: jsii.Number(123), LoadBalancerPort: jsii.Number(123), }, Component: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, ComponentAccount: jsii.String("componentAccount"), ComponentRegion: jsii.String("componentRegion"), CustomerGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Destination: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, DestinationVpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Direction: jsii.String("direction"), ElasticLoadBalancerListener: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, ExplanationCode: jsii.String("explanationCode"), IngressRouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, InternetGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, LoadBalancerArn: jsii.String("loadBalancerArn"), LoadBalancerListenerPort: jsii.Number(123), LoadBalancerTarget: &AnalysisLoadBalancerTargetProperty{ Address: jsii.String("address"), AvailabilityZone: jsii.String("availabilityZone"), Instance: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Port: jsii.Number(123), }, LoadBalancerTargetGroup: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, LoadBalancerTargetGroups: []interface{}{ &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }, LoadBalancerTargetPort: jsii.Number(123), MissingComponent: jsii.String("missingComponent"), NatGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, NetworkInterface: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, PacketField: jsii.String("packetField"), Port: jsii.Number(123), PortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, PrefixList: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Protocols: []*string{ jsii.String("protocols"), }, RouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, RouteTableRoute: &AnalysisRouteTableRouteProperty{ DestinationCidr: jsii.String("destinationCidr"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), EgressOnlyInternetGatewayId: jsii.String("egressOnlyInternetGatewayId"), GatewayId: jsii.String("gatewayId"), InstanceId: jsii.String("instanceId"), NatGatewayId: jsii.String("natGatewayId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), Origin: jsii.String("origin"), State: jsii.String("state"), TransitGatewayId: jsii.String("transitGatewayId"), VpcPeeringConnectionId: jsii.String("vpcPeeringConnectionId"), }, SecurityGroup: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, SecurityGroupRule: &AnalysisSecurityGroupRuleProperty{ Cidr: jsii.String("cidr"), Direction: jsii.String("direction"), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, PrefixListId: jsii.String("prefixListId"), Protocol: jsii.String("protocol"), SecurityGroupId: jsii.String("securityGroupId"), }, SecurityGroups: []interface{}{ &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }, SourceVpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, State: jsii.String("state"), Subnet: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, SubnetRouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGatewayAttachment: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGatewayRouteTable: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGatewayRouteTableRoute: &TransitGatewayRouteTableRouteProperty{ AttachmentId: jsii.String("attachmentId"), DestinationCidr: jsii.String("destinationCidr"), PrefixListId: jsii.String("prefixListId"), ResourceId: jsii.String("resourceId"), ResourceType: jsii.String("resourceType"), RouteOrigin: jsii.String("routeOrigin"), State: jsii.String("state"), }, Vpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpcEndpoint: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpcPeeringConnection: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpnConnection: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, VpnGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }, }, InboundHeader: &AnalysisPacketHeaderProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, Protocol: jsii.String("protocol"), SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, }, OutboundHeader: &AnalysisPacketHeaderProperty{ DestinationAddresses: []*string{ jsii.String("destinationAddresses"), }, DestinationPortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, Protocol: jsii.String("protocol"), SourceAddresses: []*string{ jsii.String("sourceAddresses"), }, SourcePortRanges: []interface{}{ &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, }, }, RouteTableRoute: &AnalysisRouteTableRouteProperty{ DestinationCidr: jsii.String("destinationCidr"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), EgressOnlyInternetGatewayId: jsii.String("egressOnlyInternetGatewayId"), GatewayId: jsii.String("gatewayId"), InstanceId: jsii.String("instanceId"), NatGatewayId: jsii.String("natGatewayId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), Origin: jsii.String("origin"), State: jsii.String("state"), TransitGatewayId: jsii.String("transitGatewayId"), VpcPeeringConnectionId: jsii.String("vpcPeeringConnectionId"), }, SecurityGroupRule: &AnalysisSecurityGroupRuleProperty{ Cidr: jsii.String("cidr"), Direction: jsii.String("direction"), PortRange: &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }, PrefixListId: jsii.String("prefixListId"), Protocol: jsii.String("protocol"), SecurityGroupId: jsii.String("securityGroupId"), }, SequenceNumber: jsii.Number(123), ServiceName: jsii.String("serviceName"), SourceVpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, Subnet: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGateway: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, TransitGatewayRouteTableRoute: &TransitGatewayRouteTableRouteProperty{ AttachmentId: jsii.String("attachmentId"), DestinationCidr: jsii.String("destinationCidr"), PrefixListId: jsii.String("prefixListId"), ResourceId: jsii.String("resourceId"), ResourceType: jsii.String("resourceType"), RouteOrigin: jsii.String("routeOrigin"), State: jsii.String("state"), }, Vpc: &AnalysisComponentProperty{ Arn: jsii.String("arn"), Id: jsii.String("id"), }, }
type CfnNetworkInsightsAnalysis_PortRangeProperty ¶
type CfnNetworkInsightsAnalysis_PortRangeProperty struct { // The first port in the range. From *float64 `field:"optional" json:"from" yaml:"from"` // The last port in the range. To *float64 `field:"optional" json:"to" yaml:"to"` }
Describes a range of ports.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" portRangeProperty := &PortRangeProperty{ From: jsii.Number(123), To: jsii.Number(123), }
type CfnNetworkInsightsAnalysis_TransitGatewayRouteTableRouteProperty ¶ added in v2.25.0
type CfnNetworkInsightsAnalysis_TransitGatewayRouteTableRouteProperty struct { // The ID of the route attachment. AttachmentId *string `field:"optional" json:"attachmentId" yaml:"attachmentId"` // The CIDR block used for destination matches. DestinationCidr *string `field:"optional" json:"destinationCidr" yaml:"destinationCidr"` // The ID of the prefix list. PrefixListId *string `field:"optional" json:"prefixListId" yaml:"prefixListId"` // The ID of the resource for the route attachment. ResourceId *string `field:"optional" json:"resourceId" yaml:"resourceId"` // The resource type for the route attachment. ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // The route origin. The following are the possible values:. // // - static // - propagated. RouteOrigin *string `field:"optional" json:"routeOrigin" yaml:"routeOrigin"` // The state of the route. State *string `field:"optional" json:"state" yaml:"state"` }
Describes a route in a transit gateway route table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" transitGatewayRouteTableRouteProperty := &TransitGatewayRouteTableRouteProperty{ AttachmentId: jsii.String("attachmentId"), DestinationCidr: jsii.String("destinationCidr"), PrefixListId: jsii.String("prefixListId"), ResourceId: jsii.String("resourceId"), ResourceType: jsii.String("resourceType"), RouteOrigin: jsii.String("routeOrigin"), State: jsii.String("state"), }
type CfnNetworkInsightsPath ¶
type CfnNetworkInsightsPath interface { awscdk.CfnResource awscdk.IInspectable // The time stamp when the path was created. AttrCreatedDate() *string // The Amazon Resource Name (ARN) of the destination. AttrDestinationArn() *string // The Amazon Resource Name (ARN) of the path. AttrNetworkInsightsPathArn() *string // The ID of the path. AttrNetworkInsightsPathId() *string // The Amazon Resource Name (ARN) of the source. AttrSourceArn() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID or ARN of the destination. // // If the resource is in another account, you must specify an ARN. Destination() *string SetDestination(val *string) // The IP address of the destination. DestinationIp() *string SetDestinationIp(val *string) // The destination port. DestinationPort() *float64 SetDestinationPort(val *float64) // Scopes the analysis to network paths that match specific filters at the destination. // // If you specify this parameter, you can't specify the parameter for the destination IP address. FilterAtDestination() interface{} SetFilterAtDestination(val interface{}) // Scopes the analysis to network paths that match specific filters at the source. // // If you specify this parameter, you can't specify the parameters for the source IP address or the destination port. FilterAtSource() interface{} SetFilterAtSource(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The protocol. Protocol() *string SetProtocol(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID or ARN of the source. // // If the resource is in another account, you must specify an ARN. Source() *string SetSource(val *string) // The IP address of the source. SourceIp() *string SetSourceIp(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to add to the path. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkInsightsPath`.
Specifies a path to analyze for reachability.
VPC Reachability Analyzer enables you to analyze and debug network reachability between two resources in your virtual private cloud (VPC). For more information, see the [Reachability Analyzer User Guide](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsPath := awscdk.Aws_ec2.NewCfnNetworkInsightsPath(this, jsii.String("MyCfnNetworkInsightsPath"), &CfnNetworkInsightsPathProps{ Protocol: jsii.String("protocol"), Source: jsii.String("source"), // the properties below are optional Destination: jsii.String("destination"), DestinationIp: jsii.String("destinationIp"), DestinationPort: jsii.Number(123), FilterAtDestination: &PathFilterProperty{ DestinationAddress: jsii.String("destinationAddress"), DestinationPortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, SourceAddress: jsii.String("sourceAddress"), SourcePortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }, FilterAtSource: &PathFilterProperty{ DestinationAddress: jsii.String("destinationAddress"), DestinationPortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, SourceAddress: jsii.String("sourceAddress"), SourcePortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }, SourceIp: jsii.String("sourceIp"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnNetworkInsightsPath ¶
func NewCfnNetworkInsightsPath(scope constructs.Construct, id *string, props *CfnNetworkInsightsPathProps) CfnNetworkInsightsPath
Create a new `AWS::EC2::NetworkInsightsPath`.
type CfnNetworkInsightsPathProps ¶
type CfnNetworkInsightsPathProps struct { // The protocol. Protocol *string `field:"required" json:"protocol" yaml:"protocol"` // The ID or ARN of the source. // // If the resource is in another account, you must specify an ARN. Source *string `field:"required" json:"source" yaml:"source"` // The ID or ARN of the destination. // // If the resource is in another account, you must specify an ARN. Destination *string `field:"optional" json:"destination" yaml:"destination"` // The IP address of the destination. DestinationIp *string `field:"optional" json:"destinationIp" yaml:"destinationIp"` // The destination port. DestinationPort *float64 `field:"optional" json:"destinationPort" yaml:"destinationPort"` // Scopes the analysis to network paths that match specific filters at the destination. // // If you specify this parameter, you can't specify the parameter for the destination IP address. FilterAtDestination interface{} `field:"optional" json:"filterAtDestination" yaml:"filterAtDestination"` // Scopes the analysis to network paths that match specific filters at the source. // // If you specify this parameter, you can't specify the parameters for the source IP address or the destination port. FilterAtSource interface{} `field:"optional" json:"filterAtSource" yaml:"filterAtSource"` // The IP address of the source. SourceIp *string `field:"optional" json:"sourceIp" yaml:"sourceIp"` // The tags to add to the path. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnNetworkInsightsPath`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInsightsPathProps := &CfnNetworkInsightsPathProps{ Protocol: jsii.String("protocol"), Source: jsii.String("source"), // the properties below are optional Destination: jsii.String("destination"), DestinationIp: jsii.String("destinationIp"), DestinationPort: jsii.Number(123), FilterAtDestination: &PathFilterProperty{ DestinationAddress: jsii.String("destinationAddress"), DestinationPortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, SourceAddress: jsii.String("sourceAddress"), SourcePortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }, FilterAtSource: &PathFilterProperty{ DestinationAddress: jsii.String("destinationAddress"), DestinationPortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, SourceAddress: jsii.String("sourceAddress"), SourcePortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }, SourceIp: jsii.String("sourceIp"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNetworkInsightsPath_FilterPortRangeProperty ¶ added in v2.79.0
type CfnNetworkInsightsPath_FilterPortRangeProperty struct { // The first port in the range. FromPort *float64 `field:"optional" json:"fromPort" yaml:"fromPort"` // The last port in the range. ToPort *float64 `field:"optional" json:"toPort" yaml:"toPort"` }
Describes a port range.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" filterPortRangeProperty := &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }
type CfnNetworkInsightsPath_PathFilterProperty ¶ added in v2.79.0
type CfnNetworkInsightsPath_PathFilterProperty struct { // The destination IPv4 address. DestinationAddress *string `field:"optional" json:"destinationAddress" yaml:"destinationAddress"` // The destination port range. DestinationPortRange interface{} `field:"optional" json:"destinationPortRange" yaml:"destinationPortRange"` // The source IPv4 address. SourceAddress *string `field:"optional" json:"sourceAddress" yaml:"sourceAddress"` // The source port range. SourcePortRange interface{} `field:"optional" json:"sourcePortRange" yaml:"sourcePortRange"` }
Describes a set of filters for a path analysis.
Use path filters to scope the analysis when there can be multiple resulting paths.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" pathFilterProperty := &PathFilterProperty{ DestinationAddress: jsii.String("destinationAddress"), DestinationPortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, SourceAddress: jsii.String("sourceAddress"), SourcePortRange: &FilterPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }
type CfnNetworkInterface ¶
type CfnNetworkInterface interface { awscdk.CfnResource awscdk.IInspectable // The ID of the network interface. AttrId() *string // The primary private IP address of the network interface. // // For example, `10.0.0.192` . AttrPrimaryPrivateIpAddress() *string // The secondary private IP addresses of the network interface. // // For example, `["10.0.0.161", "10.0.0.162", "10.0.0.163"]` . AttrSecondaryPrivateIpAddresses() *[]*string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description for the network interface. Description() *string SetDescription(val *string) // The security group IDs associated with this network interface. GroupSet() *[]*string SetGroupSet(val *[]*string) // The type of network interface. // // The default is `interface` . The supported values are `efa` and `trunk` . InterfaceType() *string SetInterfaceType(val *string) // The number of IPv6 addresses to assign to a network interface. // // Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the `Ipv6Addresses` property and don't specify this property. Ipv6AddressCount() *float64 SetIpv6AddressCount(val *float64) // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. // // If you're specifying a number of IPv6 addresses, use the `Ipv6AddressCount` property and don't specify this property. Ipv6Addresses() interface{} SetIpv6Addresses(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Assigns a single private IP address to the network interface, which is used as the primary private IP address. // // If you want to specify multiple private IP address, use the `PrivateIpAddresses` property. PrivateIpAddress() *string SetPrivateIpAddress(val *string) // Assigns private IP addresses to the network interface. // // You can specify a primary private IP address by setting the value of the `Primary` property to `true` in the `PrivateIpAddressSpecification` property. If you want EC2 to automatically assign private IP addresses, use the `SecondaryPrivateIpAddressCount` property and do not specify this property. PrivateIpAddresses() interface{} SetPrivateIpAddresses(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The number of secondary private IPv4 addresses to assign to a network interface. // // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using `privateIpAddresses` . // // You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes. SecondaryPrivateIpAddressCount() *float64 SetSecondaryPrivateIpAddressCount(val *float64) // Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. // // If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls. SourceDestCheck() interface{} SetSourceDestCheck(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet to associate with the network interface. SubnetId() *string SetSubnetId(val *string) // An arbitrary set of tags (key-value pairs) for this network interface. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkInterface`.
Describes a network interface in an Amazon EC2 instance for AWS CloudFormation .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInterface := awscdk.Aws_ec2.NewCfnNetworkInterface(this, jsii.String("MyCfnNetworkInterface"), &CfnNetworkInterfaceProps{ SubnetId: jsii.String("subnetId"), // the properties below are optional Description: jsii.String("description"), GroupSet: []*string{ jsii.String("groupSet"), }, InterfaceType: jsii.String("interfaceType"), Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, PrivateIpAddress: jsii.String("privateIpAddress"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SourceDestCheck: jsii.Boolean(false), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnNetworkInterface ¶
func NewCfnNetworkInterface(scope constructs.Construct, id *string, props *CfnNetworkInterfaceProps) CfnNetworkInterface
Create a new `AWS::EC2::NetworkInterface`.
type CfnNetworkInterfaceAttachment ¶
type CfnNetworkInterfaceAttachment interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Whether to delete the network interface when the instance terminates. // // By default, this value is set to `true` . DeleteOnTermination() interface{} SetDeleteOnTermination(val interface{}) // The network interface's position in the attachment order. // // For example, the first attached network interface has a `DeviceIndex` of 0. DeviceIndex() *string SetDeviceIndex(val *string) // The ID of the instance to which you will attach the ENI. InstanceId() *string SetInstanceId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the ENI that you want to attach. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkInterfaceAttachment`.
Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInterfaceAttachment := awscdk.Aws_ec2.NewCfnNetworkInterfaceAttachment(this, jsii.String("MyCfnNetworkInterfaceAttachment"), &CfnNetworkInterfaceAttachmentProps{ DeviceIndex: jsii.String("deviceIndex"), InstanceId: jsii.String("instanceId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), // the properties below are optional DeleteOnTermination: jsii.Boolean(false), })
func NewCfnNetworkInterfaceAttachment ¶
func NewCfnNetworkInterfaceAttachment(scope constructs.Construct, id *string, props *CfnNetworkInterfaceAttachmentProps) CfnNetworkInterfaceAttachment
Create a new `AWS::EC2::NetworkInterfaceAttachment`.
type CfnNetworkInterfaceAttachmentProps ¶
type CfnNetworkInterfaceAttachmentProps struct { // The network interface's position in the attachment order. // // For example, the first attached network interface has a `DeviceIndex` of 0. DeviceIndex *string `field:"required" json:"deviceIndex" yaml:"deviceIndex"` // The ID of the instance to which you will attach the ENI. InstanceId *string `field:"required" json:"instanceId" yaml:"instanceId"` // The ID of the ENI that you want to attach. NetworkInterfaceId *string `field:"required" json:"networkInterfaceId" yaml:"networkInterfaceId"` // Whether to delete the network interface when the instance terminates. // // By default, this value is set to `true` . DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` }
Properties for defining a `CfnNetworkInterfaceAttachment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInterfaceAttachmentProps := &CfnNetworkInterfaceAttachmentProps{ DeviceIndex: jsii.String("deviceIndex"), InstanceId: jsii.String("instanceId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), // the properties below are optional DeleteOnTermination: jsii.Boolean(false), }
type CfnNetworkInterfacePermission ¶
type CfnNetworkInterfacePermission interface { awscdk.CfnResource awscdk.IInspectable // The AWS account ID. AwsAccountId() *string SetAwsAccountId(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the network interface. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // The type of permission to grant: `INSTANCE-ATTACH` or `EIP-ASSOCIATE` . Permission() *string SetPermission(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkInterfacePermission`.
Specifies a permission for an Amazon EC2 network interface. For example, you can grant an AWS authorized partner account permission to attach the specified network interface to an instance in their account.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInterfacePermission := awscdk.Aws_ec2.NewCfnNetworkInterfacePermission(this, jsii.String("MyCfnNetworkInterfacePermission"), &CfnNetworkInterfacePermissionProps{ AwsAccountId: jsii.String("awsAccountId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), Permission: jsii.String("permission"), })
func NewCfnNetworkInterfacePermission ¶
func NewCfnNetworkInterfacePermission(scope constructs.Construct, id *string, props *CfnNetworkInterfacePermissionProps) CfnNetworkInterfacePermission
Create a new `AWS::EC2::NetworkInterfacePermission`.
type CfnNetworkInterfacePermissionProps ¶
type CfnNetworkInterfacePermissionProps struct { // The AWS account ID. AwsAccountId *string `field:"required" json:"awsAccountId" yaml:"awsAccountId"` // The ID of the network interface. NetworkInterfaceId *string `field:"required" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The type of permission to grant: `INSTANCE-ATTACH` or `EIP-ASSOCIATE` . Permission *string `field:"required" json:"permission" yaml:"permission"` }
Properties for defining a `CfnNetworkInterfacePermission`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInterfacePermissionProps := &CfnNetworkInterfacePermissionProps{ AwsAccountId: jsii.String("awsAccountId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), Permission: jsii.String("permission"), }
type CfnNetworkInterfaceProps ¶
type CfnNetworkInterfaceProps struct { // The ID of the subnet to associate with the network interface. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` // A description for the network interface. Description *string `field:"optional" json:"description" yaml:"description"` // The security group IDs associated with this network interface. GroupSet *[]*string `field:"optional" json:"groupSet" yaml:"groupSet"` // The type of network interface. // // The default is `interface` . The supported values are `efa` and `trunk` . InterfaceType *string `field:"optional" json:"interfaceType" yaml:"interfaceType"` // The number of IPv6 addresses to assign to a network interface. // // Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the `Ipv6Addresses` property and don't specify this property. Ipv6AddressCount *float64 `field:"optional" json:"ipv6AddressCount" yaml:"ipv6AddressCount"` // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. // // If you're specifying a number of IPv6 addresses, use the `Ipv6AddressCount` property and don't specify this property. Ipv6Addresses interface{} `field:"optional" json:"ipv6Addresses" yaml:"ipv6Addresses"` // Assigns a single private IP address to the network interface, which is used as the primary private IP address. // // If you want to specify multiple private IP address, use the `PrivateIpAddresses` property. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` // Assigns private IP addresses to the network interface. // // You can specify a primary private IP address by setting the value of the `Primary` property to `true` in the `PrivateIpAddressSpecification` property. If you want EC2 to automatically assign private IP addresses, use the `SecondaryPrivateIpAddressCount` property and do not specify this property. PrivateIpAddresses interface{} `field:"optional" json:"privateIpAddresses" yaml:"privateIpAddresses"` // The number of secondary private IPv4 addresses to assign to a network interface. // // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using `privateIpAddresses` . // // You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes. SecondaryPrivateIpAddressCount *float64 `field:"optional" json:"secondaryPrivateIpAddressCount" yaml:"secondaryPrivateIpAddressCount"` // Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. // // If the value is `true` , source/destination checks are enabled; otherwise, they are disabled. The default value is `true` . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls. SourceDestCheck interface{} `field:"optional" json:"sourceDestCheck" yaml:"sourceDestCheck"` // An arbitrary set of tags (key-value pairs) for this network interface. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnNetworkInterface`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkInterfaceProps := &CfnNetworkInterfaceProps{ SubnetId: jsii.String("subnetId"), // the properties below are optional Description: jsii.String("description"), GroupSet: []*string{ jsii.String("groupSet"), }, InterfaceType: jsii.String("interfaceType"), Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, PrivateIpAddress: jsii.String("privateIpAddress"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SourceDestCheck: jsii.Boolean(false), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnNetworkInterface_InstanceIpv6AddressProperty ¶
type CfnNetworkInterface_InstanceIpv6AddressProperty struct { // An IPv6 address to associate with the network interface. Ipv6Address *string `field:"required" json:"ipv6Address" yaml:"ipv6Address"` }
Describes the IPv6 addresses to associate with the network interface.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceIpv6AddressProperty := &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }
type CfnNetworkInterface_PrivateIpAddressSpecificationProperty ¶
type CfnNetworkInterface_PrivateIpAddressSpecificationProperty struct { // Sets the private IP address as the primary private address. // // You can set only one primary private IP address. If you don't specify a primary private IP address, Amazon EC2 automatically assigns a primary private IP address. Primary interface{} `field:"required" json:"primary" yaml:"primary"` // The private IP address of the network interface. PrivateIpAddress *string `field:"required" json:"privateIpAddress" yaml:"privateIpAddress"` }
Describes a secondary private IPv4 address for a network interface.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateIpAddressSpecificationProperty := &PrivateIpAddressSpecificationProperty{ Primary: jsii.Boolean(false), PrivateIpAddress: jsii.String("privateIpAddress"), }
type CfnNetworkPerformanceMetricSubscription ¶ added in v2.55.0
type CfnNetworkPerformanceMetricSubscription interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The Region or Availability Zone that's the target for the subscription. // // For example, `eu-west-1` . Destination() *string SetDestination(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The metric used for the subscription. Metric() *string SetMetric(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The Region or Availability Zone that's the source for the subscription. // // For example, `us-east-1` . Source() *string SetSource(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The statistic used for the subscription. Statistic() *string SetStatistic(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::NetworkPerformanceMetricSubscription`.
Describes Infrastructure Performance subscriptions.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkPerformanceMetricSubscription := awscdk.Aws_ec2.NewCfnNetworkPerformanceMetricSubscription(this, jsii.String("MyCfnNetworkPerformanceMetricSubscription"), &CfnNetworkPerformanceMetricSubscriptionProps{ Destination: jsii.String("destination"), Metric: jsii.String("metric"), Source: jsii.String("source"), Statistic: jsii.String("statistic"), })
func NewCfnNetworkPerformanceMetricSubscription ¶ added in v2.55.0
func NewCfnNetworkPerformanceMetricSubscription(scope constructs.Construct, id *string, props *CfnNetworkPerformanceMetricSubscriptionProps) CfnNetworkPerformanceMetricSubscription
Create a new `AWS::EC2::NetworkPerformanceMetricSubscription`.
type CfnNetworkPerformanceMetricSubscriptionProps ¶ added in v2.55.0
type CfnNetworkPerformanceMetricSubscriptionProps struct { // The Region or Availability Zone that's the target for the subscription. // // For example, `eu-west-1` . Destination *string `field:"required" json:"destination" yaml:"destination"` // The metric used for the subscription. Metric *string `field:"required" json:"metric" yaml:"metric"` // The Region or Availability Zone that's the source for the subscription. // // For example, `us-east-1` . Source *string `field:"required" json:"source" yaml:"source"` // The statistic used for the subscription. Statistic *string `field:"required" json:"statistic" yaml:"statistic"` }
Properties for defining a `CfnNetworkPerformanceMetricSubscription`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnNetworkPerformanceMetricSubscriptionProps := &CfnNetworkPerformanceMetricSubscriptionProps{ Destination: jsii.String("destination"), Metric: jsii.String("metric"), Source: jsii.String("source"), Statistic: jsii.String("statistic"), }
type CfnPlacementGroup ¶
type CfnPlacementGroup interface { awscdk.CfnResource awscdk.IInspectable // The name of the placement group. AttrGroupName() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The number of partitions. // // Valid only when *Strategy* is set to `partition` . PartitionCount() *float64 SetPartitionCount(val *float64) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Determines how placement groups spread instances. // // - Host – You can use `host` only with Outpost placement groups. // - Rack – No usage restrictions. SpreadLevel() *string SetSpreadLevel(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The placement strategy. Strategy() *string SetStrategy(val *string) // The tags to apply to the new placement group. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::PlacementGroup`.
Specifies a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.
A `cluster` placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A `spread` placement group places instances on distinct hardware. A `partition` placement group places groups of instances in different partitions, where instances in one partition do not share the same hardware with instances in another partition.
For more information, see [Placement Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnPlacementGroup := awscdk.Aws_ec2.NewCfnPlacementGroup(this, jsii.String("MyCfnPlacementGroup"), &CfnPlacementGroupProps{ PartitionCount: jsii.Number(123), SpreadLevel: jsii.String("spreadLevel"), Strategy: jsii.String("strategy"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnPlacementGroup ¶
func NewCfnPlacementGroup(scope constructs.Construct, id *string, props *CfnPlacementGroupProps) CfnPlacementGroup
Create a new `AWS::EC2::PlacementGroup`.
type CfnPlacementGroupProps ¶
type CfnPlacementGroupProps struct { // The number of partitions. // // Valid only when *Strategy* is set to `partition` . PartitionCount *float64 `field:"optional" json:"partitionCount" yaml:"partitionCount"` // Determines how placement groups spread instances. // // - Host – You can use `host` only with Outpost placement groups. // - Rack – No usage restrictions. SpreadLevel *string `field:"optional" json:"spreadLevel" yaml:"spreadLevel"` // The placement strategy. Strategy *string `field:"optional" json:"strategy" yaml:"strategy"` // The tags to apply to the new placement group. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnPlacementGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnPlacementGroupProps := &CfnPlacementGroupProps{ PartitionCount: jsii.Number(123), SpreadLevel: jsii.String("spreadLevel"), Strategy: jsii.String("strategy"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnPrefixList ¶
type CfnPrefixList interface { awscdk.CfnResource awscdk.IInspectable // The IP address type. // // Valid Values: `IPv4` | `IPv6`. AddressFamily() *string SetAddressFamily(val *string) // The ARN of the prefix list. // // For example, `arn:aws:ec2:us-east-1:123456789012:prefix-list/pl-0123123123123abcd` . AttrArn() *string // The ID of the owner of the prefix list. // // For example, `123456789012` . AttrOwnerId() *string // The ID of the prefix list. // // For example, `pl-0123123123123abcd` . AttrPrefixListId() *string // The version of the prefix list. // // For example, `1` . AttrVersion() *float64 // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // One or more entries for the prefix list. Entries() interface{} SetEntries(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The maximum number of entries for the prefix list. MaxEntries() *float64 SetMaxEntries(val *float64) // The tree node. Node() constructs.Node // A name for the prefix list. // // Constraints: Up to 255 characters in length. The name cannot start with `com.amazonaws` . PrefixListName() *string SetPrefixListName(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags for the prefix list. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::PrefixList`.
Specifies a managed prefix list. You can add one or more entries to the prefix list. Each entry consists of a CIDR block and an optional description.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnPrefixList := awscdk.Aws_ec2.NewCfnPrefixList(this, jsii.String("MyCfnPrefixList"), &CfnPrefixListProps{ AddressFamily: jsii.String("addressFamily"), MaxEntries: jsii.Number(123), PrefixListName: jsii.String("prefixListName"), // the properties below are optional Entries: []interface{}{ &EntryProperty{ Cidr: jsii.String("cidr"), // the properties below are optional Description: jsii.String("description"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnPrefixList ¶
func NewCfnPrefixList(scope constructs.Construct, id *string, props *CfnPrefixListProps) CfnPrefixList
Create a new `AWS::EC2::PrefixList`.
type CfnPrefixListProps ¶
type CfnPrefixListProps struct { // The IP address type. // // Valid Values: `IPv4` | `IPv6`. AddressFamily *string `field:"required" json:"addressFamily" yaml:"addressFamily"` // The maximum number of entries for the prefix list. MaxEntries *float64 `field:"required" json:"maxEntries" yaml:"maxEntries"` // A name for the prefix list. // // Constraints: Up to 255 characters in length. The name cannot start with `com.amazonaws` . PrefixListName *string `field:"required" json:"prefixListName" yaml:"prefixListName"` // One or more entries for the prefix list. Entries interface{} `field:"optional" json:"entries" yaml:"entries"` // The tags for the prefix list. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnPrefixList`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnPrefixListProps := &CfnPrefixListProps{ AddressFamily: jsii.String("addressFamily"), MaxEntries: jsii.Number(123), PrefixListName: jsii.String("prefixListName"), // the properties below are optional Entries: []interface{}{ &EntryProperty{ Cidr: jsii.String("cidr"), // the properties below are optional Description: jsii.String("description"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnPrefixList_EntryProperty ¶
type CfnPrefixList_EntryProperty struct { // The CIDR block. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` // A description for the entry. // // Constraints: Up to 255 characters in length. Description *string `field:"optional" json:"description" yaml:"description"` }
An entry for a prefix list.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" entryProperty := &EntryProperty{ Cidr: jsii.String("cidr"), // the properties below are optional Description: jsii.String("description"), }
type CfnRoute ¶
type CfnRoute interface { awscdk.CfnResource awscdk.IInspectable // The ID of the carrier gateway. // // You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone. CarrierGatewayId() *string SetCarrierGatewayId(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The IPv4 CIDR address block used for the destination match. // // Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` . DestinationCidrBlock() *string SetDestinationCidrBlock(val *string) // The IPv6 CIDR block used for the destination match. // // Routing decisions are based on the most specific match. DestinationIpv6CidrBlock() *string SetDestinationIpv6CidrBlock(val *string) // [IPv6 traffic only] The ID of an egress-only internet gateway. EgressOnlyInternetGatewayId() *string SetEgressOnlyInternetGatewayId(val *string) // The ID of an internet gateway or virtual private gateway attached to your VPC. GatewayId() *string SetGatewayId(val *string) // The ID of a NAT instance in your VPC. // // The operation fails if you specify an instance ID unless exactly one network interface is attached. InstanceId() *string SetInstanceId(val *string) // The ID of the local gateway. LocalGatewayId() *string SetLocalGatewayId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // [IPv4 traffic only] The ID of a NAT gateway. NatGatewayId() *string SetNatGatewayId(val *string) // The ID of a network interface. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the route table for the route. RouteTableId() *string SetRouteTableId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of a transit gateway. TransitGatewayId() *string SetTransitGatewayId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of a VPC endpoint. // // Supported for Gateway Load Balancer endpoints only. VpcEndpointId() *string SetVpcEndpointId(val *string) // The ID of a VPC peering connection. VpcPeeringConnectionId() *string SetVpcPeeringConnectionId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::Route`.
Specifies a route in a route table.
You must specify either `DestinationCidrBlock` or `DestinationIpv6CidrBlock` , plus the ID of one of the target resources.
If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the `AWS::EC2::Route` resource to explicitly declare a dependency on the `AWS::EC2::TransitGatewayAttachment` resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnRoute := awscdk.Aws_ec2.NewCfnRoute(this, jsii.String("MyCfnRoute"), &CfnRouteProps{ RouteTableId: jsii.String("routeTableId"), // the properties below are optional CarrierGatewayId: jsii.String("carrierGatewayId"), DestinationCidrBlock: jsii.String("destinationCidrBlock"), DestinationIpv6CidrBlock: jsii.String("destinationIpv6CidrBlock"), EgressOnlyInternetGatewayId: jsii.String("egressOnlyInternetGatewayId"), GatewayId: jsii.String("gatewayId"), InstanceId: jsii.String("instanceId"), LocalGatewayId: jsii.String("localGatewayId"), NatGatewayId: jsii.String("natGatewayId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), TransitGatewayId: jsii.String("transitGatewayId"), VpcEndpointId: jsii.String("vpcEndpointId"), VpcPeeringConnectionId: jsii.String("vpcPeeringConnectionId"), })
func NewCfnRoute ¶
func NewCfnRoute(scope constructs.Construct, id *string, props *CfnRouteProps) CfnRoute
Create a new `AWS::EC2::Route`.
type CfnRouteProps ¶
type CfnRouteProps struct { // The ID of the route table for the route. RouteTableId *string `field:"required" json:"routeTableId" yaml:"routeTableId"` // The ID of the carrier gateway. // // You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone. CarrierGatewayId *string `field:"optional" json:"carrierGatewayId" yaml:"carrierGatewayId"` // The IPv4 CIDR address block used for the destination match. // // Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` . DestinationCidrBlock *string `field:"optional" json:"destinationCidrBlock" yaml:"destinationCidrBlock"` // The IPv6 CIDR block used for the destination match. // // Routing decisions are based on the most specific match. DestinationIpv6CidrBlock *string `field:"optional" json:"destinationIpv6CidrBlock" yaml:"destinationIpv6CidrBlock"` // [IPv6 traffic only] The ID of an egress-only internet gateway. EgressOnlyInternetGatewayId *string `field:"optional" json:"egressOnlyInternetGatewayId" yaml:"egressOnlyInternetGatewayId"` // The ID of an internet gateway or virtual private gateway attached to your VPC. GatewayId *string `field:"optional" json:"gatewayId" yaml:"gatewayId"` // The ID of a NAT instance in your VPC. // // The operation fails if you specify an instance ID unless exactly one network interface is attached. InstanceId *string `field:"optional" json:"instanceId" yaml:"instanceId"` // The ID of the local gateway. LocalGatewayId *string `field:"optional" json:"localGatewayId" yaml:"localGatewayId"` // [IPv4 traffic only] The ID of a NAT gateway. NatGatewayId *string `field:"optional" json:"natGatewayId" yaml:"natGatewayId"` // The ID of a network interface. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The ID of a transit gateway. TransitGatewayId *string `field:"optional" json:"transitGatewayId" yaml:"transitGatewayId"` // The ID of a VPC endpoint. // // Supported for Gateway Load Balancer endpoints only. VpcEndpointId *string `field:"optional" json:"vpcEndpointId" yaml:"vpcEndpointId"` // The ID of a VPC peering connection. VpcPeeringConnectionId *string `field:"optional" json:"vpcPeeringConnectionId" yaml:"vpcPeeringConnectionId"` }
Properties for defining a `CfnRoute`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnRouteProps := &CfnRouteProps{ RouteTableId: jsii.String("routeTableId"), // the properties below are optional CarrierGatewayId: jsii.String("carrierGatewayId"), DestinationCidrBlock: jsii.String("destinationCidrBlock"), DestinationIpv6CidrBlock: jsii.String("destinationIpv6CidrBlock"), EgressOnlyInternetGatewayId: jsii.String("egressOnlyInternetGatewayId"), GatewayId: jsii.String("gatewayId"), InstanceId: jsii.String("instanceId"), LocalGatewayId: jsii.String("localGatewayId"), NatGatewayId: jsii.String("natGatewayId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), TransitGatewayId: jsii.String("transitGatewayId"), VpcEndpointId: jsii.String("vpcEndpointId"), VpcPeeringConnectionId: jsii.String("vpcPeeringConnectionId"), }
type CfnRouteTable ¶
type CfnRouteTable interface { awscdk.CfnResource awscdk.IInspectable // The ID of the route table. AttrRouteTableId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the route table. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::RouteTable`.
Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.
For more information, see [Route Tables](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) in the *Amazon VPC User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnRouteTable := awscdk.Aws_ec2.NewCfnRouteTable(this, jsii.String("MyCfnRouteTable"), &CfnRouteTableProps{ VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnRouteTable ¶
func NewCfnRouteTable(scope constructs.Construct, id *string, props *CfnRouteTableProps) CfnRouteTable
Create a new `AWS::EC2::RouteTable`.
type CfnRouteTableProps ¶
type CfnRouteTableProps struct { // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // Any tags assigned to the route table. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnRouteTable`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnRouteTableProps := &CfnRouteTableProps{ VpcId: jsii.String("vpcId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnSecurityGroup ¶
type CfnSecurityGroup interface { awscdk.CfnResource awscdk.IInspectable // The group ID of the specified security group, such as `sg-94b3a1f6` . AttrGroupId() *string // The physical ID of the VPC. // // You can obtain the physical ID by using a reference to an [AWS::EC2::VPC](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html) , such as: `{ "Ref" : "myVPC" }` . AttrVpcId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description for the security group. // // Constraints: Up to 255 characters in length // // Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* GroupDescription() *string SetGroupDescription(val *string) // The name of the security group. // // Constraints: Up to 255 characters in length. Cannot start with `sg-` . // // Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* GroupName() *string SetGroupName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The outbound rules associated with the security group. // // There is a short interruption during which you cannot connect to the security group. SecurityGroupEgress() interface{} SetSecurityGroupEgress(val interface{}) // The inbound rules associated with the security group. // // There is a short interruption during which you cannot connect to the security group. SecurityGroupIngress() interface{} SetSecurityGroupIngress(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the security group. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC for the security group. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::SecurityGroup`.
Specifies a security group. To create a security group, use the [VpcId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-vpcid) property to specify the VPC for which to create the security group.
If you do not specify an egress rule, we add egress rules that allow IPv4 and IPv6 traffic on all ports and protocols to any destination. We do not add these rules if you specify your own egress rules. If you later remove your egress rules, we restore the default egress rules.
This type supports updates. For more information about updating stacks, see [AWS CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) .
> To cross-reference two security groups in the ingress and egress rules of those security groups, use the [AWS::EC2::SecurityGroupEgress](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html) and [AWS::EC2::SecurityGroupIngress](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-ingress.html) resources to define your rules. Do not use the embedded ingress and egress rules in the `AWS::EC2::SecurityGroup` . Doing so creates a circular dependency, which AWS CloudFormation doesn't allow.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSecurityGroup := awscdk.Aws_ec2.NewCfnSecurityGroup(this, jsii.String("MyCfnSecurityGroup"), &CfnSecurityGroupProps{ GroupDescription: jsii.String("groupDescription"), // the properties below are optional GroupName: jsii.String("groupName"), SecurityGroupEgress: []interface{}{ &EgressProperty{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), DestinationSecurityGroupId: jsii.String("destinationSecurityGroupId"), FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }, SecurityGroupIngress: []interface{}{ &IngressProperty{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), FromPort: jsii.Number(123), SourcePrefixListId: jsii.String("sourcePrefixListId"), SourceSecurityGroupId: jsii.String("sourceSecurityGroupId"), SourceSecurityGroupName: jsii.String("sourceSecurityGroupName"), SourceSecurityGroupOwnerId: jsii.String("sourceSecurityGroupOwnerId"), ToPort: jsii.Number(123), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VpcId: jsii.String("vpcId"), })
func NewCfnSecurityGroup ¶
func NewCfnSecurityGroup(scope constructs.Construct, id *string, props *CfnSecurityGroupProps) CfnSecurityGroup
Create a new `AWS::EC2::SecurityGroup`.
type CfnSecurityGroupEgress ¶
type CfnSecurityGroupEgress interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The IPv4 address range, in CIDR format. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIp() *string SetCidrIp(val *string) // The IPv6 address range, in CIDR format. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIpv6() *string SetCidrIpv6(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description of an egress (outbound) security group rule. // // Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* Description() *string SetDescription(val *string) // The prefix list IDs for an AWS service. // // This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). DestinationPrefixListId() *string SetDestinationPrefixListId(val *string) // The ID of the security group. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). DestinationSecurityGroupId() *string SetDestinationSecurityGroupId(val *string) // If the protocol is TCP or UDP, this is the start of the port range. // // If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. FromPort() *float64 SetFromPort(val *float64) // The ID of the security group. // // You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID. GroupId() *string SetGroupId(val *string) // The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ). // // Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed. IpProtocol() *string SetIpProtocol(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // If the protocol is TCP or UDP, this is the end of the port range. // // If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. ToPort() *float64 SetToPort(val *float64) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::SecurityGroupEgress`.
Adds the specified egress rules to a security group.
An outbound rule permits instances to send traffic to the specified destination IPv4 or IPv6 CIDR address ranges, or to the specified destination security groups for the same VPC.
You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.
You must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .
You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.
Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.
For more information about VPC security group limits, see [Amazon VPC Limits](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) .
Use `AWS::EC2::SecurityGroupIngress` and `AWS::EC2::SecurityGroupEgress` only when necessary, typically to allow security groups to reference each other in ingress and egress rules. Otherwise, use the embedded ingress and egress rules of the security group. For more information, see [Amazon EC2 Security Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSecurityGroupEgress := awscdk.Aws_ec2.NewCfnSecurityGroupEgress(this, jsii.String("MyCfnSecurityGroupEgress"), &CfnSecurityGroupEgressProps{ GroupId: jsii.String("groupId"), IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), DestinationSecurityGroupId: jsii.String("destinationSecurityGroupId"), FromPort: jsii.Number(123), ToPort: jsii.Number(123), })
func NewCfnSecurityGroupEgress ¶
func NewCfnSecurityGroupEgress(scope constructs.Construct, id *string, props *CfnSecurityGroupEgressProps) CfnSecurityGroupEgress
Create a new `AWS::EC2::SecurityGroupEgress`.
type CfnSecurityGroupEgressProps ¶
type CfnSecurityGroupEgressProps struct { // The ID of the security group. // // You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID. GroupId *string `field:"required" json:"groupId" yaml:"groupId"` // The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ). // // Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed. IpProtocol *string `field:"required" json:"ipProtocol" yaml:"ipProtocol"` // The IPv4 address range, in CIDR format. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIp *string `field:"optional" json:"cidrIp" yaml:"cidrIp"` // The IPv6 address range, in CIDR format. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIpv6 *string `field:"optional" json:"cidrIpv6" yaml:"cidrIpv6"` // The description of an egress (outbound) security group rule. // // Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* Description *string `field:"optional" json:"description" yaml:"description"` // The prefix list IDs for an AWS service. // // This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). DestinationPrefixListId *string `field:"optional" json:"destinationPrefixListId" yaml:"destinationPrefixListId"` // The ID of the security group. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). DestinationSecurityGroupId *string `field:"optional" json:"destinationSecurityGroupId" yaml:"destinationSecurityGroupId"` // If the protocol is TCP or UDP, this is the start of the port range. // // If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. FromPort *float64 `field:"optional" json:"fromPort" yaml:"fromPort"` // If the protocol is TCP or UDP, this is the end of the port range. // // If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. ToPort *float64 `field:"optional" json:"toPort" yaml:"toPort"` }
Properties for defining a `CfnSecurityGroupEgress`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSecurityGroupEgressProps := &CfnSecurityGroupEgressProps{ GroupId: jsii.String("groupId"), IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), DestinationSecurityGroupId: jsii.String("destinationSecurityGroupId"), FromPort: jsii.Number(123), ToPort: jsii.Number(123), }
type CfnSecurityGroupIngress ¶
type CfnSecurityGroupIngress interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The IPv4 address range, in CIDR format. // // You must specify a source security group ( `SourcePrefixListId` or `SourceSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIp() *string SetCidrIp(val *string) // The IPv6 address range, in CIDR format. // // You must specify a source security group ( `SourcePrefixListId` or `SourceSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIpv6() *string SetCidrIpv6(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Updates the description of an ingress (inbound) security group rule. // // You can replace an existing description, or add a description to a rule that did not have one previously. // // Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* Description() *string SetDescription(val *string) // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. // // A value of `-1` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. // // Use this for ICMP and any protocol that uses ports. FromPort() *float64 SetFromPort(val *float64) // The ID of the security group. GroupId() *string SetGroupId(val *string) // The name of the security group. // // Constraints: Up to 255 characters in length. Cannot start with `sg-` . // // Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* GroupName() *string SetGroupName(val *string) // The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ). // // Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed. IpProtocol() *string SetIpProtocol(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of a prefix list. SourcePrefixListId() *string SetSourcePrefixListId(val *string) // The ID of the security group. // // You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID. SourceSecurityGroupId() *string SetSourceSecurityGroupId(val *string) // [Default VPC] The name of the source security group. // // You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. // // For security groups in a nondefault VPC, you must specify the group ID. SourceSecurityGroupName() *string SetSourceSecurityGroupName(val *string) // [nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. // // You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. // // If you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify `SourceSecurityGroupOwnerId` ; otherwise, this property is optional. SourceSecurityGroupOwnerId() *string SetSourceSecurityGroupOwnerId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. // // A value of `-1` indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes. // // Use this for ICMP and any protocol that uses ports. ToPort() *float64 SetToPort(val *float64) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::SecurityGroupIngress`.
Adds an inbound rule to a security group.
An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or from the instances associated with the specified security group.
You must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , `SourceSecurityGroupId` , or `SourceSecurityGroupName` .
You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify a port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.
You must specify a source security group ( `SourcePrefixListId` , `SourceSecurityGroupId` , or `SourceSecurityGroupName` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.
Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSecurityGroupIngress := awscdk.Aws_ec2.NewCfnSecurityGroupIngress(this, jsii.String("MyCfnSecurityGroupIngress"), &CfnSecurityGroupIngressProps{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), FromPort: jsii.Number(123), GroupId: jsii.String("groupId"), GroupName: jsii.String("groupName"), SourcePrefixListId: jsii.String("sourcePrefixListId"), SourceSecurityGroupId: jsii.String("sourceSecurityGroupId"), SourceSecurityGroupName: jsii.String("sourceSecurityGroupName"), SourceSecurityGroupOwnerId: jsii.String("sourceSecurityGroupOwnerId"), ToPort: jsii.Number(123), })
func NewCfnSecurityGroupIngress ¶
func NewCfnSecurityGroupIngress(scope constructs.Construct, id *string, props *CfnSecurityGroupIngressProps) CfnSecurityGroupIngress
Create a new `AWS::EC2::SecurityGroupIngress`.
type CfnSecurityGroupIngressProps ¶
type CfnSecurityGroupIngressProps struct { // The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ). // // Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed. IpProtocol *string `field:"required" json:"ipProtocol" yaml:"ipProtocol"` // The IPv4 address range, in CIDR format. // // You must specify a source security group ( `SourcePrefixListId` or `SourceSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIp *string `field:"optional" json:"cidrIp" yaml:"cidrIp"` // The IPv6 address range, in CIDR format. // // You must specify a source security group ( `SourcePrefixListId` or `SourceSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIpv6 *string `field:"optional" json:"cidrIpv6" yaml:"cidrIpv6"` // Updates the description of an ingress (inbound) security group rule. // // You can replace an existing description, or add a description to a rule that did not have one previously. // // Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* Description *string `field:"optional" json:"description" yaml:"description"` // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. // // A value of `-1` indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. // // Use this for ICMP and any protocol that uses ports. FromPort *float64 `field:"optional" json:"fromPort" yaml:"fromPort"` // The ID of the security group. GroupId *string `field:"optional" json:"groupId" yaml:"groupId"` // The name of the security group. // // Constraints: Up to 255 characters in length. Cannot start with `sg-` . // // Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* GroupName *string `field:"optional" json:"groupName" yaml:"groupName"` // The ID of a prefix list. SourcePrefixListId *string `field:"optional" json:"sourcePrefixListId" yaml:"sourcePrefixListId"` // The ID of the security group. // // You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID. SourceSecurityGroupId *string `field:"optional" json:"sourceSecurityGroupId" yaml:"sourceSecurityGroupId"` // [Default VPC] The name of the source security group. // // You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. // // For security groups in a nondefault VPC, you must specify the group ID. SourceSecurityGroupName *string `field:"optional" json:"sourceSecurityGroupName" yaml:"sourceSecurityGroupName"` // [nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. // // You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. // // If you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify `SourceSecurityGroupOwnerId` ; otherwise, this property is optional. SourceSecurityGroupOwnerId *string `field:"optional" json:"sourceSecurityGroupOwnerId" yaml:"sourceSecurityGroupOwnerId"` // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. // // A value of `-1` indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes. // // Use this for ICMP and any protocol that uses ports. ToPort *float64 `field:"optional" json:"toPort" yaml:"toPort"` }
Properties for defining a `CfnSecurityGroupIngress`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSecurityGroupIngressProps := &CfnSecurityGroupIngressProps{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), FromPort: jsii.Number(123), GroupId: jsii.String("groupId"), GroupName: jsii.String("groupName"), SourcePrefixListId: jsii.String("sourcePrefixListId"), SourceSecurityGroupId: jsii.String("sourceSecurityGroupId"), SourceSecurityGroupName: jsii.String("sourceSecurityGroupName"), SourceSecurityGroupOwnerId: jsii.String("sourceSecurityGroupOwnerId"), ToPort: jsii.Number(123), }
type CfnSecurityGroupProps ¶
type CfnSecurityGroupProps struct { // A description for the security group. // // Constraints: Up to 255 characters in length // // Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* GroupDescription *string `field:"required" json:"groupDescription" yaml:"groupDescription"` // The name of the security group. // // Constraints: Up to 255 characters in length. Cannot start with `sg-` . // // Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* GroupName *string `field:"optional" json:"groupName" yaml:"groupName"` // The outbound rules associated with the security group. // // There is a short interruption during which you cannot connect to the security group. SecurityGroupEgress interface{} `field:"optional" json:"securityGroupEgress" yaml:"securityGroupEgress"` // The inbound rules associated with the security group. // // There is a short interruption during which you cannot connect to the security group. SecurityGroupIngress interface{} `field:"optional" json:"securityGroupIngress" yaml:"securityGroupIngress"` // Any tags assigned to the security group. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The ID of the VPC for the security group. VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"` }
Properties for defining a `CfnSecurityGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSecurityGroupProps := &CfnSecurityGroupProps{ GroupDescription: jsii.String("groupDescription"), // the properties below are optional GroupName: jsii.String("groupName"), SecurityGroupEgress: []interface{}{ &EgressProperty{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), DestinationSecurityGroupId: jsii.String("destinationSecurityGroupId"), FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }, SecurityGroupIngress: []interface{}{ &IngressProperty{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), FromPort: jsii.Number(123), SourcePrefixListId: jsii.String("sourcePrefixListId"), SourceSecurityGroupId: jsii.String("sourceSecurityGroupId"), SourceSecurityGroupName: jsii.String("sourceSecurityGroupName"), SourceSecurityGroupOwnerId: jsii.String("sourceSecurityGroupOwnerId"), ToPort: jsii.Number(123), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VpcId: jsii.String("vpcId"), }
type CfnSecurityGroup_EgressProperty ¶
type CfnSecurityGroup_EgressProperty struct { // The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ). // // Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed. IpProtocol *string `field:"required" json:"ipProtocol" yaml:"ipProtocol"` // The IPv4 address range, in CIDR format. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIp *string `field:"optional" json:"cidrIp" yaml:"cidrIp"` // The IPv6 address range, in CIDR format. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIpv6 *string `field:"optional" json:"cidrIpv6" yaml:"cidrIpv6"` // A description for the security group rule. // // Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* Description *string `field:"optional" json:"description" yaml:"description"` // The prefix list IDs for the destination AWS service. // // This is the AWS service that you want to access through a VPC endpoint from instances associated with the security group. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). DestinationPrefixListId *string `field:"optional" json:"destinationPrefixListId" yaml:"destinationPrefixListId"` // The ID of the destination VPC security group. // // You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). DestinationSecurityGroupId *string `field:"optional" json:"destinationSecurityGroupId" yaml:"destinationSecurityGroupId"` // If the protocol is TCP or UDP, this is the start of the port range. // // If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. FromPort *float64 `field:"optional" json:"fromPort" yaml:"fromPort"` // If the protocol is TCP or UDP, this is the end of the port range. // // If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. ToPort *float64 `field:"optional" json:"toPort" yaml:"toPort"` }
Adds the specified egress rules to a security group for use with a VPC.
An outbound rule permits instances to send traffic to the specified destination IPv4 or IPv6 CIDR address ranges, or to the specified destination security groups for the same VPC.
You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.
You must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `DestinationPrefixListId` , or `DestinationSecurityGroupId` .
You must specify a destination security group ( `DestinationPrefixListId` or `DestinationSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.
Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.
For more information about VPC security group limits, see [Amazon VPC Limits](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) .
Use `SecurityGroup.Ingress` and `SecurityGroup.Egress` only when necessary, typically to allow security groups to reference each other in ingress and egress rules. Otherwise, use the embedded ingress and egress rules of the security group. For more information, see [Amazon EC2 Security Groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) .
The EC2 Security Group Rule is an embedded property of the `AWS::EC2::SecurityGroup` type.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" egressProperty := &EgressProperty{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), DestinationPrefixListId: jsii.String("destinationPrefixListId"), DestinationSecurityGroupId: jsii.String("destinationSecurityGroupId"), FromPort: jsii.Number(123), ToPort: jsii.Number(123), }
type CfnSecurityGroup_IngressProperty ¶
type CfnSecurityGroup_IngressProperty struct { // The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ). // // Use `-1` to specify all protocols. When authorizing security group rules, specifying `-1` or a protocol number other than `tcp` , `udp` , `icmp` , or `icmpv6` allows traffic on all ports, regardless of any port range you specify. For `tcp` , `udp` , and `icmp` , you must specify a port range. For `icmpv6` , the port range is optional; if you omit the port range, traffic for all types and codes is allowed. IpProtocol *string `field:"required" json:"ipProtocol" yaml:"ipProtocol"` // The IPv4 address range, in CIDR format. // // You must specify a source security group ( `SourcePrefixListId` or `SourceSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIp *string `field:"optional" json:"cidrIp" yaml:"cidrIp"` // The IPv6 address range, in CIDR format. // // You must specify a source security group ( `SourcePrefixListId` or `SourceSecurityGroupId` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). // // For examples of rules that you can add to security groups for specific access scenarios, see [Security group rules for different use cases](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html) in the *Amazon EC2 User Guide* . CidrIpv6 *string `field:"optional" json:"cidrIpv6" yaml:"cidrIpv6"` // Updates the description of an ingress (inbound) security group rule. // // You can replace an existing description, or add a description to a rule that did not have one previously. // // Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* Description *string `field:"optional" json:"description" yaml:"description"` // If the protocol is TCP or UDP, this is the start of the port range. // // If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. FromPort *float64 `field:"optional" json:"fromPort" yaml:"fromPort"` // The ID of a prefix list. SourcePrefixListId *string `field:"optional" json:"sourcePrefixListId" yaml:"sourcePrefixListId"` // The ID of the security group. // // You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID. SourceSecurityGroupId *string `field:"optional" json:"sourceSecurityGroupId" yaml:"sourceSecurityGroupId"` // [Default VPC] The name of the source security group. // // You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. // // For security groups in a nondefault VPC, you must specify the group ID. SourceSecurityGroupName *string `field:"optional" json:"sourceSecurityGroupName" yaml:"sourceSecurityGroupName"` // [nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. // // You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access. // // If you specify `SourceSecurityGroupName` or `SourceSecurityGroupId` and that security group is owned by a different account than the account creating the stack, you must specify the `SourceSecurityGroupOwnerId` ; otherwise, this property is optional. SourceSecurityGroupOwnerId *string `field:"optional" json:"sourceSecurityGroupOwnerId" yaml:"sourceSecurityGroupOwnerId"` // If the protocol is TCP or UDP, this is the end of the port range. // // If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes. ToPort *float64 `field:"optional" json:"toPort" yaml:"toPort"` }
Adds an inbound rule to a security group.
An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or from the instances associated with the specified security group.
You must specify only one of the following properties: `CidrIp` , `CidrIpv6` , `SourcePrefixListId` , `SourceSecurityGroupId` , or `SourceSecurityGroupName` .
You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify a port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.
You must specify a source security group ( `SourcePrefixListId` , `SourceSecurityGroupId` , or `SourceSecurityGroupName` ) or a CIDR range ( `CidrIp` or `CidrIpv6` ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.
Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.
The EC2 Security Group Rule is an embedded property of the `AWS::EC2::SecurityGroup` type.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ingressProperty := &IngressProperty{ IpProtocol: jsii.String("ipProtocol"), // the properties below are optional CidrIp: jsii.String("cidrIp"), CidrIpv6: jsii.String("cidrIpv6"), Description: jsii.String("description"), FromPort: jsii.Number(123), SourcePrefixListId: jsii.String("sourcePrefixListId"), SourceSecurityGroupId: jsii.String("sourceSecurityGroupId"), SourceSecurityGroupName: jsii.String("sourceSecurityGroupName"), SourceSecurityGroupOwnerId: jsii.String("sourceSecurityGroupOwnerId"), ToPort: jsii.Number(123), }
type CfnSpotFleet ¶
type CfnSpotFleet interface { awscdk.CfnResource awscdk.IInspectable // The ID of the Spot Fleet. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Describes the configuration of a Spot Fleet request. SpotFleetRequestConfigData() interface{} SetSpotFleetRequestConfigData(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::SpotFleet`.
Specifies a Spot Fleet request.
The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.
You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.
By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.
Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.
You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the `spot-fleet-request` and `instance` resource types are supported.
For more information, see [Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html) in the *Amazon EC2 User Guide for Linux Instances* .
> We strongly discourage using the RequestSpotFleet API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see [Which is the best Spot request method to use?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) in the *Amazon EC2 User Guide for Linux Instances* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSpotFleet := awscdk.Aws_ec2.NewCfnSpotFleet(this, jsii.String("MyCfnSpotFleet"), &CfnSpotFleetProps{ SpotFleetRequestConfigData: &SpotFleetRequestConfigDataProperty{ IamFleetRole: jsii.String("iamFleetRole"), TargetCapacity: jsii.Number(123), // the properties below are optional AllocationStrategy: jsii.String("allocationStrategy"), Context: jsii.String("context"), ExcessCapacityTerminationPolicy: jsii.String("excessCapacityTerminationPolicy"), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), InstancePoolsToUseCount: jsii.Number(123), LaunchSpecifications: []interface{}{ &SpotFleetLaunchSpecificationProperty{ ImageId: jsii.String("imageId"), // the properties below are optional BlockDeviceMappings: []interface{}{ &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsBlockDeviceProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: jsii.String("noDevice"), VirtualName: jsii.String("virtualName"), }, }, EbsOptimized: jsii.Boolean(false), IamInstanceProfile: &IamInstanceProfileSpecificationProperty{ Arn: jsii.String("arn"), }, InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), KernelId: jsii.String("kernelId"), KeyName: jsii.String("keyName"), Monitoring: &SpotFleetMonitoringProperty{ Enabled: jsii.Boolean(false), }, NetworkInterfaces: []interface{}{ &InstanceNetworkInterfaceSpecificationProperty{ AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), DeviceIndex: jsii.Number(123), Groups: []*string{ jsii.String("groups"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ PrivateIpAddress: jsii.String("privateIpAddress"), // the properties below are optional Primary: jsii.Boolean(false), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }, }, Placement: &SpotPlacementProperty{ AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), Tenancy: jsii.String("tenancy"), }, RamdiskId: jsii.String("ramdiskId"), SecurityGroups: []interface{}{ &GroupIdentifierProperty{ GroupId: jsii.String("groupId"), }, }, SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), TagSpecifications: []interface{}{ &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, UserData: jsii.String("userData"), WeightedCapacity: jsii.Number(123), }, }, LaunchTemplateConfigs: []interface{}{ &LaunchTemplateConfigProperty{ LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, Overrides: []interface{}{ &LaunchTemplateOverridesProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }, }, }, }, LoadBalancersConfig: &LoadBalancersConfigProperty{ ClassicLoadBalancersConfig: &ClassicLoadBalancersConfigProperty{ ClassicLoadBalancers: []interface{}{ &ClassicLoadBalancerProperty{ Name: jsii.String("name"), }, }, }, TargetGroupsConfig: &TargetGroupsConfigProperty{ TargetGroups: []interface{}{ &TargetGroupProperty{ Arn: jsii.String("arn"), }, }, }, }, OnDemandAllocationStrategy: jsii.String("onDemandAllocationStrategy"), OnDemandMaxTotalPrice: jsii.String("onDemandMaxTotalPrice"), OnDemandTargetCapacity: jsii.Number(123), ReplaceUnhealthyInstances: jsii.Boolean(false), SpotMaintenanceStrategies: &SpotMaintenanceStrategiesProperty{ CapacityRebalance: &SpotCapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }, SpotMaxTotalPrice: jsii.String("spotMaxTotalPrice"), SpotPrice: jsii.String("spotPrice"), TagSpecifications: []interface{}{ &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []*cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, TargetCapacityUnitType: jsii.String("targetCapacityUnitType"), TerminateInstancesWithExpiration: jsii.Boolean(false), Type: jsii.String("type"), ValidFrom: jsii.String("validFrom"), ValidUntil: jsii.String("validUntil"), }, })
func NewCfnSpotFleet ¶
func NewCfnSpotFleet(scope constructs.Construct, id *string, props *CfnSpotFleetProps) CfnSpotFleet
Create a new `AWS::EC2::SpotFleet`.
type CfnSpotFleetProps ¶
type CfnSpotFleetProps struct {
// Describes the configuration of a Spot Fleet request.
SpotFleetRequestConfigData interface{} `field:"required" json:"spotFleetRequestConfigData" yaml:"spotFleetRequestConfigData"`
}
Properties for defining a `CfnSpotFleet`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSpotFleetProps := &CfnSpotFleetProps{ SpotFleetRequestConfigData: &SpotFleetRequestConfigDataProperty{ IamFleetRole: jsii.String("iamFleetRole"), TargetCapacity: jsii.Number(123), // the properties below are optional AllocationStrategy: jsii.String("allocationStrategy"), Context: jsii.String("context"), ExcessCapacityTerminationPolicy: jsii.String("excessCapacityTerminationPolicy"), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), InstancePoolsToUseCount: jsii.Number(123), LaunchSpecifications: []interface{}{ &SpotFleetLaunchSpecificationProperty{ ImageId: jsii.String("imageId"), // the properties below are optional BlockDeviceMappings: []interface{}{ &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsBlockDeviceProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: jsii.String("noDevice"), VirtualName: jsii.String("virtualName"), }, }, EbsOptimized: jsii.Boolean(false), IamInstanceProfile: &IamInstanceProfileSpecificationProperty{ Arn: jsii.String("arn"), }, InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), KernelId: jsii.String("kernelId"), KeyName: jsii.String("keyName"), Monitoring: &SpotFleetMonitoringProperty{ Enabled: jsii.Boolean(false), }, NetworkInterfaces: []interface{}{ &InstanceNetworkInterfaceSpecificationProperty{ AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), DeviceIndex: jsii.Number(123), Groups: []*string{ jsii.String("groups"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ PrivateIpAddress: jsii.String("privateIpAddress"), // the properties below are optional Primary: jsii.Boolean(false), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }, }, Placement: &SpotPlacementProperty{ AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), Tenancy: jsii.String("tenancy"), }, RamdiskId: jsii.String("ramdiskId"), SecurityGroups: []interface{}{ &GroupIdentifierProperty{ GroupId: jsii.String("groupId"), }, }, SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), TagSpecifications: []interface{}{ &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, UserData: jsii.String("userData"), WeightedCapacity: jsii.Number(123), }, }, LaunchTemplateConfigs: []interface{}{ &LaunchTemplateConfigProperty{ LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, Overrides: []interface{}{ &LaunchTemplateOverridesProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }, }, }, }, LoadBalancersConfig: &LoadBalancersConfigProperty{ ClassicLoadBalancersConfig: &ClassicLoadBalancersConfigProperty{ ClassicLoadBalancers: []interface{}{ &ClassicLoadBalancerProperty{ Name: jsii.String("name"), }, }, }, TargetGroupsConfig: &TargetGroupsConfigProperty{ TargetGroups: []interface{}{ &TargetGroupProperty{ Arn: jsii.String("arn"), }, }, }, }, OnDemandAllocationStrategy: jsii.String("onDemandAllocationStrategy"), OnDemandMaxTotalPrice: jsii.String("onDemandMaxTotalPrice"), OnDemandTargetCapacity: jsii.Number(123), ReplaceUnhealthyInstances: jsii.Boolean(false), SpotMaintenanceStrategies: &SpotMaintenanceStrategiesProperty{ CapacityRebalance: &SpotCapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }, SpotMaxTotalPrice: jsii.String("spotMaxTotalPrice"), SpotPrice: jsii.String("spotPrice"), TagSpecifications: []interface{}{ &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []*cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, TargetCapacityUnitType: jsii.String("targetCapacityUnitType"), TerminateInstancesWithExpiration: jsii.Boolean(false), Type: jsii.String("type"), ValidFrom: jsii.String("validFrom"), ValidUntil: jsii.String("validUntil"), }, }
type CfnSpotFleet_AcceleratorCountRequestProperty ¶
type CfnSpotFleet_AcceleratorCountRequestProperty struct { // The maximum number of accelerators. // // To specify no maximum limit, omit this parameter. To exclude accelerator-enabled instance types, set `Max` to `0` . Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of accelerators. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
To exclude accelerator-enabled instance types, set `Max` to `0` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" acceleratorCountRequestProperty := &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_AcceleratorTotalMemoryMiBRequestProperty ¶
type CfnSpotFleet_AcceleratorTotalMemoryMiBRequestProperty struct { // The maximum amount of accelerator memory, in MiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of accelerator memory, in MiB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of total accelerator memory, in MiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" acceleratorTotalMemoryMiBRequestProperty := &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_BaselineEbsBandwidthMbpsRequestProperty ¶
type CfnSpotFleet_BaselineEbsBandwidthMbpsRequestProperty struct { // The maximum baseline bandwidth, in Mbps. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum baseline bandwidth, in Mbps. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps.
For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" baselineEbsBandwidthMbpsRequestProperty := &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_BlockDeviceMappingProperty ¶
type CfnSpotFleet_BlockDeviceMappingProperty struct { // The device name (for example, `/dev/sdh` or `xvdh` ). DeviceName *string `field:"required" json:"deviceName" yaml:"deviceName"` // Parameters used to automatically set up EBS volumes when the instance is launched. Ebs interface{} `field:"optional" json:"ebs" yaml:"ebs"` // To omit the device from the block device mapping, specify an empty string. // // When this property is specified, the device is removed from the block device mapping regardless of the assigned value. NoDevice *string `field:"optional" json:"noDevice" yaml:"noDevice"` // The virtual device name ( `ephemeral` N). // // Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for `ephemeral0` and `ephemeral1` . The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume. // // NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect. // // Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI. VirtualName *string `field:"optional" json:"virtualName" yaml:"virtualName"` }
Specifies a block device mapping.
You can specify `Ebs` or `VirtualName` , but not both.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" blockDeviceMappingProperty := &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsBlockDeviceProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: jsii.String("noDevice"), VirtualName: jsii.String("virtualName"), }
type CfnSpotFleet_ClassicLoadBalancerProperty ¶
type CfnSpotFleet_ClassicLoadBalancerProperty struct { // The name of the load balancer. Name *string `field:"required" json:"name" yaml:"name"` }
Specifies a Classic Load Balancer.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" classicLoadBalancerProperty := &ClassicLoadBalancerProperty{ Name: jsii.String("name"), }
type CfnSpotFleet_ClassicLoadBalancersConfigProperty ¶
type CfnSpotFleet_ClassicLoadBalancersConfigProperty struct {
// One or more Classic Load Balancers.
ClassicLoadBalancers interface{} `field:"required" json:"classicLoadBalancers" yaml:"classicLoadBalancers"`
}
Specifies the Classic Load Balancers to attach to a Spot Fleet.
Spot Fleet registers the running Spot Instances with these Classic Load Balancers.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" classicLoadBalancersConfigProperty := &ClassicLoadBalancersConfigProperty{ ClassicLoadBalancers: []interface{}{ &ClassicLoadBalancerProperty{ Name: jsii.String("name"), }, }, }
type CfnSpotFleet_EbsBlockDeviceProperty ¶
type CfnSpotFleet_EbsBlockDeviceProperty struct { // Indicates whether the EBS volume is deleted on instance termination. // // For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* . DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. // // The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS Encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters) in the *Amazon EC2 User Guide* . // // In no case can you remove encryption from an encrypted volume. // // Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) . // // This parameter is not returned by [DescribeImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html) . Encrypted interface{} `field:"optional" json:"encrypted" yaml:"encrypted"` // The number of I/O operations per second (IOPS). // // For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. // // The following are the supported values for each volume type: // // - `gp3` : 3,000-16,000 IOPS // - `io1` : 100-64,000 IOPS // - `io2` : 100-64,000 IOPS // // For `io1` and `io2` volumes, we guarantee 64,000 IOPS only for [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families guarantee performance up to 32,000 IOPS. // // This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes. Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The ID of the snapshot. SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"` // The size of the volume, in GiBs. // // You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. // // The following are the supported volumes sizes for each volume type: // // - `gp2` and `gp3` :1-16,384 // - `io1` and `io2` : 4-16,384 // - `st1` and `sc1` : 125-16,384 // - `standard` : 1-1,024. VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"` // The volume type. // // For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon EC2 User Guide* . If the volume type is `io1` or `io2` , you must specify the IOPS that the volume supports. VolumeType *string `field:"optional" json:"volumeType" yaml:"volumeType"` }
Describes a block device for an EBS volume.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ebsBlockDeviceProperty := &EbsBlockDeviceProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }
type CfnSpotFleet_FleetLaunchTemplateSpecificationProperty ¶
type CfnSpotFleet_FleetLaunchTemplateSpecificationProperty struct { // The version number of the launch template. // // Specifying `$Latest` or `$Default` for the template version number is not supported. However, you can specify `LatestVersionNumber` or `DefaultVersionNumber` using the `Fn::GetAtt` intrinsic function. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt) . Version *string `field:"required" json:"version" yaml:"version"` // The ID of the launch template. // // You must specify the `LaunchTemplateId` or the `LaunchTemplateName` , but not both. LaunchTemplateId *string `field:"optional" json:"launchTemplateId" yaml:"launchTemplateId"` // The name of the launch template. // // You must specify the `LaunchTemplateName` or the `LaunchTemplateId` , but not both. LaunchTemplateName *string `field:"optional" json:"launchTemplateName" yaml:"launchTemplateName"` }
Specifies the launch template to be used by the Spot Fleet request for configuring Amazon EC2 instances.
You must specify the following:
- The ID or the name of the launch template, but not both. - The version of the launch template.
`FleetLaunchTemplateSpecification` is a property of the [AWS::EC2::SpotFleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html) resource.
For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) in the *Amazon EC2 User Guide* .
For examples of launch templates, see [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" fleetLaunchTemplateSpecificationProperty := &FleetLaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }
type CfnSpotFleet_GroupIdentifierProperty ¶
type CfnSpotFleet_GroupIdentifierProperty struct { // The ID of the security group. GroupId *string `field:"required" json:"groupId" yaml:"groupId"` }
Describes a security group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" groupIdentifierProperty := &GroupIdentifierProperty{ GroupId: jsii.String("groupId"), }
type CfnSpotFleet_IamInstanceProfileSpecificationProperty ¶
type CfnSpotFleet_IamInstanceProfileSpecificationProperty struct { // The Amazon Resource Name (ARN) of the instance profile. Arn *string `field:"optional" json:"arn" yaml:"arn"` }
Describes an IAM instance profile.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" iamInstanceProfileSpecificationProperty := &IamInstanceProfileSpecificationProperty{ Arn: jsii.String("arn"), }
type CfnSpotFleet_InstanceIpv6AddressProperty ¶
type CfnSpotFleet_InstanceIpv6AddressProperty struct { // The IPv6 address. Ipv6Address *string `field:"required" json:"ipv6Address" yaml:"ipv6Address"` }
Describes an IPv6 address.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceIpv6AddressProperty := &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }
type CfnSpotFleet_InstanceNetworkInterfaceSpecificationProperty ¶
type CfnSpotFleet_InstanceNetworkInterfaceSpecificationProperty struct { // Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. // // The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is `true` . AssociatePublicIpAddress interface{} `field:"optional" json:"associatePublicIpAddress" yaml:"associatePublicIpAddress"` // Indicates whether the network interface is deleted when the instance is terminated. DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // The description of the network interface. // // Applies only if creating a network interface when launching an instance. Description *string `field:"optional" json:"description" yaml:"description"` // The position of the network interface in the attachment order. // // A primary network interface has a device index of 0. // // If you specify a network interface when launching an instance, you must specify the device index. DeviceIndex *float64 `field:"optional" json:"deviceIndex" yaml:"deviceIndex"` // The IDs of the security groups for the network interface. // // Applies only if creating a network interface when launching an instance. Groups *[]*string `field:"optional" json:"groups" yaml:"groups"` // A number of IPv6 addresses to assign to the network interface. // // Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch. Ipv6AddressCount *float64 `field:"optional" json:"ipv6AddressCount" yaml:"ipv6AddressCount"` // The IPv6 addresses to assign to the network interface. // // You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch. Ipv6Addresses interface{} `field:"optional" json:"ipv6Addresses" yaml:"ipv6Addresses"` // The ID of the network interface. // // If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The private IPv4 addresses to assign to the network interface. // // Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) request. PrivateIpAddresses interface{} `field:"optional" json:"privateIpAddresses" yaml:"privateIpAddresses"` // The number of secondary private IPv4 addresses. // // You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) request. SecondaryPrivateIpAddressCount *float64 `field:"optional" json:"secondaryPrivateIpAddressCount" yaml:"secondaryPrivateIpAddressCount"` // The ID of the subnet associated with the network interface. // // Applies only if creating a network interface when launching an instance. SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` }
Describes a network interface.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceNetworkInterfaceSpecificationProperty := &InstanceNetworkInterfaceSpecificationProperty{ AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), DeviceIndex: jsii.Number(123), Groups: []*string{ jsii.String("groups"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ PrivateIpAddress: jsii.String("privateIpAddress"), // the properties below are optional Primary: jsii.Boolean(false), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }
type CfnSpotFleet_InstanceRequirementsRequestProperty ¶
type CfnSpotFleet_InstanceRequirementsRequestProperty struct { // The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance. // // To exclude accelerator-enabled instance types, set `Max` to `0` . // // Default: No minimum or maximum limits. AcceleratorCount interface{} `field:"optional" json:"acceleratorCount" yaml:"acceleratorCount"` // Indicates whether instance types must have accelerators by specific manufacturers. // // - For instance types with NVIDIA devices, specify `nvidia` . // - For instance types with AMD devices, specify `amd` . // - For instance types with AWS devices, specify `amazon-web-services` . // - For instance types with Xilinx devices, specify `xilinx` . // // Default: Any manufacturer. AcceleratorManufacturers *[]*string `field:"optional" json:"acceleratorManufacturers" yaml:"acceleratorManufacturers"` // The accelerators that must be on the instance type. // // - For instance types with NVIDIA A100 GPUs, specify `a100` . // - For instance types with NVIDIA V100 GPUs, specify `v100` . // - For instance types with NVIDIA K80 GPUs, specify `k80` . // - For instance types with NVIDIA T4 GPUs, specify `t4` . // - For instance types with NVIDIA M60 GPUs, specify `m60` . // - For instance types with AMD Radeon Pro V520 GPUs, specify `radeon-pro-v520` . // - For instance types with Xilinx VU9P FPGAs, specify `vu9p` . // - For instance types with AWS Inferentia chips, specify `inferentia` . // - For instance types with NVIDIA GRID K520 GPUs, specify `k520` . // // Default: Any accelerator. AcceleratorNames *[]*string `field:"optional" json:"acceleratorNames" yaml:"acceleratorNames"` // The minimum and maximum amount of total accelerator memory, in MiB. // // Default: No minimum or maximum limits. AcceleratorTotalMemoryMiB interface{} `field:"optional" json:"acceleratorTotalMemoryMiB" yaml:"acceleratorTotalMemoryMiB"` // The accelerator types that must be on the instance type. // // - To include instance types with GPU hardware, specify `gpu` . // - To include instance types with FPGA hardware, specify `fpga` . // - To include instance types with inference hardware, specify `inference` . // // Default: Any accelerator type. AcceleratorTypes *[]*string `field:"optional" json:"acceleratorTypes" yaml:"acceleratorTypes"` // The instance types to apply your specified attributes against. // // All other instance types are ignored, even if they match your specified attributes. // // You can use strings with one or more wild cards, represented by an asterisk ( `*` ), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` . // // For example, if you specify `c5*` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. // // > If you specify `AllowedInstanceTypes` , you can't specify `ExcludedInstanceTypes` . // // Default: All instance types. AllowedInstanceTypes *[]*string `field:"optional" json:"allowedInstanceTypes" yaml:"allowedInstanceTypes"` // Indicates whether bare metal instance types must be included, excluded, or required. // // - To include bare metal instance types, specify `included` . // - To require only bare metal instance types, specify `required` . // - To exclude bare metal instance types, specify `excluded` . // // Default: `excluded`. BareMetal *string `field:"optional" json:"bareMetal" yaml:"bareMetal"` // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. // // For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* . // // Default: No minimum or maximum limits. BaselineEbsBandwidthMbps interface{} `field:"optional" json:"baselineEbsBandwidthMbps" yaml:"baselineEbsBandwidthMbps"` // Indicates whether burstable performance T instance types are included, excluded, or required. // // For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . // - To require only burstable performance instance types, specify `required` . // - To exclude burstable performance instance types, specify `excluded` . // // Default: `excluded`. BurstablePerformance *string `field:"optional" json:"burstablePerformance" yaml:"burstablePerformance"` // The CPU manufacturers to include. // // - For instance types with Intel CPUs, specify `intel` . // - For instance types with AMD CPUs, specify `amd` . // - For instance types with AWS CPUs, specify `amazon-web-services` . // // > Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. // // Default: Any manufacturer. CpuManufacturers *[]*string `field:"optional" json:"cpuManufacturers" yaml:"cpuManufacturers"` // The instance types to exclude. // // You can use strings with one or more wild cards, represented by an asterisk ( `*` ), to exclude an instance family, type, size, or generation. The following are examples: `m5.8xlarge` , `c5*.*` , `m5a.*` , `r*` , `*3*` . // // For example, if you specify `c5*` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. // // > If you specify `ExcludedInstanceTypes` , you can't specify `AllowedInstanceTypes` . // // Default: No excluded instance types. ExcludedInstanceTypes *[]*string `field:"optional" json:"excludedInstanceTypes" yaml:"excludedInstanceTypes"` // Indicates whether current or previous generation instance types are included. // // The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide* . // // For current generation instance types, specify `current` . // // For previous generation instance types, specify `previous` . // // Default: Current and previous generation instance types. InstanceGenerations *[]*string `field:"optional" json:"instanceGenerations" yaml:"instanceGenerations"` // Indicates whether instance types with instance store volumes are included, excluded, or required. // // For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide* . // // - To include instance types with instance store volumes, specify `included` . // - To require only instance types with instance store volumes, specify `required` . // - To exclude instance types with instance store volumes, specify `excluded` . // // Default: `included`. LocalStorage *string `field:"optional" json:"localStorage" yaml:"localStorage"` // The type of local storage that is required. // // - For instance types with hard disk drive (HDD) storage, specify `hdd` . // - For instance types with solid state drive (SSD) storage, specify `ssd` . // // Default: `hdd` and `ssd`. LocalStorageTypes *[]*string `field:"optional" json:"localStorageTypes" yaml:"localStorageTypes"` // The minimum and maximum amount of memory per vCPU, in GiB. // // Default: No minimum or maximum limits. MemoryGiBPerVCpu interface{} `field:"optional" json:"memoryGiBPerVCpu" yaml:"memoryGiBPerVCpu"` // The minimum and maximum amount of memory, in MiB. MemoryMiB interface{} `field:"optional" json:"memoryMiB" yaml:"memoryMiB"` // The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). // // Default: No minimum or maximum limits. NetworkBandwidthGbps interface{} `field:"optional" json:"networkBandwidthGbps" yaml:"networkBandwidthGbps"` // The minimum and maximum number of network interfaces. // // Default: No minimum or maximum limits. NetworkInterfaceCount interface{} `field:"optional" json:"networkInterfaceCount" yaml:"networkInterfaceCount"` // The price protection threshold for On-Demand Instances. // // This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // // To turn off price protection, specify a high value, such as `999999` . // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) . // // > If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. // // Default: `20`. OnDemandMaxPricePercentageOverLowestPrice *float64 `field:"optional" json:"onDemandMaxPricePercentageOverLowestPrice" yaml:"onDemandMaxPricePercentageOverLowestPrice"` // Indicates whether instance types must support hibernation for On-Demand Instances. // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) . // // Default: `false`. RequireHibernateSupport interface{} `field:"optional" json:"requireHibernateSupport" yaml:"requireHibernateSupport"` // The price protection threshold for Spot Instance. // // This is the maximum you’ll pay for an Spot Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above your threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // // To turn off price protection, specify a high value, such as `999999` . // // This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html) . // // > If you set `TargetCapacityUnitType` to `vcpu` or `memory-mib` , the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price. // // Default: `100`. SpotMaxPricePercentageOverLowestPrice *float64 `field:"optional" json:"spotMaxPricePercentageOverLowestPrice" yaml:"spotMaxPricePercentageOverLowestPrice"` // The minimum and maximum amount of total local storage, in GB. // // Default: No minimum or maximum limits. TotalLocalStorageGb interface{} `field:"optional" json:"totalLocalStorageGb" yaml:"totalLocalStorageGb"` // The minimum and maximum number of vCPUs. VCpuCount interface{} `field:"optional" json:"vCpuCount" yaml:"vCpuCount"` }
The attributes for the instance types.
When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.
When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.
To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:
- `AllowedInstanceTypes` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes. - `ExcludedInstanceTypes` - The instance types to exclude from the list, even if they match your specified attributes.
> You must specify `VCpuCount` and `MemoryMiB` . All other attributes are optional. Any unspecified optional attribute is set to its default.
For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) , [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html) , and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceRequirementsRequestProperty := &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }
type CfnSpotFleet_LaunchTemplateConfigProperty ¶
type CfnSpotFleet_LaunchTemplateConfigProperty struct { // The launch template to use. // // Make sure that the launch template does not contain the `NetworkInterfaceId` parameter because you can't specify a network interface ID in a Spot Fleet. LaunchTemplateSpecification interface{} `field:"optional" json:"launchTemplateSpecification" yaml:"launchTemplateSpecification"` // Any parameters that you specify override the same parameters in the launch template. Overrides interface{} `field:"optional" json:"overrides" yaml:"overrides"` }
Specifies a launch template and overrides.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateConfigProperty := &LaunchTemplateConfigProperty{ LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, Overrides: []interface{}{ &LaunchTemplateOverridesProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }, }, }
type CfnSpotFleet_LaunchTemplateOverridesProperty ¶
type CfnSpotFleet_LaunchTemplateOverridesProperty struct { // The Availability Zone in which to launch the instances. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The instance requirements. // // When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types. // // > If you specify `InstanceRequirements` , you can't specify `InstanceType` . InstanceRequirements interface{} `field:"optional" json:"instanceRequirements" yaml:"instanceRequirements"` // The instance type. InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"` // The priority for the launch template override. The highest priority is launched first. // // If `OnDemandAllocationStrategy` is set to `prioritized` , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. // // If the Spot `AllocationStrategy` is set to `capacityOptimizedPrioritized` , Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first. // // Valid values are whole numbers starting at `0` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides. Priority *float64 `field:"optional" json:"priority" yaml:"priority"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. // // We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. // // > If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter. SpotPrice *string `field:"optional" json:"spotPrice" yaml:"spotPrice"` // The ID of the subnet in which to launch the instances. SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` // The number of units provided by the specified instance type. WeightedCapacity *float64 `field:"optional" json:"weightedCapacity" yaml:"weightedCapacity"` }
Specifies overrides for a launch template.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateOverridesProperty := &LaunchTemplateOverridesProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }
type CfnSpotFleet_LoadBalancersConfigProperty ¶
type CfnSpotFleet_LoadBalancersConfigProperty struct { // The Classic Load Balancers. ClassicLoadBalancersConfig interface{} `field:"optional" json:"classicLoadBalancersConfig" yaml:"classicLoadBalancersConfig"` // The target groups. TargetGroupsConfig interface{} `field:"optional" json:"targetGroupsConfig" yaml:"targetGroupsConfig"` }
Specifies the Classic Load Balancers and target groups to attach to a Spot Fleet request.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" loadBalancersConfigProperty := &LoadBalancersConfigProperty{ ClassicLoadBalancersConfig: &ClassicLoadBalancersConfigProperty{ ClassicLoadBalancers: []interface{}{ &ClassicLoadBalancerProperty{ Name: jsii.String("name"), }, }, }, TargetGroupsConfig: &TargetGroupsConfigProperty{ TargetGroups: []interface{}{ &TargetGroupProperty{ Arn: jsii.String("arn"), }, }, }, }
type CfnSpotFleet_MemoryGiBPerVCpuRequestProperty ¶
type CfnSpotFleet_MemoryGiBPerVCpuRequestProperty struct { // The maximum amount of memory per vCPU, in GiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of memory per vCPU, in GiB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of memory per vCPU, in GiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" memoryGiBPerVCpuRequestProperty := &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_MemoryMiBRequestProperty ¶
type CfnSpotFleet_MemoryMiBRequestProperty struct { // The maximum amount of memory, in MiB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of memory, in MiB. // // To specify no minimum limit, specify `0` . Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of memory, in MiB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" memoryMiBRequestProperty := &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_NetworkBandwidthGbpsRequestProperty ¶ added in v2.51.0
type CfnSpotFleet_NetworkBandwidthGbpsRequestProperty struct { // The maximum amount of network bandwidth, in Gbps. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of network bandwidth, in Gbps. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
Default: No minimum or maximum limits.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkBandwidthGbpsRequestProperty := &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_NetworkInterfaceCountRequestProperty ¶
type CfnSpotFleet_NetworkInterfaceCountRequestProperty struct { // The maximum number of network interfaces. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of network interfaces. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of network interfaces.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkInterfaceCountRequestProperty := &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_PrivateIpAddressSpecificationProperty ¶
type CfnSpotFleet_PrivateIpAddressSpecificationProperty struct { // The private IPv4 address. PrivateIpAddress *string `field:"required" json:"privateIpAddress" yaml:"privateIpAddress"` // Indicates whether the private IPv4 address is the primary private IPv4 address. // // Only one IPv4 address can be designated as primary. Primary interface{} `field:"optional" json:"primary" yaml:"primary"` }
Describes a secondary private IPv4 address for a network interface.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateIpAddressSpecificationProperty := &PrivateIpAddressSpecificationProperty{ PrivateIpAddress: jsii.String("privateIpAddress"), // the properties below are optional Primary: jsii.Boolean(false), }
type CfnSpotFleet_SpotCapacityRebalanceProperty ¶
type CfnSpotFleet_SpotCapacityRebalanceProperty struct { // The replacement strategy to use. Only available for fleets of type `maintain` . // // `launch` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running. // // `launch-before-terminate` - Spot Fleet launches a new replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in `TerminationDelay` ), terminates the instances that received a rebalance notification. ReplacementStrategy *string `field:"optional" json:"replacementStrategy" yaml:"replacementStrategy"` // The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance. // // Required when `ReplacementStrategy` is set to `launch-before-terminate` . // // Not valid when `ReplacementStrategy` is set to `launch` . // // Valid values: Minimum value of `120` seconds. Maximum value of `7200` seconds. TerminationDelay *float64 `field:"optional" json:"terminationDelay" yaml:"terminationDelay"` }
The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted.
For more information, see [Capacity rebalancing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) in the *Amazon EC2 User Guide for Linux Instances* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotCapacityRebalanceProperty := &SpotCapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }
type CfnSpotFleet_SpotFleetLaunchSpecificationProperty ¶
type CfnSpotFleet_SpotFleetLaunchSpecificationProperty struct { // The ID of the AMI. ImageId *string `field:"required" json:"imageId" yaml:"imageId"` // One or more block devices that are mapped to the Spot Instances. // // You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status. BlockDeviceMappings interface{} `field:"optional" json:"blockDeviceMappings" yaml:"blockDeviceMappings"` // Indicates whether the instances are optimized for EBS I/O. // // This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance. // // Default: `false`. EbsOptimized interface{} `field:"optional" json:"ebsOptimized" yaml:"ebsOptimized"` // The IAM instance profile. IamInstanceProfile interface{} `field:"optional" json:"iamInstanceProfile" yaml:"iamInstanceProfile"` // The attributes for the instance types. // // When you specify instance attributes, Amazon EC2 will identify instance types with those attributes. // // > If you specify `InstanceRequirements` , you can't specify `InstanceType` . InstanceRequirements interface{} `field:"optional" json:"instanceRequirements" yaml:"instanceRequirements"` // The instance type. InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"` // The ID of the kernel. KernelId *string `field:"optional" json:"kernelId" yaml:"kernelId"` // The name of the key pair. KeyName *string `field:"optional" json:"keyName" yaml:"keyName"` // Enable or disable monitoring for the instances. Monitoring interface{} `field:"optional" json:"monitoring" yaml:"monitoring"` // One or more network interfaces. // // If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface. // // > `SpotFleetLaunchSpecification` currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use [LaunchTemplateConfig](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html) . NetworkInterfaces interface{} `field:"optional" json:"networkInterfaces" yaml:"networkInterfaces"` // The placement information. Placement interface{} `field:"optional" json:"placement" yaml:"placement"` // The ID of the RAM disk. // // Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID. RamdiskId *string `field:"optional" json:"ramdiskId" yaml:"ramdiskId"` // The security groups. SecurityGroups interface{} `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. // // We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. // // > If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter. SpotPrice *string `field:"optional" json:"spotPrice" yaml:"spotPrice"` // The IDs of the subnets in which to launch the instances. // // To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2". SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"` // The tags to apply during creation. TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // The base64-encoded user data that instances use when starting up. // // User data is limited to 16 KB. UserData *string `field:"optional" json:"userData" yaml:"userData"` // The number of units provided by the specified instance type. // // These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O. // // If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1. WeightedCapacity *float64 `field:"optional" json:"weightedCapacity" yaml:"weightedCapacity"` }
Specifies the launch specification for one or more Spot Instances.
If you include On-Demand capacity in your fleet request, you can't use `SpotFleetLaunchSpecification` ; you must use [LaunchTemplateConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotFleetLaunchSpecificationProperty := &SpotFleetLaunchSpecificationProperty{ ImageId: jsii.String("imageId"), // the properties below are optional BlockDeviceMappings: []interface{}{ &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsBlockDeviceProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: jsii.String("noDevice"), VirtualName: jsii.String("virtualName"), }, }, EbsOptimized: jsii.Boolean(false), IamInstanceProfile: &IamInstanceProfileSpecificationProperty{ Arn: jsii.String("arn"), }, InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), KernelId: jsii.String("kernelId"), KeyName: jsii.String("keyName"), Monitoring: &SpotFleetMonitoringProperty{ Enabled: jsii.Boolean(false), }, NetworkInterfaces: []interface{}{ &InstanceNetworkInterfaceSpecificationProperty{ AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), DeviceIndex: jsii.Number(123), Groups: []*string{ jsii.String("groups"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ PrivateIpAddress: jsii.String("privateIpAddress"), // the properties below are optional Primary: jsii.Boolean(false), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }, }, Placement: &SpotPlacementProperty{ AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), Tenancy: jsii.String("tenancy"), }, RamdiskId: jsii.String("ramdiskId"), SecurityGroups: []interface{}{ &GroupIdentifierProperty{ GroupId: jsii.String("groupId"), }, }, SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), TagSpecifications: []interface{}{ &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, UserData: jsii.String("userData"), WeightedCapacity: jsii.Number(123), }
type CfnSpotFleet_SpotFleetMonitoringProperty ¶
type CfnSpotFleet_SpotFleetMonitoringProperty struct { // Enables monitoring for the instance. // // Default: `false`. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` }
Describes whether monitoring is enabled.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotFleetMonitoringProperty := &SpotFleetMonitoringProperty{ Enabled: jsii.Boolean(false), }
type CfnSpotFleet_SpotFleetRequestConfigDataProperty ¶
type CfnSpotFleet_SpotFleetRequestConfigDataProperty struct { // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. // // For more information, see [Spot Fleet Prerequisites](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) in the *Amazon EC2 User Guide for Linux Instances* . Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request or when the Spot Fleet request expires, if you set `TerminateInstancesWithExpiration` . IamFleetRole *string `field:"required" json:"iamFleetRole" yaml:"iamFleetRole"` // The number of units to request for the Spot Fleet. // // You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later. TargetCapacity *float64 `field:"required" json:"targetCapacity" yaml:"targetCapacity"` // The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. // // For more information, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html) in the *Amazon EC2 User Guide* . // // - **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools. // - **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use `capacityOptimizedPrioritized` . Set a priority for each instance type by using the `Priority` parameter for `LaunchTemplateOverrides` . You can assign the same priority to different `LaunchTemplateOverrides` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. `capacityOptimizedPrioritized` is supported only if your Spot Fleet uses a launch template. Note that if the `OnDemandAllocationStrategy` is set to `prioritized` , the same priority is applied when fulfilling On-Demand capacity. // - **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify. // - **lowestPrice** - Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates. // // Default: `lowestPrice`. AllocationStrategy *string `field:"optional" json:"allocationStrategy" yaml:"allocationStrategy"` // Reserved. Context *string `field:"optional" json:"context" yaml:"context"` // Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet. // // Supported only for fleets of type `maintain` . ExcessCapacityTerminationPolicy *string `field:"optional" json:"excessCapacityTerminationPolicy" yaml:"excessCapacityTerminationPolicy"` // The behavior when a Spot Instance is interrupted. // // The default is `terminate` . InstanceInterruptionBehavior *string `field:"optional" json:"instanceInterruptionBehavior" yaml:"instanceInterruptionBehavior"` // The number of Spot pools across which to allocate your target Spot capacity. // // Valid only when Spot *AllocationStrategy* is set to `lowest-price` . Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. // // Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a best effort basis. If a pool runs out of Spot capacity before fulfilling your target capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your target capacity is met, you might receive Spot Instances from more than the number of pools that you specified. Similarly, if most of the pools have no Spot capacity, you might receive your full target capacity from fewer than the number of pools that you specified. InstancePoolsToUseCount *float64 `field:"optional" json:"instancePoolsToUseCount" yaml:"instancePoolsToUseCount"` // The launch specifications for the Spot Fleet request. // // If you specify `LaunchSpecifications` , you can't specify `LaunchTemplateConfigs` . LaunchSpecifications interface{} `field:"optional" json:"launchSpecifications" yaml:"launchSpecifications"` // The launch template and overrides. // // If you specify `LaunchTemplateConfigs` , you can't specify `LaunchSpecifications` . LaunchTemplateConfigs interface{} `field:"optional" json:"launchTemplateConfigs" yaml:"launchTemplateConfigs"` // One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. // // Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups. // // With Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. LoadBalancersConfig interface{} `field:"optional" json:"loadBalancersConfig" yaml:"loadBalancersConfig"` // The order of the launch template overrides to use in fulfilling On-Demand capacity. // // If you specify `lowestPrice` , Spot Fleet uses price to determine the order, launching the lowest price first. If you specify `prioritized` , Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to `lowestPrice` . OnDemandAllocationStrategy *string `field:"optional" json:"onDemandAllocationStrategy" yaml:"onDemandAllocationStrategy"` // The maximum amount per hour for On-Demand Instances that you're willing to pay. // // You can use the `onDemandMaxTotalPrice` parameter, the `spotMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity. OnDemandMaxTotalPrice *string `field:"optional" json:"onDemandMaxTotalPrice" yaml:"onDemandMaxTotalPrice"` // The number of On-Demand units to request. // // You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is `maintain` , you can specify a target capacity of 0 and add capacity later. OnDemandTargetCapacity *float64 `field:"optional" json:"onDemandTargetCapacity" yaml:"onDemandTargetCapacity"` // Indicates whether Spot Fleet should replace unhealthy instances. ReplaceUnhealthyInstances interface{} `field:"optional" json:"replaceUnhealthyInstances" yaml:"replaceUnhealthyInstances"` // The strategies for managing your Spot Instances that are at an elevated risk of being interrupted. SpotMaintenanceStrategies interface{} `field:"optional" json:"spotMaintenanceStrategies" yaml:"spotMaintenanceStrategies"` // The maximum amount per hour for Spot Instances that you're willing to pay. // // You can use the `spotdMaxTotalPrice` parameter, the `onDemandMaxTotalPrice` parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity. SpotMaxTotalPrice *string `field:"optional" json:"spotMaxTotalPrice" yaml:"spotMaxTotalPrice"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. // // We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. // // > If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter. SpotPrice *string `field:"optional" json:"spotPrice" yaml:"spotPrice"` // The key-value pair for tagging the Spot Fleet request on creation. // // The value for `ResourceType` must be `spot-fleet-request` , otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the [launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template) (valid only if you use `LaunchTemplateConfigs` ) or in the `[SpotFleetTagSpecification](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)` (valid only if you use `LaunchSpecifications` ). For information about tagging after launch, see [Tagging Your Resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources) . TagSpecifications interface{} `field:"optional" json:"tagSpecifications" yaml:"tagSpecifications"` // The unit for the target capacity. `TargetCapacityUnitType` can only be specified when `InstanceRequirements` is specified. // // Default: `units` (translates to number of instances). TargetCapacityUnitType *string `field:"optional" json:"targetCapacityUnitType" yaml:"targetCapacityUnitType"` // Indicates whether running Spot Instances are terminated when the Spot Fleet request expires. TerminateInstancesWithExpiration interface{} `field:"optional" json:"terminateInstancesWithExpiration" yaml:"terminateInstancesWithExpiration"` // The type of request. // // Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is `request` , the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is `maintain` , the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: `maintain` . `instant` is listed but is not used by Spot Fleet. Type *string `field:"optional" json:"type" yaml:"type"` // The start date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). // // By default, Amazon EC2 starts fulfilling the request immediately. ValidFrom *string `field:"optional" json:"validFrom" yaml:"validFrom"` // The end date and time of the request, in UTC format ( *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z). // // After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it. ValidUntil *string `field:"optional" json:"validUntil" yaml:"validUntil"` }
Specifies the configuration of a Spot Fleet request.
For more information, see [Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html) in the *Amazon EC2 User Guide* .
You must specify either `LaunchSpecifications` or `LaunchTemplateConfigs` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotFleetRequestConfigDataProperty := &SpotFleetRequestConfigDataProperty{ IamFleetRole: jsii.String("iamFleetRole"), TargetCapacity: jsii.Number(123), // the properties below are optional AllocationStrategy: jsii.String("allocationStrategy"), Context: jsii.String("context"), ExcessCapacityTerminationPolicy: jsii.String("excessCapacityTerminationPolicy"), InstanceInterruptionBehavior: jsii.String("instanceInterruptionBehavior"), InstancePoolsToUseCount: jsii.Number(123), LaunchSpecifications: []interface{}{ &SpotFleetLaunchSpecificationProperty{ ImageId: jsii.String("imageId"), // the properties below are optional BlockDeviceMappings: []interface{}{ &BlockDeviceMappingProperty{ DeviceName: jsii.String("deviceName"), // the properties below are optional Ebs: &EbsBlockDeviceProperty{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: jsii.String("volumeType"), }, NoDevice: jsii.String("noDevice"), VirtualName: jsii.String("virtualName"), }, }, EbsOptimized: jsii.Boolean(false), IamInstanceProfile: &IamInstanceProfileSpecificationProperty{ Arn: jsii.String("arn"), }, InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), KernelId: jsii.String("kernelId"), KeyName: jsii.String("keyName"), Monitoring: &SpotFleetMonitoringProperty{ Enabled: jsii.Boolean(false), }, NetworkInterfaces: []interface{}{ &InstanceNetworkInterfaceSpecificationProperty{ AssociatePublicIpAddress: jsii.Boolean(false), DeleteOnTermination: jsii.Boolean(false), Description: jsii.String("description"), DeviceIndex: jsii.Number(123), Groups: []*string{ jsii.String("groups"), }, Ipv6AddressCount: jsii.Number(123), Ipv6Addresses: []interface{}{ &InstanceIpv6AddressProperty{ Ipv6Address: jsii.String("ipv6Address"), }, }, NetworkInterfaceId: jsii.String("networkInterfaceId"), PrivateIpAddresses: []interface{}{ &PrivateIpAddressSpecificationProperty{ PrivateIpAddress: jsii.String("privateIpAddress"), // the properties below are optional Primary: jsii.Boolean(false), }, }, SecondaryPrivateIpAddressCount: jsii.Number(123), SubnetId: jsii.String("subnetId"), }, }, Placement: &SpotPlacementProperty{ AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), Tenancy: jsii.String("tenancy"), }, RamdiskId: jsii.String("ramdiskId"), SecurityGroups: []interface{}{ &GroupIdentifierProperty{ GroupId: jsii.String("groupId"), }, }, SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), TagSpecifications: []interface{}{ &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, UserData: jsii.String("userData"), WeightedCapacity: jsii.Number(123), }, }, LaunchTemplateConfigs: []interface{}{ &LaunchTemplateConfigProperty{ LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationProperty{ Version: jsii.String("version"), // the properties below are optional LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), }, Overrides: []interface{}{ &LaunchTemplateOverridesProperty{ AvailabilityZone: jsii.String("availabilityZone"), InstanceRequirements: &InstanceRequirementsRequestProperty{ AcceleratorCount: &AcceleratorCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorManufacturers: []*string{ jsii.String("acceleratorManufacturers"), }, AcceleratorNames: []*string{ jsii.String("acceleratorNames"), }, AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, AcceleratorTypes: []*string{ jsii.String("acceleratorTypes"), }, AllowedInstanceTypes: []*string{ jsii.String("allowedInstanceTypes"), }, BareMetal: jsii.String("bareMetal"), BaselineEbsBandwidthMbps: &BaselineEbsBandwidthMbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, BurstablePerformance: jsii.String("burstablePerformance"), CpuManufacturers: []*string{ jsii.String("cpuManufacturers"), }, ExcludedInstanceTypes: []*string{ jsii.String("excludedInstanceTypes"), }, InstanceGenerations: []*string{ jsii.String("instanceGenerations"), }, LocalStorage: jsii.String("localStorage"), LocalStorageTypes: []*string{ jsii.String("localStorageTypes"), }, MemoryGiBPerVCpu: &MemoryGiBPerVCpuRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, MemoryMiB: &MemoryMiBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkBandwidthGbps: &NetworkBandwidthGbpsRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, NetworkInterfaceCount: &NetworkInterfaceCountRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, OnDemandMaxPricePercentageOverLowestPrice: jsii.Number(123), RequireHibernateSupport: jsii.Boolean(false), SpotMaxPricePercentageOverLowestPrice: jsii.Number(123), TotalLocalStorageGb: &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, VCpuCount: &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }, }, InstanceType: jsii.String("instanceType"), Priority: jsii.Number(123), SpotPrice: jsii.String("spotPrice"), SubnetId: jsii.String("subnetId"), WeightedCapacity: jsii.Number(123), }, }, }, }, LoadBalancersConfig: &LoadBalancersConfigProperty{ ClassicLoadBalancersConfig: &ClassicLoadBalancersConfigProperty{ ClassicLoadBalancers: []interface{}{ &ClassicLoadBalancerProperty{ Name: jsii.String("name"), }, }, }, TargetGroupsConfig: &TargetGroupsConfigProperty{ TargetGroups: []interface{}{ &TargetGroupProperty{ Arn: jsii.String("arn"), }, }, }, }, OnDemandAllocationStrategy: jsii.String("onDemandAllocationStrategy"), OnDemandMaxTotalPrice: jsii.String("onDemandMaxTotalPrice"), OnDemandTargetCapacity: jsii.Number(123), ReplaceUnhealthyInstances: jsii.Boolean(false), SpotMaintenanceStrategies: &SpotMaintenanceStrategiesProperty{ CapacityRebalance: &SpotCapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }, SpotMaxTotalPrice: jsii.String("spotMaxTotalPrice"), SpotPrice: jsii.String("spotPrice"), TagSpecifications: []interface{}{ &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []*cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }, }, TargetCapacityUnitType: jsii.String("targetCapacityUnitType"), TerminateInstancesWithExpiration: jsii.Boolean(false), Type: jsii.String("type"), ValidFrom: jsii.String("validFrom"), ValidUntil: jsii.String("validUntil"), }
type CfnSpotFleet_SpotFleetTagSpecificationProperty ¶
type CfnSpotFleet_SpotFleetTagSpecificationProperty struct { // The type of resource. // // Currently, the only resource type that is supported is `instance` . To tag the Spot Fleet request on creation, use the `TagSpecifications` parameter in `[SpotFleetRequestConfigData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html)` . ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // The tags. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
The tags for a Spot Fleet resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotFleetTagSpecificationProperty := &SpotFleetTagSpecificationProperty{ ResourceType: jsii.String("resourceType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnSpotFleet_SpotMaintenanceStrategiesProperty ¶
type CfnSpotFleet_SpotMaintenanceStrategiesProperty struct { // The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. // // For more information, see [Capacity rebalancing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html) in the *Amazon EC2 User Guide for Linux Instances* . CapacityRebalance interface{} `field:"optional" json:"capacityRebalance" yaml:"capacityRebalance"` }
The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotMaintenanceStrategiesProperty := &SpotMaintenanceStrategiesProperty{ CapacityRebalance: &SpotCapacityRebalanceProperty{ ReplacementStrategy: jsii.String("replacementStrategy"), TerminationDelay: jsii.Number(123), }, }
type CfnSpotFleet_SpotPlacementProperty ¶
type CfnSpotFleet_SpotPlacementProperty struct { // The Availability Zone. // // To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b". AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The name of the placement group. GroupName *string `field:"optional" json:"groupName" yaml:"groupName"` // The tenancy of the instance (if the instance is running in a VPC). // // An instance with a tenancy of `dedicated` runs on single-tenant hardware. The `host` tenancy is not supported for Spot Instances. Tenancy *string `field:"optional" json:"tenancy" yaml:"tenancy"` }
Describes Spot Instance placement.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" spotPlacementProperty := &SpotPlacementProperty{ AvailabilityZone: jsii.String("availabilityZone"), GroupName: jsii.String("groupName"), Tenancy: jsii.String("tenancy"), }
type CfnSpotFleet_TargetGroupProperty ¶
type CfnSpotFleet_TargetGroupProperty struct { // The Amazon Resource Name (ARN) of the target group. Arn *string `field:"required" json:"arn" yaml:"arn"` }
Describes a load balancer target group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" targetGroupProperty := &TargetGroupProperty{ Arn: jsii.String("arn"), }
type CfnSpotFleet_TargetGroupsConfigProperty ¶
type CfnSpotFleet_TargetGroupsConfigProperty struct {
// One or more target groups.
TargetGroups interface{} `field:"required" json:"targetGroups" yaml:"targetGroups"`
}
Describes the target groups to attach to a Spot Fleet.
Spot Fleet registers the running Spot Instances with these target groups.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" targetGroupsConfigProperty := &TargetGroupsConfigProperty{ TargetGroups: []interface{}{ &TargetGroupProperty{ Arn: jsii.String("arn"), }, }, }
type CfnSpotFleet_TotalLocalStorageGBRequestProperty ¶
type CfnSpotFleet_TotalLocalStorageGBRequestProperty struct { // The maximum amount of total local storage, in GB. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum amount of total local storage, in GB. // // To specify no minimum limit, omit this parameter. Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum amount of total local storage, in GB.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" totalLocalStorageGBRequestProperty := &TotalLocalStorageGBRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSpotFleet_VCpuCountRangeRequestProperty ¶
type CfnSpotFleet_VCpuCountRangeRequestProperty struct { // The maximum number of vCPUs. // // To specify no maximum limit, omit this parameter. Max *float64 `field:"optional" json:"max" yaml:"max"` // The minimum number of vCPUs. // // To specify no minimum limit, specify `0` . Min *float64 `field:"optional" json:"min" yaml:"min"` }
The minimum and maximum number of vCPUs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vCpuCountRangeRequestProperty := &VCpuCountRangeRequestProperty{ Max: jsii.Number(123), Min: jsii.Number(123), }
type CfnSubnet ¶
type CfnSubnet interface { awscdk.CfnResource awscdk.IInspectable // Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is `false` . // // If you specify `AssignIpv6AddressOnCreation` , you must also specify `Ipv6CidrBlock` . AssignIpv6AddressOnCreation() interface{} SetAssignIpv6AddressOnCreation(val interface{}) // The Availability Zone of this subnet. For example:. // // `{ "Fn::GetAtt" : [ "mySubnet", "AvailabilityZone" ] }`. AttrAvailabilityZone() *string // The IPv6 CIDR blocks that are associated with the subnet, such as `[ 2001:db8:1234:1a00::/64 ]` . AttrIpv6CidrBlocks() *[]*string // The ID of the network ACL that is associated with the subnet's VPC, such as `acl-5fb85d36` . AttrNetworkAclAssociationId() *string // The Amazon Resource Name (ARN) of the Outpost. AttrOutpostArn() *string // The ID of the subnet. AttrSubnetId() *string // The ID of the subnet's VPC, such as `vpc-11ad4878` . AttrVpcId() *string // The Availability Zone of the subnet. // // If you update this property, you must also update the `CidrBlock` property. AvailabilityZone() *string SetAvailabilityZone(val *string) // The AZ ID of the subnet. AvailabilityZoneId() *string SetAvailabilityZoneId(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The IPv4 CIDR block assigned to the subnet. // // If you update this property, we create a new subnet, and then delete the existing one. CidrBlock() *string SetCidrBlock(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations. // // For more information, see [DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-nat64-dns64) in the *Amazon Virtual Private Cloud User Guide* . EnableDns64() interface{} SetEnableDns64(val interface{}) // The IPv6 CIDR block. // // If you specify `AssignIpv6AddressOnCreation` , you must also specify `Ipv6CidrBlock` . Ipv6CidrBlock() *string SetIpv6CidrBlock(val *string) // Indicates whether this is an IPv6 only subnet. // // For more information, see [Subnet basics](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics) in the *Amazon Virtual Private Cloud User Guide* . Ipv6Native() interface{} SetIpv6Native(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Indicates whether instances launched in this subnet receive a public IPv4 address. // // The default value is `false` . MapPublicIpOnLaunch() interface{} SetMapPublicIpOnLaunch(val interface{}) // The tree node. Node() constructs.Node // The Amazon Resource Name (ARN) of the Outpost. OutpostArn() *string SetOutpostArn(val *string) // The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. // // For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* . // // Available options: // // - EnableResourceNameDnsAAAARecord (true | false) // - EnableResourceNameDnsARecord (true | false) // - HostnameType (ip-name | resource-name). PrivateDnsNameOptionsOnLaunch() interface{} SetPrivateDnsNameOptionsOnLaunch(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the subnet. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC the subnet is in. // // If you update this property, you must also update the `CidrBlock` property. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::Subnet`.
Specifies a subnet for the specified VPC.
For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.
For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var privateDnsNameOptionsOnLaunch interface{} cfnSubnet := awscdk.Aws_ec2.NewCfnSubnet(this, jsii.String("MyCfnSubnet"), &CfnSubnetProps{ VpcId: jsii.String("vpcId"), // the properties below are optional AssignIpv6AddressOnCreation: jsii.Boolean(false), AvailabilityZone: jsii.String("availabilityZone"), AvailabilityZoneId: jsii.String("availabilityZoneId"), CidrBlock: jsii.String("cidrBlock"), EnableDns64: jsii.Boolean(false), Ipv6CidrBlock: jsii.String("ipv6CidrBlock"), Ipv6Native: jsii.Boolean(false), MapPublicIpOnLaunch: jsii.Boolean(false), OutpostArn: jsii.String("outpostArn"), PrivateDnsNameOptionsOnLaunch: privateDnsNameOptionsOnLaunch, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnSubnet ¶
func NewCfnSubnet(scope constructs.Construct, id *string, props *CfnSubnetProps) CfnSubnet
Create a new `AWS::EC2::Subnet`.
type CfnSubnetCidrBlock ¶
type CfnSubnetCidrBlock interface { awscdk.CfnResource awscdk.IInspectable // The ID of the association. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length. // // This parameter is required for an IPv6 only subnet. Ipv6CidrBlock() *string SetIpv6CidrBlock(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet. SubnetId() *string SetSubnetId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::SubnetCidrBlock`.
Associates a CIDR block with your subnet. You can associate a single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length of /64.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSubnetCidrBlock := awscdk.Aws_ec2.NewCfnSubnetCidrBlock(this, jsii.String("MyCfnSubnetCidrBlock"), &CfnSubnetCidrBlockProps{ Ipv6CidrBlock: jsii.String("ipv6CidrBlock"), SubnetId: jsii.String("subnetId"), })
func NewCfnSubnetCidrBlock ¶
func NewCfnSubnetCidrBlock(scope constructs.Construct, id *string, props *CfnSubnetCidrBlockProps) CfnSubnetCidrBlock
Create a new `AWS::EC2::SubnetCidrBlock`.
type CfnSubnetCidrBlockProps ¶
type CfnSubnetCidrBlockProps struct { // The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length. // // This parameter is required for an IPv6 only subnet. Ipv6CidrBlock *string `field:"required" json:"ipv6CidrBlock" yaml:"ipv6CidrBlock"` // The ID of the subnet. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` }
Properties for defining a `CfnSubnetCidrBlock`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSubnetCidrBlockProps := &CfnSubnetCidrBlockProps{ Ipv6CidrBlock: jsii.String("ipv6CidrBlock"), SubnetId: jsii.String("subnetId"), }
type CfnSubnetNetworkAclAssociation ¶
type CfnSubnetNetworkAclAssociation interface { awscdk.CfnResource awscdk.IInspectable // Returns the value of this object's AssociationId property. AttrAssociationId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the network ACL. NetworkAclId() *string SetNetworkAclId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet. SubnetId() *string SetSubnetId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::SubnetNetworkAclAssociation`.
Associates a subnet with a network ACL. For more information, see [ReplaceNetworkAclAssociation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-ReplaceNetworkAclAssociation.html) in the *Amazon EC2 API Reference* .
When `AWS::EC2::SubnetNetworkAclAssociation` resources are created during create or update operations, AWS CloudFormation adopts existing resources that share the same key properties (the properties that contribute to uniquely identify the resource). However, if the operation fails and rolls back, AWS CloudFormation deletes the previously out-of-band resources. You can protect against this behavior by using `Retain` deletion policies. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSubnetNetworkAclAssociation := awscdk.Aws_ec2.NewCfnSubnetNetworkAclAssociation(this, jsii.String("MyCfnSubnetNetworkAclAssociation"), &CfnSubnetNetworkAclAssociationProps{ NetworkAclId: jsii.String("networkAclId"), SubnetId: jsii.String("subnetId"), })
func NewCfnSubnetNetworkAclAssociation ¶
func NewCfnSubnetNetworkAclAssociation(scope constructs.Construct, id *string, props *CfnSubnetNetworkAclAssociationProps) CfnSubnetNetworkAclAssociation
Create a new `AWS::EC2::SubnetNetworkAclAssociation`.
type CfnSubnetNetworkAclAssociationProps ¶
type CfnSubnetNetworkAclAssociationProps struct { // The ID of the network ACL. NetworkAclId *string `field:"required" json:"networkAclId" yaml:"networkAclId"` // The ID of the subnet. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` }
Properties for defining a `CfnSubnetNetworkAclAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSubnetNetworkAclAssociationProps := &CfnSubnetNetworkAclAssociationProps{ NetworkAclId: jsii.String("networkAclId"), SubnetId: jsii.String("subnetId"), }
type CfnSubnetProps ¶
type CfnSubnetProps struct { // The ID of the VPC the subnet is in. // // If you update this property, you must also update the `CidrBlock` property. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is `false` . // // If you specify `AssignIpv6AddressOnCreation` , you must also specify `Ipv6CidrBlock` . AssignIpv6AddressOnCreation interface{} `field:"optional" json:"assignIpv6AddressOnCreation" yaml:"assignIpv6AddressOnCreation"` // The Availability Zone of the subnet. // // If you update this property, you must also update the `CidrBlock` property. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The AZ ID of the subnet. AvailabilityZoneId *string `field:"optional" json:"availabilityZoneId" yaml:"availabilityZoneId"` // The IPv4 CIDR block assigned to the subnet. // // If you update this property, we create a new subnet, and then delete the existing one. CidrBlock *string `field:"optional" json:"cidrBlock" yaml:"cidrBlock"` // Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations. // // For more information, see [DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-nat64-dns64) in the *Amazon Virtual Private Cloud User Guide* . EnableDns64 interface{} `field:"optional" json:"enableDns64" yaml:"enableDns64"` // The IPv6 CIDR block. // // If you specify `AssignIpv6AddressOnCreation` , you must also specify `Ipv6CidrBlock` . Ipv6CidrBlock *string `field:"optional" json:"ipv6CidrBlock" yaml:"ipv6CidrBlock"` // Indicates whether this is an IPv6 only subnet. // // For more information, see [Subnet basics](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics) in the *Amazon Virtual Private Cloud User Guide* . Ipv6Native interface{} `field:"optional" json:"ipv6Native" yaml:"ipv6Native"` // Indicates whether instances launched in this subnet receive a public IPv4 address. // // The default value is `false` . MapPublicIpOnLaunch interface{} `field:"optional" json:"mapPublicIpOnLaunch" yaml:"mapPublicIpOnLaunch"` // The Amazon Resource Name (ARN) of the Outpost. OutpostArn *string `field:"optional" json:"outpostArn" yaml:"outpostArn"` // The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. // // For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *Amazon Elastic Compute Cloud User Guide* . // // Available options: // // - EnableResourceNameDnsAAAARecord (true | false) // - EnableResourceNameDnsARecord (true | false) // - HostnameType (ip-name | resource-name). PrivateDnsNameOptionsOnLaunch interface{} `field:"optional" json:"privateDnsNameOptionsOnLaunch" yaml:"privateDnsNameOptionsOnLaunch"` // Any tags assigned to the subnet. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnSubnet`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var privateDnsNameOptionsOnLaunch interface{} cfnSubnetProps := &CfnSubnetProps{ VpcId: jsii.String("vpcId"), // the properties below are optional AssignIpv6AddressOnCreation: jsii.Boolean(false), AvailabilityZone: jsii.String("availabilityZone"), AvailabilityZoneId: jsii.String("availabilityZoneId"), CidrBlock: jsii.String("cidrBlock"), EnableDns64: jsii.Boolean(false), Ipv6CidrBlock: jsii.String("ipv6CidrBlock"), Ipv6Native: jsii.Boolean(false), MapPublicIpOnLaunch: jsii.Boolean(false), OutpostArn: jsii.String("outpostArn"), PrivateDnsNameOptionsOnLaunch: privateDnsNameOptionsOnLaunch, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnSubnetRouteTableAssociation ¶
type CfnSubnetRouteTableAssociation interface { awscdk.CfnResource awscdk.IInspectable // The ID of the subnet route table association. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the route table. // // The physical ID changes when the route table ID is changed. RouteTableId() *string SetRouteTableId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subnet. SubnetId() *string SetSubnetId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::SubnetRouteTableAssociation`.
Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSubnetRouteTableAssociation := awscdk.Aws_ec2.NewCfnSubnetRouteTableAssociation(this, jsii.String("MyCfnSubnetRouteTableAssociation"), &CfnSubnetRouteTableAssociationProps{ RouteTableId: jsii.String("routeTableId"), SubnetId: jsii.String("subnetId"), })
func NewCfnSubnetRouteTableAssociation ¶
func NewCfnSubnetRouteTableAssociation(scope constructs.Construct, id *string, props *CfnSubnetRouteTableAssociationProps) CfnSubnetRouteTableAssociation
Create a new `AWS::EC2::SubnetRouteTableAssociation`.
type CfnSubnetRouteTableAssociationProps ¶
type CfnSubnetRouteTableAssociationProps struct { // The ID of the route table. // // The physical ID changes when the route table ID is changed. RouteTableId *string `field:"required" json:"routeTableId" yaml:"routeTableId"` // The ID of the subnet. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` }
Properties for defining a `CfnSubnetRouteTableAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnSubnetRouteTableAssociationProps := &CfnSubnetRouteTableAssociationProps{ RouteTableId: jsii.String("routeTableId"), SubnetId: jsii.String("subnetId"), }
type CfnSubnet_PrivateDnsNameOptionsOnLaunchProperty ¶ added in v2.13.0
type CfnSubnet_PrivateDnsNameOptionsOnLaunchProperty struct { // Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records. EnableResourceNameDnsAaaaRecord interface{} `field:"optional" json:"enableResourceNameDnsAaaaRecord" yaml:"enableResourceNameDnsAaaaRecord"` // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. EnableResourceNameDnsARecord interface{} `field:"optional" json:"enableResourceNameDnsARecord" yaml:"enableResourceNameDnsARecord"` // The type of hostname for EC2 instances. // // For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. HostnameType *string `field:"optional" json:"hostnameType" yaml:"hostnameType"` }
Describes the options for instance hostnames.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateDnsNameOptionsOnLaunchProperty := &PrivateDnsNameOptionsOnLaunchProperty{ EnableResourceNameDnsAaaaRecord: jsii.Boolean(false), EnableResourceNameDnsARecord: jsii.Boolean(false), HostnameType: jsii.String("hostnameType"), }
type CfnTrafficMirrorFilter ¶
type CfnTrafficMirrorFilter interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description of the Traffic Mirror filter. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The network service traffic that is associated with the Traffic Mirror filter. // // Valid values are `amazon-dns` . NetworkServices() *[]*string SetNetworkServices(val *[]*string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to assign to a Traffic Mirror filter. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TrafficMirrorFilter`.
Specifies a Traffic Mirror filter.
A Traffic Mirror filter is a set of rules that defines the traffic to mirror.
By default, no traffic is mirrored. To mirror traffic, use [AWS::EC2::TrafficMirrorFilterRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html) to add Traffic Mirror rules to the filter. The rules you add define what traffic gets mirrored.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorFilter := awscdk.Aws_ec2.NewCfnTrafficMirrorFilter(this, jsii.String("MyCfnTrafficMirrorFilter"), &CfnTrafficMirrorFilterProps{ Description: jsii.String("description"), NetworkServices: []*string{ jsii.String("networkServices"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTrafficMirrorFilter ¶
func NewCfnTrafficMirrorFilter(scope constructs.Construct, id *string, props *CfnTrafficMirrorFilterProps) CfnTrafficMirrorFilter
Create a new `AWS::EC2::TrafficMirrorFilter`.
type CfnTrafficMirrorFilterProps ¶
type CfnTrafficMirrorFilterProps struct { // The description of the Traffic Mirror filter. Description *string `field:"optional" json:"description" yaml:"description"` // The network service traffic that is associated with the Traffic Mirror filter. // // Valid values are `amazon-dns` . NetworkServices *[]*string `field:"optional" json:"networkServices" yaml:"networkServices"` // The tags to assign to a Traffic Mirror filter. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTrafficMirrorFilter`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorFilterProps := &CfnTrafficMirrorFilterProps{ Description: jsii.String("description"), NetworkServices: []*string{ jsii.String("networkServices"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTrafficMirrorFilterRule ¶
type CfnTrafficMirrorFilterRule interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description of the Traffic Mirror rule. Description() *string SetDescription(val *string) // The destination CIDR block to assign to the Traffic Mirror rule. DestinationCidrBlock() *string SetDestinationCidrBlock(val *string) // The destination port range. DestinationPortRange() interface{} SetDestinationPortRange(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The protocol, for example UDP, to assign to the Traffic Mirror rule. // // For information about the protocol value, see [Protocol Numbers](https://docs.aws.amazon.com/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website. Protocol() *float64 SetProtocol(val *float64) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The action to take on the filtered traffic. RuleAction() *string SetRuleAction(val *string) // The number of the Traffic Mirror rule. // // This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number. RuleNumber() *float64 SetRuleNumber(val *float64) // The source CIDR block to assign to the Traffic Mirror rule. SourceCidrBlock() *string SetSourceCidrBlock(val *string) // The source port range. SourcePortRange() interface{} SetSourcePortRange(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The type of traffic. TrafficDirection() *string SetTrafficDirection(val *string) // The ID of the filter that this rule is associated with. TrafficMirrorFilterId() *string SetTrafficMirrorFilterId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TrafficMirrorFilterRule`.
Creates a Traffic Mirror filter rule.
A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.
You need the Traffic Mirror filter ID when you create the rule.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorFilterRule := awscdk.Aws_ec2.NewCfnTrafficMirrorFilterRule(this, jsii.String("MyCfnTrafficMirrorFilterRule"), &CfnTrafficMirrorFilterRuleProps{ DestinationCidrBlock: jsii.String("destinationCidrBlock"), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), SourceCidrBlock: jsii.String("sourceCidrBlock"), TrafficDirection: jsii.String("trafficDirection"), TrafficMirrorFilterId: jsii.String("trafficMirrorFilterId"), // the properties below are optional Description: jsii.String("description"), DestinationPortRange: &TrafficMirrorPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, Protocol: jsii.Number(123), SourcePortRange: &TrafficMirrorPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, })
func NewCfnTrafficMirrorFilterRule ¶
func NewCfnTrafficMirrorFilterRule(scope constructs.Construct, id *string, props *CfnTrafficMirrorFilterRuleProps) CfnTrafficMirrorFilterRule
Create a new `AWS::EC2::TrafficMirrorFilterRule`.
type CfnTrafficMirrorFilterRuleProps ¶
type CfnTrafficMirrorFilterRuleProps struct { // The destination CIDR block to assign to the Traffic Mirror rule. DestinationCidrBlock *string `field:"required" json:"destinationCidrBlock" yaml:"destinationCidrBlock"` // The action to take on the filtered traffic. RuleAction *string `field:"required" json:"ruleAction" yaml:"ruleAction"` // The number of the Traffic Mirror rule. // // This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number. RuleNumber *float64 `field:"required" json:"ruleNumber" yaml:"ruleNumber"` // The source CIDR block to assign to the Traffic Mirror rule. SourceCidrBlock *string `field:"required" json:"sourceCidrBlock" yaml:"sourceCidrBlock"` // The type of traffic. TrafficDirection *string `field:"required" json:"trafficDirection" yaml:"trafficDirection"` // The ID of the filter that this rule is associated with. TrafficMirrorFilterId *string `field:"required" json:"trafficMirrorFilterId" yaml:"trafficMirrorFilterId"` // The description of the Traffic Mirror rule. Description *string `field:"optional" json:"description" yaml:"description"` // The destination port range. DestinationPortRange interface{} `field:"optional" json:"destinationPortRange" yaml:"destinationPortRange"` // The protocol, for example UDP, to assign to the Traffic Mirror rule. // // For information about the protocol value, see [Protocol Numbers](https://docs.aws.amazon.com/https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website. Protocol *float64 `field:"optional" json:"protocol" yaml:"protocol"` // The source port range. SourcePortRange interface{} `field:"optional" json:"sourcePortRange" yaml:"sourcePortRange"` }
Properties for defining a `CfnTrafficMirrorFilterRule`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorFilterRuleProps := &CfnTrafficMirrorFilterRuleProps{ DestinationCidrBlock: jsii.String("destinationCidrBlock"), RuleAction: jsii.String("ruleAction"), RuleNumber: jsii.Number(123), SourceCidrBlock: jsii.String("sourceCidrBlock"), TrafficDirection: jsii.String("trafficDirection"), TrafficMirrorFilterId: jsii.String("trafficMirrorFilterId"), // the properties below are optional Description: jsii.String("description"), DestinationPortRange: &TrafficMirrorPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, Protocol: jsii.Number(123), SourcePortRange: &TrafficMirrorPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }, }
type CfnTrafficMirrorFilterRule_TrafficMirrorPortRangeProperty ¶
type CfnTrafficMirrorFilterRule_TrafficMirrorPortRangeProperty struct { // The start of the Traffic Mirror port range. // // This applies to the TCP and UDP protocols. FromPort *float64 `field:"required" json:"fromPort" yaml:"fromPort"` // The end of the Traffic Mirror port range. // // This applies to the TCP and UDP protocols. ToPort *float64 `field:"required" json:"toPort" yaml:"toPort"` }
Describes the Traffic Mirror port range.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" trafficMirrorPortRangeProperty := &TrafficMirrorPortRangeProperty{ FromPort: jsii.Number(123), ToPort: jsii.Number(123), }
type CfnTrafficMirrorSession ¶
type CfnTrafficMirrorSession interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description of the Traffic Mirror session. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The ID of the source network interface. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // The number of bytes in each packet to mirror. // // These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. // // If you do not want to mirror the entire packet, use the `PacketLength` parameter to specify the number of bytes in each packet to mirror. PacketLength() *float64 SetPacketLength(val *float64) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. // // The first session with a matching filter is the one that mirrors the packets. // // Valid values are 1-32766. SessionNumber() *float64 SetSessionNumber(val *float64) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to assign to a Traffic Mirror session. Tags() awscdk.TagManager // The ID of the Traffic Mirror filter. TrafficMirrorFilterId() *string SetTrafficMirrorFilterId(val *string) // The ID of the Traffic Mirror target. TrafficMirrorTargetId() *string SetTrafficMirrorTargetId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The VXLAN ID for the Traffic Mirror session. // // For more information about the VXLAN protocol, see [RFC 7348](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc7348) . If you do not specify a `VirtualNetworkId` , an account-wide unique id is chosen at random. VirtualNetworkId() *float64 SetVirtualNetworkId(val *float64) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TrafficMirrorSession`.
Creates a Traffic Mirror session.
A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it to the session to define a subset of the traffic to mirror, for example all TCP traffic.
The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.
By default, no traffic is mirrored. Use [AWS::EC2::TrafficMirrorFilterRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html) to specify filter rules that specify the traffic to mirror.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorSession := awscdk.Aws_ec2.NewCfnTrafficMirrorSession(this, jsii.String("MyCfnTrafficMirrorSession"), &CfnTrafficMirrorSessionProps{ NetworkInterfaceId: jsii.String("networkInterfaceId"), SessionNumber: jsii.Number(123), TrafficMirrorFilterId: jsii.String("trafficMirrorFilterId"), TrafficMirrorTargetId: jsii.String("trafficMirrorTargetId"), // the properties below are optional Description: jsii.String("description"), PacketLength: jsii.Number(123), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VirtualNetworkId: jsii.Number(123), })
func NewCfnTrafficMirrorSession ¶
func NewCfnTrafficMirrorSession(scope constructs.Construct, id *string, props *CfnTrafficMirrorSessionProps) CfnTrafficMirrorSession
Create a new `AWS::EC2::TrafficMirrorSession`.
type CfnTrafficMirrorSessionProps ¶
type CfnTrafficMirrorSessionProps struct { // The ID of the source network interface. NetworkInterfaceId *string `field:"required" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. // // The first session with a matching filter is the one that mirrors the packets. // // Valid values are 1-32766. SessionNumber *float64 `field:"required" json:"sessionNumber" yaml:"sessionNumber"` // The ID of the Traffic Mirror filter. TrafficMirrorFilterId *string `field:"required" json:"trafficMirrorFilterId" yaml:"trafficMirrorFilterId"` // The ID of the Traffic Mirror target. TrafficMirrorTargetId *string `field:"required" json:"trafficMirrorTargetId" yaml:"trafficMirrorTargetId"` // The description of the Traffic Mirror session. Description *string `field:"optional" json:"description" yaml:"description"` // The number of bytes in each packet to mirror. // // These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. // // If you do not want to mirror the entire packet, use the `PacketLength` parameter to specify the number of bytes in each packet to mirror. PacketLength *float64 `field:"optional" json:"packetLength" yaml:"packetLength"` // The tags to assign to a Traffic Mirror session. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The VXLAN ID for the Traffic Mirror session. // // For more information about the VXLAN protocol, see [RFC 7348](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc7348) . If you do not specify a `VirtualNetworkId` , an account-wide unique id is chosen at random. VirtualNetworkId *float64 `field:"optional" json:"virtualNetworkId" yaml:"virtualNetworkId"` }
Properties for defining a `CfnTrafficMirrorSession`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorSessionProps := &CfnTrafficMirrorSessionProps{ NetworkInterfaceId: jsii.String("networkInterfaceId"), SessionNumber: jsii.Number(123), TrafficMirrorFilterId: jsii.String("trafficMirrorFilterId"), TrafficMirrorTargetId: jsii.String("trafficMirrorTargetId"), // the properties below are optional Description: jsii.String("description"), PacketLength: jsii.Number(123), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VirtualNetworkId: jsii.Number(123), }
type CfnTrafficMirrorTarget ¶
type CfnTrafficMirrorTarget interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description of the Traffic Mirror target. Description() *string SetDescription(val *string) // The ID of the Gateway Load Balancer endpoint. GatewayLoadBalancerEndpointId() *string SetGatewayLoadBalancerEndpointId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The network interface ID that is associated with the target. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target. NetworkLoadBalancerArn() *string SetNetworkLoadBalancerArn(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to assign to the Traffic Mirror target. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TrafficMirrorTarget`.
Specifies a target for your Traffic Mirror session.
A Traffic Mirror target is the destination for mirrored traffic. The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in different VPCs connected via VPC peering or a transit gateway.
A Traffic Mirror target can be a network interface, a Network Load Balancer, or a Gateway Load Balancer endpoint.
To use the target in a Traffic Mirror session, use [AWS::EC2::TrafficMirrorSession](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorTarget := awscdk.Aws_ec2.NewCfnTrafficMirrorTarget(this, jsii.String("MyCfnTrafficMirrorTarget"), &CfnTrafficMirrorTargetProps{ Description: jsii.String("description"), GatewayLoadBalancerEndpointId: jsii.String("gatewayLoadBalancerEndpointId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), NetworkLoadBalancerArn: jsii.String("networkLoadBalancerArn"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTrafficMirrorTarget ¶
func NewCfnTrafficMirrorTarget(scope constructs.Construct, id *string, props *CfnTrafficMirrorTargetProps) CfnTrafficMirrorTarget
Create a new `AWS::EC2::TrafficMirrorTarget`.
type CfnTrafficMirrorTargetProps ¶
type CfnTrafficMirrorTargetProps struct { // The description of the Traffic Mirror target. Description *string `field:"optional" json:"description" yaml:"description"` // The ID of the Gateway Load Balancer endpoint. GatewayLoadBalancerEndpointId *string `field:"optional" json:"gatewayLoadBalancerEndpointId" yaml:"gatewayLoadBalancerEndpointId"` // The network interface ID that is associated with the target. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target. NetworkLoadBalancerArn *string `field:"optional" json:"networkLoadBalancerArn" yaml:"networkLoadBalancerArn"` // The tags to assign to the Traffic Mirror target. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTrafficMirrorTarget`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTrafficMirrorTargetProps := &CfnTrafficMirrorTargetProps{ Description: jsii.String("description"), GatewayLoadBalancerEndpointId: jsii.String("gatewayLoadBalancerEndpointId"), NetworkInterfaceId: jsii.String("networkInterfaceId"), NetworkLoadBalancerArn: jsii.String("networkLoadBalancerArn"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTransitGateway ¶
type CfnTransitGateway interface { awscdk.CfnResource awscdk.IInspectable // A private Autonomous System Number (ASN) for the Amazon side of a BGP session. // // The range is 64512 to 65534 for 16-bit ASNs. The default is 64512. AmazonSideAsn() *float64 SetAmazonSideAsn(val *float64) // The ID of the default association route table. AssociationDefaultRouteTableId() *string SetAssociationDefaultRouteTableId(val *string) // The ID of the transit gateway. AttrId() *string // Enable or disable automatic acceptance of attachment requests. // // Disabled by default. // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Enable or disable automatic association with the default association route table. // // Enabled by default. DefaultRouteTableAssociation() *string SetDefaultRouteTableAssociation(val *string) // Enable or disable automatic propagation of routes to the default propagation route table. // // Enabled by default. DefaultRouteTablePropagation() *string SetDefaultRouteTablePropagation(val *string) // The description of the transit gateway. Description() *string SetDescription(val *string) // Enable or disable DNS support. // // Enabled by default. DnsSupport() *string SetDnsSupport(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Indicates whether multicast is enabled on the transit gateway. MulticastSupport() *string SetMulticastSupport(val *string) // The tree node. Node() constructs.Node // The ID of the default propagation route table. PropagationDefaultRouteTableId() *string SetPropagationDefaultRouteTableId(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags for the transit gateway. Tags() awscdk.TagManager // The transit gateway CIDR blocks. TransitGatewayCidrBlocks() *[]*string SetTransitGatewayCidrBlocks(val *[]*string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Enable or disable Equal Cost Multipath Protocol support. // // Enabled by default. VpnEcmpSupport() *string SetVpnEcmpSupport(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGateway`.
Specifies a transit gateway.
You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the `available` state, you can attach your VPCs and VPN connections to the transit gateway.
To attach your VPCs, use [AWS::EC2::TransitGatewayAttachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html) .
To attach a VPN connection, use [AWS::EC2::CustomerGateway](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html) to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to [AWS::EC2::VPNConnection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html) .
When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use [AWS::EC2::TransitGatewayRouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html) to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use [AWS::EC2::TransitGatewayRouteTablePropagation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html) to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use [AWS::EC2::TransitGatewayRouteTableAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html) to associate a resource attachment with a transit gateway route table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGateway := awscdk.Aws_ec2.NewCfnTransitGateway(this, jsii.String("MyCfnTransitGateway"), &CfnTransitGatewayProps{ AmazonSideAsn: jsii.Number(123), AssociationDefaultRouteTableId: jsii.String("associationDefaultRouteTableId"), AutoAcceptSharedAttachments: jsii.String("autoAcceptSharedAttachments"), DefaultRouteTableAssociation: jsii.String("defaultRouteTableAssociation"), DefaultRouteTablePropagation: jsii.String("defaultRouteTablePropagation"), Description: jsii.String("description"), DnsSupport: jsii.String("dnsSupport"), MulticastSupport: jsii.String("multicastSupport"), PropagationDefaultRouteTableId: jsii.String("propagationDefaultRouteTableId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TransitGatewayCidrBlocks: []*string{ jsii.String("transitGatewayCidrBlocks"), }, VpnEcmpSupport: jsii.String("vpnEcmpSupport"), })
func NewCfnTransitGateway ¶
func NewCfnTransitGateway(scope constructs.Construct, id *string, props *CfnTransitGatewayProps) CfnTransitGateway
Create a new `AWS::EC2::TransitGateway`.
type CfnTransitGatewayAttachment ¶
type CfnTransitGatewayAttachment interface { awscdk.CfnResource awscdk.IInspectable // The ID of the attachment. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The VPC attachment options, in JSON or YAML. // // - `ApplianceModeSupport` - Set to `enable` or `disable` . The default is `disable` . // - `DnsSupport` - Set to `enable` or `disable` . The default is `enable` . // - `Ipv6Support` - Set to `enable` or `disable` . The default is `disable` . Options() interface{} SetOptions(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The IDs of one or more subnets. // // You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet. SubnetIds() *[]*string SetSubnetIds(val *[]*string) // The tags for the attachment. Tags() awscdk.TagManager // The ID of the transit gateway. TransitGatewayId() *string SetTransitGatewayId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayAttachment`.
Attaches a VPC to a transit gateway.
If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached, the new VPC CIDR range is not propagated to the default propagation route table.
To send VPC traffic to an attached transit gateway, add a route to the VPC route table using [AWS::EC2::Route](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html) .
To update tags for a VPC attachment after creation without replacing the attachment, use [AWS::EC2::TransitGatewayVpcAttachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html) instead.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var options interface{} cfnTransitGatewayAttachment := awscdk.Aws_ec2.NewCfnTransitGatewayAttachment(this, jsii.String("MyCfnTransitGatewayAttachment"), &CfnTransitGatewayAttachmentProps{ SubnetIds: []*string{ jsii.String("subnetIds"), }, TransitGatewayId: jsii.String("transitGatewayId"), VpcId: jsii.String("vpcId"), // the properties below are optional Options: options, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTransitGatewayAttachment ¶
func NewCfnTransitGatewayAttachment(scope constructs.Construct, id *string, props *CfnTransitGatewayAttachmentProps) CfnTransitGatewayAttachment
Create a new `AWS::EC2::TransitGatewayAttachment`.
type CfnTransitGatewayAttachmentProps ¶
type CfnTransitGatewayAttachmentProps struct { // The IDs of one or more subnets. // // You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet. SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"` // The ID of the transit gateway. TransitGatewayId *string `field:"required" json:"transitGatewayId" yaml:"transitGatewayId"` // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // The VPC attachment options, in JSON or YAML. // // - `ApplianceModeSupport` - Set to `enable` or `disable` . The default is `disable` . // - `DnsSupport` - Set to `enable` or `disable` . The default is `enable` . // - `Ipv6Support` - Set to `enable` or `disable` . The default is `disable` . Options interface{} `field:"optional" json:"options" yaml:"options"` // The tags for the attachment. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTransitGatewayAttachment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var options interface{} cfnTransitGatewayAttachmentProps := &CfnTransitGatewayAttachmentProps{ SubnetIds: []*string{ jsii.String("subnetIds"), }, TransitGatewayId: jsii.String("transitGatewayId"), VpcId: jsii.String("vpcId"), // the properties below are optional Options: options, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTransitGatewayAttachment_OptionsProperty ¶ added in v2.55.0
type CfnTransitGatewayAttachment_OptionsProperty struct { // Indicates whether appliance mode support is enabled. ApplianceModeSupport *string `field:"optional" json:"applianceModeSupport" yaml:"applianceModeSupport"` // Indicates whether DNS support is enabled. DnsSupport *string `field:"optional" json:"dnsSupport" yaml:"dnsSupport"` // Indicates whether IPv6 support is disabled. Ipv6Support *string `field:"optional" json:"ipv6Support" yaml:"ipv6Support"` }
Describes the VPC attachment options.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" optionsProperty := &OptionsProperty{ ApplianceModeSupport: jsii.String("applianceModeSupport"), DnsSupport: jsii.String("dnsSupport"), Ipv6Support: jsii.String("ipv6Support"), }
type CfnTransitGatewayConnect ¶
type CfnTransitGatewayConnect interface { awscdk.CfnResource awscdk.IInspectable // The creation time. AttrCreationTime() *string // The state of the attachment. AttrState() *string // The ID of the transit gateway attachment. AttrTransitGatewayAttachmentId() *string // The ID of the transit gateway. AttrTransitGatewayId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The Connect attachment options. // // - protocol (gre). Options() interface{} SetOptions(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags for the attachment. Tags() awscdk.TagManager // The ID of the attachment from which the Connect attachment was created. TransportTransitGatewayAttachmentId() *string SetTransportTransitGatewayAttachmentId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayConnect`.
Creates a Connect attachment from a specified transit gateway attachment. A Connect attachment is a GRE-based tunnel attachment that you can use to establish a connection between a transit gateway and an appliance.
A Connect attachment uses an existing VPC or AWS Direct Connect 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 "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayConnect := awscdk.Aws_ec2.NewCfnTransitGatewayConnect(this, jsii.String("MyCfnTransitGatewayConnect"), &CfnTransitGatewayConnectProps{ Options: &TransitGatewayConnectOptionsProperty{ Protocol: jsii.String("protocol"), }, TransportTransitGatewayAttachmentId: jsii.String("transportTransitGatewayAttachmentId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTransitGatewayConnect ¶
func NewCfnTransitGatewayConnect(scope constructs.Construct, id *string, props *CfnTransitGatewayConnectProps) CfnTransitGatewayConnect
Create a new `AWS::EC2::TransitGatewayConnect`.
type CfnTransitGatewayConnectProps ¶
type CfnTransitGatewayConnectProps struct { // The Connect attachment options. // // - protocol (gre). Options interface{} `field:"required" json:"options" yaml:"options"` // The ID of the attachment from which the Connect attachment was created. TransportTransitGatewayAttachmentId *string `field:"required" json:"transportTransitGatewayAttachmentId" yaml:"transportTransitGatewayAttachmentId"` // The tags for the attachment. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTransitGatewayConnect`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayConnectProps := &CfnTransitGatewayConnectProps{ Options: &TransitGatewayConnectOptionsProperty{ Protocol: jsii.String("protocol"), }, TransportTransitGatewayAttachmentId: jsii.String("transportTransitGatewayAttachmentId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTransitGatewayConnect_TransitGatewayConnectOptionsProperty ¶
type CfnTransitGatewayConnect_TransitGatewayConnectOptionsProperty struct { // The tunnel protocol. Protocol *string `field:"optional" json:"protocol" yaml:"protocol"` }
Describes the Connect attachment options.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" transitGatewayConnectOptionsProperty := &TransitGatewayConnectOptionsProperty{ Protocol: jsii.String("protocol"), }
type CfnTransitGatewayMulticastDomain ¶
type CfnTransitGatewayMulticastDomain interface { awscdk.CfnResource awscdk.IInspectable // The time the multicast domain was created. AttrCreationTime() *string // The state of the multicast domain. AttrState() *string // The Amazon Resource Name (ARN) of the multicast domain. AttrTransitGatewayMulticastDomainArn() *string // The ID of the multicast domain. AttrTransitGatewayMulticastDomainId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The options for the transit gateway multicast domain. // // - AutoAcceptSharedAssociations (enable | disable) // - Igmpv2Support (enable | disable) // - StaticSourcesSupport (enable | disable). Options() interface{} SetOptions(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags for the transit gateway multicast domain. Tags() awscdk.TagManager // The ID of the transit gateway. TransitGatewayId() *string SetTransitGatewayId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayMulticastDomain`.
Creates a multicast domain using the specified transit gateway.
The transit gateway must be in the available state before you create a domain.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var options interface{} cfnTransitGatewayMulticastDomain := awscdk.Aws_ec2.NewCfnTransitGatewayMulticastDomain(this, jsii.String("MyCfnTransitGatewayMulticastDomain"), &CfnTransitGatewayMulticastDomainProps{ TransitGatewayId: jsii.String("transitGatewayId"), // the properties below are optional Options: options, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTransitGatewayMulticastDomain ¶
func NewCfnTransitGatewayMulticastDomain(scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastDomainProps) CfnTransitGatewayMulticastDomain
Create a new `AWS::EC2::TransitGatewayMulticastDomain`.
type CfnTransitGatewayMulticastDomainAssociation ¶
type CfnTransitGatewayMulticastDomainAssociation interface { awscdk.CfnResource awscdk.IInspectable // The ID of the resource. AttrResourceId() *string // The type of resource, for example a VPC attachment. AttrResourceType() *string // The state of the resource. AttrState() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The IDs of the subnets to associate with the transit gateway multicast domain. SubnetId() *string SetSubnetId(val *string) // The ID of the transit gateway attachment. TransitGatewayAttachmentId() *string SetTransitGatewayAttachmentId(val *string) // The ID of the transit gateway multicast domain. TransitGatewayMulticastDomainId() *string SetTransitGatewayMulticastDomainId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayMulticastDomainAssociation`.
Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.
The transit gateway attachment must be in the available state before you can add a resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayMulticastDomainAssociation := awscdk.Aws_ec2.NewCfnTransitGatewayMulticastDomainAssociation(this, jsii.String("MyCfnTransitGatewayMulticastDomainAssociation"), &CfnTransitGatewayMulticastDomainAssociationProps{ SubnetId: jsii.String("subnetId"), TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), TransitGatewayMulticastDomainId: jsii.String("transitGatewayMulticastDomainId"), })
func NewCfnTransitGatewayMulticastDomainAssociation ¶
func NewCfnTransitGatewayMulticastDomainAssociation(scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastDomainAssociationProps) CfnTransitGatewayMulticastDomainAssociation
Create a new `AWS::EC2::TransitGatewayMulticastDomainAssociation`.
type CfnTransitGatewayMulticastDomainAssociationProps ¶
type CfnTransitGatewayMulticastDomainAssociationProps struct { // The IDs of the subnets to associate with the transit gateway multicast domain. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` // The ID of the transit gateway attachment. TransitGatewayAttachmentId *string `field:"required" json:"transitGatewayAttachmentId" yaml:"transitGatewayAttachmentId"` // The ID of the transit gateway multicast domain. TransitGatewayMulticastDomainId *string `field:"required" json:"transitGatewayMulticastDomainId" yaml:"transitGatewayMulticastDomainId"` }
Properties for defining a `CfnTransitGatewayMulticastDomainAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayMulticastDomainAssociationProps := &CfnTransitGatewayMulticastDomainAssociationProps{ SubnetId: jsii.String("subnetId"), TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), TransitGatewayMulticastDomainId: jsii.String("transitGatewayMulticastDomainId"), }
type CfnTransitGatewayMulticastDomainProps ¶
type CfnTransitGatewayMulticastDomainProps struct { // The ID of the transit gateway. TransitGatewayId *string `field:"required" json:"transitGatewayId" yaml:"transitGatewayId"` // The options for the transit gateway multicast domain. // // - AutoAcceptSharedAssociations (enable | disable) // - Igmpv2Support (enable | disable) // - StaticSourcesSupport (enable | disable). Options interface{} `field:"optional" json:"options" yaml:"options"` // The tags for the transit gateway multicast domain. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTransitGatewayMulticastDomain`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var options interface{} cfnTransitGatewayMulticastDomainProps := &CfnTransitGatewayMulticastDomainProps{ TransitGatewayId: jsii.String("transitGatewayId"), // the properties below are optional Options: options, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTransitGatewayMulticastDomain_OptionsProperty ¶ added in v2.55.0
type CfnTransitGatewayMulticastDomain_OptionsProperty struct { string `field:"optional" json:"autoAcceptSharedAssociations" yaml:"autoAcceptSharedAssociations"` // Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain. Igmpv2Support *string `field:"optional" json:"igmpv2Support" yaml:"igmpv2Support"` // Specify whether to enable support for statically configuring multicast group sources for a domain. StaticSourcesSupport *string `field:"optional" json:"staticSourcesSupport" yaml:"staticSourcesSupport"` }AutoAcceptSharedAssociations *
The options for the transit gateway multicast domain.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" optionsProperty := &OptionsProperty{ AutoAcceptSharedAssociations: jsii.String("autoAcceptSharedAssociations"), Igmpv2Support: jsii.String("igmpv2Support"), StaticSourcesSupport: jsii.String("staticSourcesSupport"), }
type CfnTransitGatewayMulticastGroupMember ¶
type CfnTransitGatewayMulticastGroupMember interface { awscdk.CfnResource awscdk.IInspectable // Information about the registered transit gateway multicast domain group members. AttrGroupMember() awscdk.IResolvable // Indicates that the resource is a transit gateway multicast domain group member. AttrGroupSource() awscdk.IResolvable // The type of group member, for example static. AttrMemberType() *string // The ID of the resource. AttrResourceId() *string // The type of resource, for example a VPC attachment. AttrResourceType() *string // The type of source. AttrSourceType() *string // The ID of the subnet. AttrSubnetId() *string // The ID of the transit gateway attachment. AttrTransitGatewayAttachmentId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The IP address assigned to the transit gateway multicast group. GroupIpAddress() *string SetGroupIpAddress(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The group members' network interface IDs to register with the transit gateway multicast group. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the transit gateway multicast domain. TransitGatewayMulticastDomainId() *string SetTransitGatewayMulticastDomainId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayMulticastGroupMember`.
Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For information about supported instances, see [Multicast Consideration](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits) in *Amazon VPC Transit Gateways* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayMulticastGroupMember := awscdk.Aws_ec2.NewCfnTransitGatewayMulticastGroupMember(this, jsii.String("MyCfnTransitGatewayMulticastGroupMember"), &CfnTransitGatewayMulticastGroupMemberProps{ GroupIpAddress: jsii.String("groupIpAddress"), NetworkInterfaceId: jsii.String("networkInterfaceId"), TransitGatewayMulticastDomainId: jsii.String("transitGatewayMulticastDomainId"), })
func NewCfnTransitGatewayMulticastGroupMember ¶
func NewCfnTransitGatewayMulticastGroupMember(scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastGroupMemberProps) CfnTransitGatewayMulticastGroupMember
Create a new `AWS::EC2::TransitGatewayMulticastGroupMember`.
type CfnTransitGatewayMulticastGroupMemberProps ¶
type CfnTransitGatewayMulticastGroupMemberProps struct { // The IP address assigned to the transit gateway multicast group. GroupIpAddress *string `field:"required" json:"groupIpAddress" yaml:"groupIpAddress"` // The group members' network interface IDs to register with the transit gateway multicast group. NetworkInterfaceId *string `field:"required" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The ID of the transit gateway multicast domain. TransitGatewayMulticastDomainId *string `field:"required" json:"transitGatewayMulticastDomainId" yaml:"transitGatewayMulticastDomainId"` }
Properties for defining a `CfnTransitGatewayMulticastGroupMember`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayMulticastGroupMemberProps := &CfnTransitGatewayMulticastGroupMemberProps{ GroupIpAddress: jsii.String("groupIpAddress"), NetworkInterfaceId: jsii.String("networkInterfaceId"), TransitGatewayMulticastDomainId: jsii.String("transitGatewayMulticastDomainId"), }
type CfnTransitGatewayMulticastGroupSource ¶
type CfnTransitGatewayMulticastGroupSource interface { awscdk.CfnResource awscdk.IInspectable // Information about the registered transit gateway multicast domain group members. AttrGroupMember() awscdk.IResolvable // Indicates that the resource is a transit gateway group member. AttrGroupSource() awscdk.IResolvable // The type of group member, for example static. AttrMemberType() *string // The ID of the resource. AttrResourceId() *string // The type of resource, for example a VPC attachment. AttrResourceType() *string // The type of source. AttrSourceType() *string // The ID of the subnet. AttrSubnetId() *string // The ID of the transit gateway attachment. AttrTransitGatewayAttachmentId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The IP address assigned to the transit gateway multicast group. GroupIpAddress() *string SetGroupIpAddress(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The group sources' network interface IDs to register with the transit gateway multicast group. NetworkInterfaceId() *string SetNetworkInterfaceId(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the transit gateway multicast domain. TransitGatewayMulticastDomainId() *string SetTransitGatewayMulticastDomainId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayMulticastGroupSource`.
Registers sources (network interfaces) with the specified transit gateway multicast domain.
A multicast source is a network interface attached to a supported instance that sends multicast traffic. For information about supported instances, see [Multicast Considerations](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits) in *Amazon VPC Transit Gateways* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayMulticastGroupSource := awscdk.Aws_ec2.NewCfnTransitGatewayMulticastGroupSource(this, jsii.String("MyCfnTransitGatewayMulticastGroupSource"), &CfnTransitGatewayMulticastGroupSourceProps{ GroupIpAddress: jsii.String("groupIpAddress"), NetworkInterfaceId: jsii.String("networkInterfaceId"), TransitGatewayMulticastDomainId: jsii.String("transitGatewayMulticastDomainId"), })
func NewCfnTransitGatewayMulticastGroupSource ¶
func NewCfnTransitGatewayMulticastGroupSource(scope constructs.Construct, id *string, props *CfnTransitGatewayMulticastGroupSourceProps) CfnTransitGatewayMulticastGroupSource
Create a new `AWS::EC2::TransitGatewayMulticastGroupSource`.
type CfnTransitGatewayMulticastGroupSourceProps ¶
type CfnTransitGatewayMulticastGroupSourceProps struct { // The IP address assigned to the transit gateway multicast group. GroupIpAddress *string `field:"required" json:"groupIpAddress" yaml:"groupIpAddress"` // The group sources' network interface IDs to register with the transit gateway multicast group. NetworkInterfaceId *string `field:"required" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The ID of the transit gateway multicast domain. TransitGatewayMulticastDomainId *string `field:"required" json:"transitGatewayMulticastDomainId" yaml:"transitGatewayMulticastDomainId"` }
Properties for defining a `CfnTransitGatewayMulticastGroupSource`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayMulticastGroupSourceProps := &CfnTransitGatewayMulticastGroupSourceProps{ GroupIpAddress: jsii.String("groupIpAddress"), NetworkInterfaceId: jsii.String("networkInterfaceId"), TransitGatewayMulticastDomainId: jsii.String("transitGatewayMulticastDomainId"), }
type CfnTransitGatewayPeeringAttachment ¶
type CfnTransitGatewayPeeringAttachment interface { awscdk.CfnResource awscdk.IInspectable // The time the transit gateway peering attachment was created. AttrCreationTime() *string // The state of the transit gateway peering attachment. // // Note that the `initiating` state has been deprecated. AttrState() *string // The status code. AttrStatusCode() *string // The status message. AttrStatusMessage() *string // The ID of the transit gateway peering attachment. AttrTransitGatewayAttachmentId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The ID of the AWS account that owns the transit gateway. PeerAccountId() *string SetPeerAccountId(val *string) // The Region of the transit gateway. PeerRegion() *string SetPeerRegion(val *string) // The ID of the transit gateway. PeerTransitGatewayId() *string SetPeerTransitGatewayId(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags for the transit gateway peering attachment. Tags() awscdk.TagManager // The ID of the transit gateway peering attachment. TransitGatewayId() *string SetTransitGatewayId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayPeeringAttachment`.
Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter). The peer transit gateway can be in your account or a different AWS account .
After you create the peering attachment, the owner of the accepter transit gateway must accept the attachment request.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayPeeringAttachment := awscdk.Aws_ec2.NewCfnTransitGatewayPeeringAttachment(this, jsii.String("MyCfnTransitGatewayPeeringAttachment"), &CfnTransitGatewayPeeringAttachmentProps{ PeerAccountId: jsii.String("peerAccountId"), PeerRegion: jsii.String("peerRegion"), PeerTransitGatewayId: jsii.String("peerTransitGatewayId"), TransitGatewayId: jsii.String("transitGatewayId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTransitGatewayPeeringAttachment ¶
func NewCfnTransitGatewayPeeringAttachment(scope constructs.Construct, id *string, props *CfnTransitGatewayPeeringAttachmentProps) CfnTransitGatewayPeeringAttachment
Create a new `AWS::EC2::TransitGatewayPeeringAttachment`.
type CfnTransitGatewayPeeringAttachmentProps ¶
type CfnTransitGatewayPeeringAttachmentProps struct { // The ID of the AWS account that owns the transit gateway. PeerAccountId *string `field:"required" json:"peerAccountId" yaml:"peerAccountId"` // The Region of the transit gateway. PeerRegion *string `field:"required" json:"peerRegion" yaml:"peerRegion"` // The ID of the transit gateway. PeerTransitGatewayId *string `field:"required" json:"peerTransitGatewayId" yaml:"peerTransitGatewayId"` // The ID of the transit gateway peering attachment. TransitGatewayId *string `field:"required" json:"transitGatewayId" yaml:"transitGatewayId"` // The tags for the transit gateway peering attachment. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTransitGatewayPeeringAttachment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayPeeringAttachmentProps := &CfnTransitGatewayPeeringAttachmentProps{ PeerAccountId: jsii.String("peerAccountId"), PeerRegion: jsii.String("peerRegion"), PeerTransitGatewayId: jsii.String("peerTransitGatewayId"), TransitGatewayId: jsii.String("transitGatewayId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTransitGatewayPeeringAttachment_PeeringAttachmentStatusProperty ¶ added in v2.55.0
type CfnTransitGatewayPeeringAttachment_PeeringAttachmentStatusProperty struct { // The status code. Code *string `field:"optional" json:"code" yaml:"code"` // The status message, if applicable. Message *string `field:"optional" json:"message" yaml:"message"` }
The status of the transit gateway peering attachment.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" peeringAttachmentStatusProperty := &PeeringAttachmentStatusProperty{ Code: jsii.String("code"), Message: jsii.String("message"), }
type CfnTransitGatewayProps ¶
type CfnTransitGatewayProps struct { // A private Autonomous System Number (ASN) for the Amazon side of a BGP session. // // The range is 64512 to 65534 for 16-bit ASNs. The default is 64512. AmazonSideAsn *float64 `field:"optional" json:"amazonSideAsn" yaml:"amazonSideAsn"` // The ID of the default association route table. AssociationDefaultRouteTableId *string `field:"optional" json:"associationDefaultRouteTableId" yaml:"associationDefaultRouteTableId"` // // Disabled by default. AutoAcceptSharedAttachments *string `field:"optional" json:"autoAcceptSharedAttachments" yaml:"autoAcceptSharedAttachments"` // Enable or disable automatic association with the default association route table. // // Enabled by default. DefaultRouteTableAssociation *string `field:"optional" json:"defaultRouteTableAssociation" yaml:"defaultRouteTableAssociation"` // Enable or disable automatic propagation of routes to the default propagation route table. // // Enabled by default. DefaultRouteTablePropagation *string `field:"optional" json:"defaultRouteTablePropagation" yaml:"defaultRouteTablePropagation"` // The description of the transit gateway. Description *string `field:"optional" json:"description" yaml:"description"` // Enable or disable DNS support. // // Enabled by default. DnsSupport *string `field:"optional" json:"dnsSupport" yaml:"dnsSupport"` // Indicates whether multicast is enabled on the transit gateway. MulticastSupport *string `field:"optional" json:"multicastSupport" yaml:"multicastSupport"` // The ID of the default propagation route table. PropagationDefaultRouteTableId *string `field:"optional" json:"propagationDefaultRouteTableId" yaml:"propagationDefaultRouteTableId"` // The tags for the transit gateway. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The transit gateway CIDR blocks. TransitGatewayCidrBlocks *[]*string `field:"optional" json:"transitGatewayCidrBlocks" yaml:"transitGatewayCidrBlocks"` // Enable or disable Equal Cost Multipath Protocol support. // // Enabled by default. VpnEcmpSupport *string `field:"optional" json:"vpnEcmpSupport" yaml:"vpnEcmpSupport"` }
Properties for defining a `CfnTransitGateway`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayProps := &CfnTransitGatewayProps{ AmazonSideAsn: jsii.Number(123), AssociationDefaultRouteTableId: jsii.String("associationDefaultRouteTableId"), AutoAcceptSharedAttachments: jsii.String("autoAcceptSharedAttachments"), DefaultRouteTableAssociation: jsii.String("defaultRouteTableAssociation"), DefaultRouteTablePropagation: jsii.String("defaultRouteTablePropagation"), Description: jsii.String("description"), DnsSupport: jsii.String("dnsSupport"), MulticastSupport: jsii.String("multicastSupport"), PropagationDefaultRouteTableId: jsii.String("propagationDefaultRouteTableId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TransitGatewayCidrBlocks: []*string{ jsii.String("transitGatewayCidrBlocks"), }, VpnEcmpSupport: jsii.String("vpnEcmpSupport"), }
type CfnTransitGatewayRoute ¶
type CfnTransitGatewayRoute interface { awscdk.CfnResource awscdk.IInspectable // Indicates whether to drop traffic that matches this route. Blackhole() interface{} SetBlackhole(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The CIDR block used for destination matches. DestinationCidrBlock() *string SetDestinationCidrBlock(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the attachment. TransitGatewayAttachmentId() *string SetTransitGatewayAttachmentId(val *string) // The ID of the transit gateway route table. TransitGatewayRouteTableId() *string SetTransitGatewayRouteTableId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayRoute`.
Specifies a static route for a transit gateway route table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRoute := awscdk.Aws_ec2.NewCfnTransitGatewayRoute(this, jsii.String("MyCfnTransitGatewayRoute"), &CfnTransitGatewayRouteProps{ TransitGatewayRouteTableId: jsii.String("transitGatewayRouteTableId"), // the properties below are optional Blackhole: jsii.Boolean(false), DestinationCidrBlock: jsii.String("destinationCidrBlock"), TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), })
func NewCfnTransitGatewayRoute ¶
func NewCfnTransitGatewayRoute(scope constructs.Construct, id *string, props *CfnTransitGatewayRouteProps) CfnTransitGatewayRoute
Create a new `AWS::EC2::TransitGatewayRoute`.
type CfnTransitGatewayRouteProps ¶
type CfnTransitGatewayRouteProps struct { // The ID of the transit gateway route table. TransitGatewayRouteTableId *string `field:"required" json:"transitGatewayRouteTableId" yaml:"transitGatewayRouteTableId"` // Indicates whether to drop traffic that matches this route. Blackhole interface{} `field:"optional" json:"blackhole" yaml:"blackhole"` // The CIDR block used for destination matches. DestinationCidrBlock *string `field:"optional" json:"destinationCidrBlock" yaml:"destinationCidrBlock"` // The ID of the attachment. TransitGatewayAttachmentId *string `field:"optional" json:"transitGatewayAttachmentId" yaml:"transitGatewayAttachmentId"` }
Properties for defining a `CfnTransitGatewayRoute`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRouteProps := &CfnTransitGatewayRouteProps{ TransitGatewayRouteTableId: jsii.String("transitGatewayRouteTableId"), // the properties below are optional Blackhole: jsii.Boolean(false), DestinationCidrBlock: jsii.String("destinationCidrBlock"), TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), }
type CfnTransitGatewayRouteTable ¶
type CfnTransitGatewayRouteTable interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the route table. Tags() awscdk.TagManager // The ID of the transit gateway. TransitGatewayId() *string SetTransitGatewayId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayRouteTable`.
Specifies a route table for a transit gateway.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRouteTable := awscdk.Aws_ec2.NewCfnTransitGatewayRouteTable(this, jsii.String("MyCfnTransitGatewayRouteTable"), &CfnTransitGatewayRouteTableProps{ TransitGatewayId: jsii.String("transitGatewayId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTransitGatewayRouteTable ¶
func NewCfnTransitGatewayRouteTable(scope constructs.Construct, id *string, props *CfnTransitGatewayRouteTableProps) CfnTransitGatewayRouteTable
Create a new `AWS::EC2::TransitGatewayRouteTable`.
type CfnTransitGatewayRouteTableAssociation ¶
type CfnTransitGatewayRouteTableAssociation interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the attachment. TransitGatewayAttachmentId() *string SetTransitGatewayAttachmentId(val *string) // The ID of the route table for the transit gateway. TransitGatewayRouteTableId() *string SetTransitGatewayRouteTableId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayRouteTableAssociation`.
Associates the specified attachment with the specified transit gateway route table. You can associate one route table with an attachment.
Before you can update the route table associated with an attachment, you must disassociate the transit gateway route table that is currently associated with the attachment. First update the stack to remove the associated transit gateway route table, and then update the stack with the ID of the new transit gateway route table to associate.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRouteTableAssociation := awscdk.Aws_ec2.NewCfnTransitGatewayRouteTableAssociation(this, jsii.String("MyCfnTransitGatewayRouteTableAssociation"), &CfnTransitGatewayRouteTableAssociationProps{ TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), TransitGatewayRouteTableId: jsii.String("transitGatewayRouteTableId"), })
func NewCfnTransitGatewayRouteTableAssociation ¶
func NewCfnTransitGatewayRouteTableAssociation(scope constructs.Construct, id *string, props *CfnTransitGatewayRouteTableAssociationProps) CfnTransitGatewayRouteTableAssociation
Create a new `AWS::EC2::TransitGatewayRouteTableAssociation`.
type CfnTransitGatewayRouteTableAssociationProps ¶
type CfnTransitGatewayRouteTableAssociationProps struct { // The ID of the attachment. TransitGatewayAttachmentId *string `field:"required" json:"transitGatewayAttachmentId" yaml:"transitGatewayAttachmentId"` // The ID of the route table for the transit gateway. TransitGatewayRouteTableId *string `field:"required" json:"transitGatewayRouteTableId" yaml:"transitGatewayRouteTableId"` }
Properties for defining a `CfnTransitGatewayRouteTableAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRouteTableAssociationProps := &CfnTransitGatewayRouteTableAssociationProps{ TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), TransitGatewayRouteTableId: jsii.String("transitGatewayRouteTableId"), }
type CfnTransitGatewayRouteTablePropagation ¶
type CfnTransitGatewayRouteTablePropagation interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the attachment. TransitGatewayAttachmentId() *string SetTransitGatewayAttachmentId(val *string) // The ID of the propagation route table. TransitGatewayRouteTableId() *string SetTransitGatewayRouteTableId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayRouteTablePropagation`.
Enables the specified attachment to propagate routes to the specified propagation route table.
For more information about enabling transit gateway route propagation, see [EnableTransitGatewayRouteTablePropagation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EnableTransitGatewayRouteTablePropagation.html) in the *Amazon EC2 API Reference* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRouteTablePropagation := awscdk.Aws_ec2.NewCfnTransitGatewayRouteTablePropagation(this, jsii.String("MyCfnTransitGatewayRouteTablePropagation"), &CfnTransitGatewayRouteTablePropagationProps{ TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), TransitGatewayRouteTableId: jsii.String("transitGatewayRouteTableId"), })
func NewCfnTransitGatewayRouteTablePropagation ¶
func NewCfnTransitGatewayRouteTablePropagation(scope constructs.Construct, id *string, props *CfnTransitGatewayRouteTablePropagationProps) CfnTransitGatewayRouteTablePropagation
Create a new `AWS::EC2::TransitGatewayRouteTablePropagation`.
type CfnTransitGatewayRouteTablePropagationProps ¶
type CfnTransitGatewayRouteTablePropagationProps struct { // The ID of the attachment. TransitGatewayAttachmentId *string `field:"required" json:"transitGatewayAttachmentId" yaml:"transitGatewayAttachmentId"` // The ID of the propagation route table. TransitGatewayRouteTableId *string `field:"required" json:"transitGatewayRouteTableId" yaml:"transitGatewayRouteTableId"` }
Properties for defining a `CfnTransitGatewayRouteTablePropagation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRouteTablePropagationProps := &CfnTransitGatewayRouteTablePropagationProps{ TransitGatewayAttachmentId: jsii.String("transitGatewayAttachmentId"), TransitGatewayRouteTableId: jsii.String("transitGatewayRouteTableId"), }
type CfnTransitGatewayRouteTableProps ¶
type CfnTransitGatewayRouteTableProps struct { // The ID of the transit gateway. TransitGatewayId *string `field:"required" json:"transitGatewayId" yaml:"transitGatewayId"` // Any tags assigned to the route table. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTransitGatewayRouteTable`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnTransitGatewayRouteTableProps := &CfnTransitGatewayRouteTableProps{ TransitGatewayId: jsii.String("transitGatewayId"), // the properties below are optional Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTransitGatewayVpcAttachment ¶
type CfnTransitGatewayVpcAttachment interface { awscdk.CfnResource awscdk.IInspectable // The IDs of one or more subnets to add. // // You can specify at most one subnet per Availability Zone. AddSubnetIds() *[]*string SetAddSubnetIds(val *[]*string) // The ID of the attachment. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The VPC attachment options, in JSON or YAML. // // - `ApplianceModeSupport` - Set to `enable` or `disable` . The default is `disable` . // - `DnsSupport` - Set to `enable` or `disable` . The default is `enable` . // - `Ipv6Support` - Set to `enable` or `disable` . The default is `disable` . Options() interface{} SetOptions(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The IDs of one or more subnets to remove. RemoveSubnetIds() *[]*string SetRemoveSubnetIds(val *[]*string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The IDs of the subnets. SubnetIds() *[]*string SetSubnetIds(val *[]*string) // The tags for the VPC attachment. Tags() awscdk.TagManager // The ID of the transit gateway. TransitGatewayId() *string SetTransitGatewayId(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::TransitGatewayVpcAttachment`.
Specifies a VPC attachment.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var options interface{} cfnTransitGatewayVpcAttachment := awscdk.Aws_ec2.NewCfnTransitGatewayVpcAttachment(this, jsii.String("MyCfnTransitGatewayVpcAttachment"), &CfnTransitGatewayVpcAttachmentProps{ SubnetIds: []*string{ jsii.String("subnetIds"), }, TransitGatewayId: jsii.String("transitGatewayId"), VpcId: jsii.String("vpcId"), // the properties below are optional AddSubnetIds: []*string{ jsii.String("addSubnetIds"), }, Options: options, RemoveSubnetIds: []*string{ jsii.String("removeSubnetIds"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnTransitGatewayVpcAttachment ¶
func NewCfnTransitGatewayVpcAttachment(scope constructs.Construct, id *string, props *CfnTransitGatewayVpcAttachmentProps) CfnTransitGatewayVpcAttachment
Create a new `AWS::EC2::TransitGatewayVpcAttachment`.
type CfnTransitGatewayVpcAttachmentProps ¶
type CfnTransitGatewayVpcAttachmentProps struct { // The IDs of the subnets. SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"` // The ID of the transit gateway. TransitGatewayId *string `field:"required" json:"transitGatewayId" yaml:"transitGatewayId"` // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // The IDs of one or more subnets to add. // // You can specify at most one subnet per Availability Zone. AddSubnetIds *[]*string `field:"optional" json:"addSubnetIds" yaml:"addSubnetIds"` // The VPC attachment options, in JSON or YAML. // // - `ApplianceModeSupport` - Set to `enable` or `disable` . The default is `disable` . // - `DnsSupport` - Set to `enable` or `disable` . The default is `enable` . // - `Ipv6Support` - Set to `enable` or `disable` . The default is `disable` . Options interface{} `field:"optional" json:"options" yaml:"options"` // The IDs of one or more subnets to remove. RemoveSubnetIds *[]*string `field:"optional" json:"removeSubnetIds" yaml:"removeSubnetIds"` // The tags for the VPC attachment. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTransitGatewayVpcAttachment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var options interface{} cfnTransitGatewayVpcAttachmentProps := &CfnTransitGatewayVpcAttachmentProps{ SubnetIds: []*string{ jsii.String("subnetIds"), }, TransitGatewayId: jsii.String("transitGatewayId"), VpcId: jsii.String("vpcId"), // the properties below are optional AddSubnetIds: []*string{ jsii.String("addSubnetIds"), }, Options: options, RemoveSubnetIds: []*string{ jsii.String("removeSubnetIds"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnTransitGatewayVpcAttachment_OptionsProperty ¶ added in v2.55.0
type CfnTransitGatewayVpcAttachment_OptionsProperty struct { // Indicates whether appliance mode support is enabled. ApplianceModeSupport *string `field:"optional" json:"applianceModeSupport" yaml:"applianceModeSupport"` // Indicates whether DNS support is enabled. DnsSupport *string `field:"optional" json:"dnsSupport" yaml:"dnsSupport"` // Indicates whether IPv6 support is disabled. Ipv6Support *string `field:"optional" json:"ipv6Support" yaml:"ipv6Support"` }
Describes the VPC attachment options.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" optionsProperty := &OptionsProperty{ ApplianceModeSupport: jsii.String("applianceModeSupport"), DnsSupport: jsii.String("dnsSupport"), Ipv6Support: jsii.String("ipv6Support"), }
type CfnVPC ¶
type CfnVPC interface { awscdk.CfnResource awscdk.IInspectable // The primary IPv4 CIDR block for the VPC. // // For example, 10.0.0.0/16. AttrCidrBlock() *string // The association IDs of the IPv4 CIDR blocks for the VPC. // // For example, [ vpc-cidr-assoc-0280ab6b ]. AttrCidrBlockAssociations() *[]*string // The ID of the default network ACL for the VPC. // // For example, acl-814dafe3. AttrDefaultNetworkAcl() *string // The ID of the default security group for the VPC. // // For example, sg-b178e0d3. AttrDefaultSecurityGroup() *string // The IPv6 CIDR blocks for the VPC. // // For example, [ 2001:db8:1234:1a00::/56 ]. AttrIpv6CidrBlocks() *[]*string // The ID of the VPC. AttrVpcId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The IPv4 network range for the VPC, in CIDR notation. // // For example, `10.0.0.0/16` . We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` . // // You must specify either `CidrBlock` or `Ipv4IpamPoolId` . CidrBlock() *string SetCidrBlock(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Indicates whether the instances launched in the VPC get DNS hostnames. // // If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) . // // You can only enable DNS hostnames if you've enabled DNS support. EnableDnsHostnames() interface{} SetEnableDnsHostnames(val interface{}) // Indicates whether the DNS resolution is supported for the VPC. // // If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) . EnableDnsSupport() interface{} SetEnableDnsSupport(val interface{}) // The allowed tenancy of instances launched into the VPC. // // - `default` : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch. // - `dedicated` : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of `host` during instance launch. You cannot specify a tenancy of `default` during instance launch. // // Updating `InstanceTenancy` requires no replacement only if you are updating its value from `dedicated` to `default` . Updating `InstanceTenancy` from `default` to `dedicated` requires replacement. InstanceTenancy() *string SetInstanceTenancy(val *string) // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. // // For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . // // You must specify either `CidrBlock` or `Ipv4IpamPoolId` . Ipv4IpamPoolId() *string SetIpv4IpamPoolId(val *string) // The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. // // For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv4NetmaskLength() *float64 SetIpv4NetmaskLength(val *float64) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags for the VPC. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPC`.
Specifies a virtual private cloud (VPC).
You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).
For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/configure-your-vpc.html) in the *Amazon VPC User Guide* .
Example:
var cfnTemplate cfnInclude // using from*Attributes() var privateCfnSubnet1 cfnSubnet var privateCfnSubnet2 cfnSubnet // using from*Name() cfnBucket := cfnTemplate.GetResource(jsii.String("Bucket")).(cfnBucket) bucket := s3.Bucket_FromBucketName(this, jsii.String("L2Bucket"), cfnBucket.ref) // using from*Arn() cfnKey := cfnTemplate.GetResource(jsii.String("Key")).(cfnKey) key := kms.Key_FromKeyArn(this, jsii.String("L2Key"), cfnKey.AttrArn) cfnVpc := cfnTemplate.GetResource(jsii.String("Vpc")).(cfnVPC) vpc := ec2.Vpc_FromVpcAttributes(this, jsii.String("L2Vpc"), &VpcAttributes{ VpcId: cfnVpc.ref, AvailabilityZones: core.Fn_GetAzs(), PrivateSubnetIds: []*string{ privateCfnSubnet1.ref, privateCfnSubnet2.ref, }, })
func NewCfnVPC ¶
func NewCfnVPC(scope constructs.Construct, id *string, props *CfnVPCProps) CfnVPC
Create a new `AWS::EC2::VPC`.
type CfnVPCCidrBlock ¶
type CfnVPCCidrBlock interface { awscdk.CfnResource awscdk.IInspectable // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. // // You cannot specify the range of IPv6 addresses, or the size of the CIDR block. AmazonProvidedIpv6CidrBlock() interface{} SetAmazonProvidedIpv6CidrBlock(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // An IPv4 CIDR block to associate with the VPC. CidrBlock() *string SetCidrBlock(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. // // For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv4IpamPoolId() *string SetIpv4IpamPoolId(val *string) // The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. // // For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv4NetmaskLength() *float64 SetIpv4NetmaskLength(val *float64) // An IPv6 CIDR block from the IPv6 address pool. You must also specify `Ipv6Pool` in the request. // // To let Amazon choose the IPv6 CIDR block for you, omit this parameter. Ipv6CidrBlock() *string SetIpv6CidrBlock(val *string) // Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. // // For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv6IpamPoolId() *string SetIpv6IpamPoolId(val *string) // The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. // // For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv6NetmaskLength() *float64 SetIpv6NetmaskLength(val *float64) // The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block. Ipv6Pool() *string SetIpv6Pool(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCCidrBlock`.
Associates a CIDR block with your VPC. You can only associate a single IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56.
For more information about associating CIDR blocks with your VPC and applicable restrictions, see [VPC and Subnet Sizing](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing) in the *Amazon VPC User Guide* .
Example:
// Example automatically generated from non-compiling source. May contain errors. var vpc vpc // make an ipv6 cidr ipv6cidr := ec2.NewCfnVPCCidrBlock(this, jsii.String("CIDR6"), &CfnVPCCidrBlockProps{ VpcId: vpc.VpcId, AmazonProvidedIpv6CidrBlock: jsii.Boolean(true), }) // connect the ipv6 cidr to all vpc subnets subnetcount := 0 subnets := []iSubnet{ (SpreadElement ...vpc.publicSubnets vpc.PublicSubnets), (SpreadElement ...vpc.privateSubnets vpc.PrivateSubnets), } for _, subnet := range subnets { // Wait for the ipv6 cidr to complete subnet.Node.AddDependency(ipv6cidr) this._associate_subnet_with_v6_cidr(subnetcount, subnet) subnetcount++ } cluster := eks.NewCluster(this, jsii.String("hello-eks"), &ClusterProps{ Vpc: vpc, IpFamily: eks.IpFamily_IP_V6, VpcSubnets: []subnetSelection{ &subnetSelection{ Subnets: []*iSubnet{ (SpreadElement ...vpc.publicSubnets vpc.*PublicSubnets), }, }, }, })
func NewCfnVPCCidrBlock ¶
func NewCfnVPCCidrBlock(scope constructs.Construct, id *string, props *CfnVPCCidrBlockProps) CfnVPCCidrBlock
Create a new `AWS::EC2::VPCCidrBlock`.
type CfnVPCCidrBlockProps ¶
type CfnVPCCidrBlockProps struct { // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. // // You cannot specify the range of IPv6 addresses, or the size of the CIDR block. AmazonProvidedIpv6CidrBlock interface{} `field:"optional" json:"amazonProvidedIpv6CidrBlock" yaml:"amazonProvidedIpv6CidrBlock"` // An IPv4 CIDR block to associate with the VPC. CidrBlock *string `field:"optional" json:"cidrBlock" yaml:"cidrBlock"` // Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. // // For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv4IpamPoolId *string `field:"optional" json:"ipv4IpamPoolId" yaml:"ipv4IpamPoolId"` // The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. // // For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv4NetmaskLength *float64 `field:"optional" json:"ipv4NetmaskLength" yaml:"ipv4NetmaskLength"` // An IPv6 CIDR block from the IPv6 address pool. You must also specify `Ipv6Pool` in the request. // // To let Amazon choose the IPv6 CIDR block for you, omit this parameter. Ipv6CidrBlock *string `field:"optional" json:"ipv6CidrBlock" yaml:"ipv6CidrBlock"` // Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. // // For more information about Amazon VPC IP Address Manager (IPAM), see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv6IpamPoolId *string `field:"optional" json:"ipv6IpamPoolId" yaml:"ipv6IpamPoolId"` // The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. // // For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv6NetmaskLength *float64 `field:"optional" json:"ipv6NetmaskLength" yaml:"ipv6NetmaskLength"` // The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block. Ipv6Pool *string `field:"optional" json:"ipv6Pool" yaml:"ipv6Pool"` }
Properties for defining a `CfnVPCCidrBlock`.
Example:
// Example automatically generated from non-compiling source. May contain errors. var vpc vpc // make an ipv6 cidr ipv6cidr := ec2.NewCfnVPCCidrBlock(this, jsii.String("CIDR6"), &CfnVPCCidrBlockProps{ VpcId: vpc.VpcId, AmazonProvidedIpv6CidrBlock: jsii.Boolean(true), }) // connect the ipv6 cidr to all vpc subnets subnetcount := 0 subnets := []iSubnet{ (SpreadElement ...vpc.publicSubnets vpc.PublicSubnets), (SpreadElement ...vpc.privateSubnets vpc.PrivateSubnets), } for _, subnet := range subnets { // Wait for the ipv6 cidr to complete subnet.Node.AddDependency(ipv6cidr) this._associate_subnet_with_v6_cidr(subnetcount, subnet) subnetcount++ } cluster := eks.NewCluster(this, jsii.String("hello-eks"), &ClusterProps{ Vpc: vpc, IpFamily: eks.IpFamily_IP_V6, VpcSubnets: []subnetSelection{ &subnetSelection{ Subnets: []*iSubnet{ (SpreadElement ...vpc.publicSubnets vpc.*PublicSubnets), }, }, }, })
type CfnVPCDHCPOptionsAssociation ¶
type CfnVPCDHCPOptionsAssociation interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the DHCP options set, or `default` to associate no DHCP options with the VPC. DhcpOptionsId() *string SetDhcpOptionsId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCDHCPOptionsAssociation`.
Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC.
After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCDHCPOptionsAssociation := awscdk.Aws_ec2.NewCfnVPCDHCPOptionsAssociation(this, jsii.String("MyCfnVPCDHCPOptionsAssociation"), &CfnVPCDHCPOptionsAssociationProps{ DhcpOptionsId: jsii.String("dhcpOptionsId"), VpcId: jsii.String("vpcId"), })
func NewCfnVPCDHCPOptionsAssociation ¶
func NewCfnVPCDHCPOptionsAssociation(scope constructs.Construct, id *string, props *CfnVPCDHCPOptionsAssociationProps) CfnVPCDHCPOptionsAssociation
Create a new `AWS::EC2::VPCDHCPOptionsAssociation`.
type CfnVPCDHCPOptionsAssociationProps ¶
type CfnVPCDHCPOptionsAssociationProps struct { // The ID of the DHCP options set, or `default` to associate no DHCP options with the VPC. DhcpOptionsId *string `field:"required" json:"dhcpOptionsId" yaml:"dhcpOptionsId"` // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` }
Properties for defining a `CfnVPCDHCPOptionsAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCDHCPOptionsAssociationProps := &CfnVPCDHCPOptionsAssociationProps{ DhcpOptionsId: jsii.String("dhcpOptionsId"), VpcId: jsii.String("vpcId"), }
type CfnVPCEndpoint ¶
type CfnVPCEndpoint interface { awscdk.CfnResource awscdk.IInspectable // The date and time the VPC endpoint was created. // // For example: `Fri Sep 28 23:34:36 UTC 2018.` AttrCreationTimestamp() *string // (Interface endpoints) The DNS entries for the endpoint. // // Each entry is a combination of the hosted zone ID and the DNS name. The entries are ordered as follows: regional public DNS, zonal public DNS, private DNS, and wildcard DNS. This order is not enforced for AWS Marketplace services. // // The following is an example. In the first entry, the hosted zone ID is Z1HUB23UULQXV and the DNS name is vpce-01abc23456de78f9g-12abccd3.ec2.us-east-1.vpce.amazonaws.com. // // ["Z1HUB23UULQXV:vpce-01abc23456de78f9g-12abccd3.ec2.us-east-1.vpce.amazonaws.com", "Z1HUB23UULQXV:vpce-01abc23456de78f9g-12abccd3-us-east-1a.ec2.us-east-1.vpce.amazonaws.com", "Z1C12344VYDITB0:ec2.us-east-1.amazonaws.com"] // // If you update the `PrivateDnsEnabled` or `SubnetIds` properties, the DNS entries in the list will change. AttrDnsEntries() *[]*string // The ID of the VPC endpoint. AttrId() *string // (Interface endpoints) The network interface IDs. // // If you update the `PrivateDnsEnabled` or `SubnetIds` properties, the items in this list might change. AttrNetworkInterfaceIds() *[]*string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // An endpoint policy, which controls access to the service from the VPC. // // The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints. // // For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint. PolicyDocument() interface{} SetPolicyDocument(val interface{}) // Indicate whether to associate a private hosted zone with the specified VPC. // // The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, `kinesis.us-east-1.amazonaws.com` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service. // // To use a private hosted zone, you must set the following VPC attributes to `true` : `enableDnsHostnames` and `enableDnsSupport` . // // This property is supported only for interface endpoints. // // Default: `false`. PrivateDnsEnabled() interface{} SetPrivateDnsEnabled(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The IDs of the route tables. // // Routing is supported only for gateway endpoints. RouteTableIds() *[]*string SetRouteTableIds(val *[]*string) // The IDs of the security groups to associate with the endpoint network interfaces. // // If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints. SecurityGroupIds() *[]*string SetSecurityGroupIds(val *[]*string) // The name of the endpoint service. ServiceName() *string SetServiceName(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The IDs of the subnets in which to create endpoint network interfaces. // // You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. SubnetIds() *[]*string SetSubnetIds(val *[]*string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The type of endpoint. // // Default: Gateway. VpcEndpointType() *string SetVpcEndpointType(val *string) // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCEndpoint`.
Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS , an AWS Marketplace Partner, or another AWS accounts in your organization. For more information, see the [AWS PrivateLink User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/) .
An endpoint of type `Interface` establishes connections between the subnets in your VPC and an AWS service , your own service, or a service hosted by another AWS account . With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.
An endpoint of type `gateway` serves as a target for a route in your route table for traffic destined for Amazon S3 or DynamoDB . You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to Amazon S3 , see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint)
An endpoint of type `GatewayLoadBalancer` provides private connectivity between your VPC and virtual appliances from a service provider.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var policyDocument interface{} cfnVPCEndpoint := awscdk.Aws_ec2.NewCfnVPCEndpoint(this, jsii.String("MyCfnVPCEndpoint"), &CfnVPCEndpointProps{ ServiceName: jsii.String("serviceName"), VpcId: jsii.String("vpcId"), // the properties below are optional PolicyDocument: policyDocument, PrivateDnsEnabled: jsii.Boolean(false), RouteTableIds: []*string{ jsii.String("routeTableIds"), }, SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, SubnetIds: []*string{ jsii.String("subnetIds"), }, VpcEndpointType: jsii.String("vpcEndpointType"), })
func NewCfnVPCEndpoint ¶
func NewCfnVPCEndpoint(scope constructs.Construct, id *string, props *CfnVPCEndpointProps) CfnVPCEndpoint
Create a new `AWS::EC2::VPCEndpoint`.
type CfnVPCEndpointConnectionNotification ¶
type CfnVPCEndpointConnectionNotification interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The endpoint events for which to receive notifications. // // Valid values are `Accept` , `Connect` , `Delete` , and `Reject` . ConnectionEvents() *[]*string SetConnectionEvents(val *[]*string) // The ARN of the SNS topic for the notifications. ConnectionNotificationArn() *string SetConnectionNotificationArn(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the endpoint service. ServiceId() *string SetServiceId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the endpoint. VpcEndpointId() *string SetVpcEndpointId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCEndpointConnectionNotification`.
Specifies a connection notification for a VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see [Create a Topic](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) in the *Amazon Simple Notification Service Developer Guide* .
You can create a connection notification for interface endpoints only.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCEndpointConnectionNotification := awscdk.Aws_ec2.NewCfnVPCEndpointConnectionNotification(this, jsii.String("MyCfnVPCEndpointConnectionNotification"), &CfnVPCEndpointConnectionNotificationProps{ ConnectionEvents: []*string{ jsii.String("connectionEvents"), }, ConnectionNotificationArn: jsii.String("connectionNotificationArn"), // the properties below are optional ServiceId: jsii.String("serviceId"), VpcEndpointId: jsii.String("vpcEndpointId"), })
func NewCfnVPCEndpointConnectionNotification ¶
func NewCfnVPCEndpointConnectionNotification(scope constructs.Construct, id *string, props *CfnVPCEndpointConnectionNotificationProps) CfnVPCEndpointConnectionNotification
Create a new `AWS::EC2::VPCEndpointConnectionNotification`.
type CfnVPCEndpointConnectionNotificationProps ¶
type CfnVPCEndpointConnectionNotificationProps struct { // The endpoint events for which to receive notifications. // // Valid values are `Accept` , `Connect` , `Delete` , and `Reject` . ConnectionEvents *[]*string `field:"required" json:"connectionEvents" yaml:"connectionEvents"` // The ARN of the SNS topic for the notifications. ConnectionNotificationArn *string `field:"required" json:"connectionNotificationArn" yaml:"connectionNotificationArn"` // The ID of the endpoint service. ServiceId *string `field:"optional" json:"serviceId" yaml:"serviceId"` // The ID of the endpoint. VpcEndpointId *string `field:"optional" json:"vpcEndpointId" yaml:"vpcEndpointId"` }
Properties for defining a `CfnVPCEndpointConnectionNotification`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCEndpointConnectionNotificationProps := &CfnVPCEndpointConnectionNotificationProps{ ConnectionEvents: []*string{ jsii.String("connectionEvents"), }, ConnectionNotificationArn: jsii.String("connectionNotificationArn"), // the properties below are optional ServiceId: jsii.String("serviceId"), VpcEndpointId: jsii.String("vpcEndpointId"), }
type CfnVPCEndpointProps ¶
type CfnVPCEndpointProps struct { // The name of the endpoint service. ServiceName *string `field:"required" json:"serviceName" yaml:"serviceName"` // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // An endpoint policy, which controls access to the service from the VPC. // // The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints. // // For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint. PolicyDocument interface{} `field:"optional" json:"policyDocument" yaml:"policyDocument"` // Indicate whether to associate a private hosted zone with the specified VPC. // // The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, `kinesis.us-east-1.amazonaws.com` ), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service. // // To use a private hosted zone, you must set the following VPC attributes to `true` : `enableDnsHostnames` and `enableDnsSupport` . // // This property is supported only for interface endpoints. // // Default: `false`. PrivateDnsEnabled interface{} `field:"optional" json:"privateDnsEnabled" yaml:"privateDnsEnabled"` // The IDs of the route tables. // // Routing is supported only for gateway endpoints. RouteTableIds *[]*string `field:"optional" json:"routeTableIds" yaml:"routeTableIds"` // The IDs of the security groups to associate with the endpoint network interfaces. // // If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints. SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"` // The IDs of the subnets in which to create endpoint network interfaces. // // You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. SubnetIds *[]*string `field:"optional" json:"subnetIds" yaml:"subnetIds"` // The type of endpoint. // // Default: Gateway. VpcEndpointType *string `field:"optional" json:"vpcEndpointType" yaml:"vpcEndpointType"` }
Properties for defining a `CfnVPCEndpoint`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var policyDocument interface{} cfnVPCEndpointProps := &CfnVPCEndpointProps{ ServiceName: jsii.String("serviceName"), VpcId: jsii.String("vpcId"), // the properties below are optional PolicyDocument: policyDocument, PrivateDnsEnabled: jsii.Boolean(false), RouteTableIds: []*string{ jsii.String("routeTableIds"), }, SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, SubnetIds: []*string{ jsii.String("subnetIds"), }, VpcEndpointType: jsii.String("vpcEndpointType"), }
type CfnVPCEndpointService ¶
type CfnVPCEndpointService interface { awscdk.CfnResource awscdk.IInspectable // Indicates whether requests from service consumers to create an endpoint to your service must be accepted. AcceptanceRequired() interface{} SetAcceptanceRequired(val interface{}) // The ID of the endpoint service. AttrServiceId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink . ContributorInsightsEnabled() interface{} SetContributorInsightsEnabled(val interface{}) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The Amazon Resource Names (ARNs) of the Gateway Load Balancers. GatewayLoadBalancerArns() *[]*string SetGatewayLoadBalancerArns(val *[]*string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The Amazon Resource Names (ARNs) of the Network Load Balancers. NetworkLoadBalancerArns() *[]*string SetNetworkLoadBalancerArns(val *[]*string) // The tree node. Node() constructs.Node // The entity that is responsible for the endpoint costs. // // The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner. PayerResponsibility() *string SetPayerResponsibility(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCEndpointService`.
Creates a VPC endpoint service configuration to which service consumers ( AWS accounts, users, and IAM roles) can connect.
To create an endpoint service configuration, you must first create one of the following for your service:
- A [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) . Service consumers connect to your service using an interface endpoint. - A [Gateway Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html) . Service consumers connect to your service using a Gateway Load Balancer endpoint.
For more information, see the [AWS PrivateLink User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCEndpointService := awscdk.Aws_ec2.NewCfnVPCEndpointService(this, jsii.String("MyCfnVPCEndpointService"), &CfnVPCEndpointServiceProps{ AcceptanceRequired: jsii.Boolean(false), ContributorInsightsEnabled: jsii.Boolean(false), GatewayLoadBalancerArns: []*string{ jsii.String("gatewayLoadBalancerArns"), }, NetworkLoadBalancerArns: []*string{ jsii.String("networkLoadBalancerArns"), }, PayerResponsibility: jsii.String("payerResponsibility"), })
func NewCfnVPCEndpointService ¶
func NewCfnVPCEndpointService(scope constructs.Construct, id *string, props *CfnVPCEndpointServiceProps) CfnVPCEndpointService
Create a new `AWS::EC2::VPCEndpointService`.
type CfnVPCEndpointServicePermissions ¶
type CfnVPCEndpointServicePermissions interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). // // Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked. AllowedPrincipals() *[]*string SetAllowedPrincipals(val *[]*string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the service. ServiceId() *string SetServiceId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCEndpointServicePermissions`.
Grant or revoke permissions for service consumers (users, IAM roles, and AWS accounts) to connect to a VPC endpoint service.
If you grant permissions to all principals, the service is public. Any users who know the name of a public service can send a request to attach an endpoint. If the service does not require manual approval, attachments are automatically approved.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCEndpointServicePermissions := awscdk.Aws_ec2.NewCfnVPCEndpointServicePermissions(this, jsii.String("MyCfnVPCEndpointServicePermissions"), &CfnVPCEndpointServicePermissionsProps{ ServiceId: jsii.String("serviceId"), // the properties below are optional AllowedPrincipals: []*string{ jsii.String("allowedPrincipals"), }, })
func NewCfnVPCEndpointServicePermissions ¶
func NewCfnVPCEndpointServicePermissions(scope constructs.Construct, id *string, props *CfnVPCEndpointServicePermissionsProps) CfnVPCEndpointServicePermissions
Create a new `AWS::EC2::VPCEndpointServicePermissions`.
type CfnVPCEndpointServicePermissionsProps ¶
type CfnVPCEndpointServicePermissionsProps struct { // The ID of the service. ServiceId *string `field:"required" json:"serviceId" yaml:"serviceId"` // The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). // // Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked. AllowedPrincipals *[]*string `field:"optional" json:"allowedPrincipals" yaml:"allowedPrincipals"` }
Properties for defining a `CfnVPCEndpointServicePermissions`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCEndpointServicePermissionsProps := &CfnVPCEndpointServicePermissionsProps{ ServiceId: jsii.String("serviceId"), // the properties below are optional AllowedPrincipals: []*string{ jsii.String("allowedPrincipals"), }, }
type CfnVPCEndpointServiceProps ¶
type CfnVPCEndpointServiceProps struct { // Indicates whether requests from service consumers to create an endpoint to your service must be accepted. AcceptanceRequired interface{} `field:"optional" json:"acceptanceRequired" yaml:"acceptanceRequired"` // Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink . ContributorInsightsEnabled interface{} `field:"optional" json:"contributorInsightsEnabled" yaml:"contributorInsightsEnabled"` // The Amazon Resource Names (ARNs) of the Gateway Load Balancers. GatewayLoadBalancerArns *[]*string `field:"optional" json:"gatewayLoadBalancerArns" yaml:"gatewayLoadBalancerArns"` // The Amazon Resource Names (ARNs) of the Network Load Balancers. NetworkLoadBalancerArns *[]*string `field:"optional" json:"networkLoadBalancerArns" yaml:"networkLoadBalancerArns"` // The entity that is responsible for the endpoint costs. // // The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner. PayerResponsibility *string `field:"optional" json:"payerResponsibility" yaml:"payerResponsibility"` }
Properties for defining a `CfnVPCEndpointService`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCEndpointServiceProps := &CfnVPCEndpointServiceProps{ AcceptanceRequired: jsii.Boolean(false), ContributorInsightsEnabled: jsii.Boolean(false), GatewayLoadBalancerArns: []*string{ jsii.String("gatewayLoadBalancerArns"), }, NetworkLoadBalancerArns: []*string{ jsii.String("networkLoadBalancerArns"), }, PayerResponsibility: jsii.String("payerResponsibility"), }
type CfnVPCGatewayAttachment ¶
type CfnVPCGatewayAttachment interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the internet gateway. // // You must specify either `InternetGatewayId` or `VpnGatewayId` , but not both. InternetGatewayId() *string SetInternetGatewayId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // The ID of the virtual private gateway. // // You must specify either `InternetGatewayId` or `VpnGatewayId` , but not both. VpnGatewayId() *string SetVpnGatewayId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCGatewayAttachment`.
Attaches an internet gateway, or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCGatewayAttachment := awscdk.Aws_ec2.NewCfnVPCGatewayAttachment(this, jsii.String("MyCfnVPCGatewayAttachment"), &CfnVPCGatewayAttachmentProps{ VpcId: jsii.String("vpcId"), // the properties below are optional InternetGatewayId: jsii.String("internetGatewayId"), VpnGatewayId: jsii.String("vpnGatewayId"), })
func NewCfnVPCGatewayAttachment ¶
func NewCfnVPCGatewayAttachment(scope constructs.Construct, id *string, props *CfnVPCGatewayAttachmentProps) CfnVPCGatewayAttachment
Create a new `AWS::EC2::VPCGatewayAttachment`.
type CfnVPCGatewayAttachmentProps ¶
type CfnVPCGatewayAttachmentProps struct { // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // The ID of the internet gateway. // // You must specify either `InternetGatewayId` or `VpnGatewayId` , but not both. InternetGatewayId *string `field:"optional" json:"internetGatewayId" yaml:"internetGatewayId"` // The ID of the virtual private gateway. // // You must specify either `InternetGatewayId` or `VpnGatewayId` , but not both. VpnGatewayId *string `field:"optional" json:"vpnGatewayId" yaml:"vpnGatewayId"` }
Properties for defining a `CfnVPCGatewayAttachment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCGatewayAttachmentProps := &CfnVPCGatewayAttachmentProps{ VpcId: jsii.String("vpcId"), // the properties below are optional InternetGatewayId: jsii.String("internetGatewayId"), VpnGatewayId: jsii.String("vpnGatewayId"), }
type CfnVPCPeeringConnection ¶
type CfnVPCPeeringConnection interface { awscdk.CfnResource awscdk.IInspectable // The ID of the peering connection. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The AWS account ID of the owner of the accepter VPC. // // Default: Your AWS account ID. PeerOwnerId() *string SetPeerOwnerId(val *string) // The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request. // // Default: The Region in which you make the request. PeerRegion() *string SetPeerRegion(val *string) // The Amazon Resource Name (ARN) of the VPC peer role for the peering connection in another AWS account. // // This is required when you are peering a VPC in a different AWS account. PeerRoleArn() *string SetPeerRoleArn(val *string) // The ID of the VPC with which you are creating the VPC peering connection. // // You must specify this parameter in the request. PeerVpcId() *string SetPeerVpcId(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the resource. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPC. VpcId() *string SetVpcId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPCPeeringConnection`.
Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to a different AWS account and can be in a different Region than the requester VPC.
The requester VPC and accepter VPC cannot have overlapping CIDR blocks. If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of `failed` .
If the VPCs belong to different accounts, the acceptor account must have a role that allows the requester account to accept the VPC peering connection. For more information, see [Walkthough: Peer with a VPC in another AWS account](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/peer-with-vpc-in-another-account.html) .
If the requester and acceptor VPCs are in the same account, the peering request is accepted without a peering role.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCPeeringConnection := awscdk.Aws_ec2.NewCfnVPCPeeringConnection(this, jsii.String("MyCfnVPCPeeringConnection"), &CfnVPCPeeringConnectionProps{ PeerVpcId: jsii.String("peerVpcId"), VpcId: jsii.String("vpcId"), // the properties below are optional PeerOwnerId: jsii.String("peerOwnerId"), PeerRegion: jsii.String("peerRegion"), PeerRoleArn: jsii.String("peerRoleArn"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnVPCPeeringConnection ¶
func NewCfnVPCPeeringConnection(scope constructs.Construct, id *string, props *CfnVPCPeeringConnectionProps) CfnVPCPeeringConnection
Create a new `AWS::EC2::VPCPeeringConnection`.
type CfnVPCPeeringConnectionProps ¶
type CfnVPCPeeringConnectionProps struct { // The ID of the VPC with which you are creating the VPC peering connection. // // You must specify this parameter in the request. PeerVpcId *string `field:"required" json:"peerVpcId" yaml:"peerVpcId"` // The ID of the VPC. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // The AWS account ID of the owner of the accepter VPC. // // Default: Your AWS account ID. PeerOwnerId *string `field:"optional" json:"peerOwnerId" yaml:"peerOwnerId"` // The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request. // // Default: The Region in which you make the request. PeerRegion *string `field:"optional" json:"peerRegion" yaml:"peerRegion"` // The Amazon Resource Name (ARN) of the VPC peer role for the peering connection in another AWS account. // // This is required when you are peering a VPC in a different AWS account. PeerRoleArn *string `field:"optional" json:"peerRoleArn" yaml:"peerRoleArn"` // Any tags assigned to the resource. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnVPCPeeringConnection`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCPeeringConnectionProps := &CfnVPCPeeringConnectionProps{ PeerVpcId: jsii.String("peerVpcId"), VpcId: jsii.String("vpcId"), // the properties below are optional PeerOwnerId: jsii.String("peerOwnerId"), PeerRegion: jsii.String("peerRegion"), PeerRoleArn: jsii.String("peerRoleArn"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnVPCProps ¶
type CfnVPCProps struct { // The IPv4 network range for the VPC, in CIDR notation. // // For example, `10.0.0.0/16` . We modify the specified CIDR block to its canonical form; for example, if you specify `100.68.0.18/18` , we modify it to `100.68.0.0/18` . // // You must specify either `CidrBlock` or `Ipv4IpamPoolId` . CidrBlock *string `field:"optional" json:"cidrBlock" yaml:"cidrBlock"` // Indicates whether the instances launched in the VPC get DNS hostnames. // // If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) . // // You can only enable DNS hostnames if you've enabled DNS support. EnableDnsHostnames interface{} `field:"optional" json:"enableDnsHostnames" yaml:"enableDnsHostnames"` // Indicates whether the DNS resolution is supported for the VPC. // // If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) . EnableDnsSupport interface{} `field:"optional" json:"enableDnsSupport" yaml:"enableDnsSupport"` // The allowed tenancy of instances launched into the VPC. // // - `default` : An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch. // - `dedicated` : An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of `host` during instance launch. You cannot specify a tenancy of `default` during instance launch. // // Updating `InstanceTenancy` requires no replacement only if you are updating its value from `dedicated` to `default` . Updating `InstanceTenancy` from `default` to `dedicated` requires replacement. InstanceTenancy *string `field:"optional" json:"instanceTenancy" yaml:"instanceTenancy"` // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. // // For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . // // You must specify either `CidrBlock` or `Ipv4IpamPoolId` . Ipv4IpamPoolId *string `field:"optional" json:"ipv4IpamPoolId" yaml:"ipv4IpamPoolId"` // The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. // // For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide* . Ipv4NetmaskLength *float64 `field:"optional" json:"ipv4NetmaskLength" yaml:"ipv4NetmaskLength"` // The tags for the VPC. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnVPC`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPCProps := &CfnVPCProps{ CidrBlock: jsii.String("cidrBlock"), EnableDnsHostnames: jsii.Boolean(false), EnableDnsSupport: jsii.Boolean(false), InstanceTenancy: jsii.String("instanceTenancy"), Ipv4IpamPoolId: jsii.String("ipv4IpamPoolId"), Ipv4NetmaskLength: jsii.Number(123), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnVPNConnection ¶
type CfnVPNConnection interface { awscdk.CfnResource awscdk.IInspectable // The ID of the VPN connection. AttrVpnConnectionId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The ID of the customer gateway at your end of the VPN connection. CustomerGatewayId() *string SetCustomerGatewayId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Indicates whether the VPN connection uses static routes only. // // Static routes must be used for devices that don't support BGP. // // If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify `true` . StaticRoutesOnly() interface{} SetStaticRoutesOnly(val interface{}) // Any tags assigned to the VPN connection. Tags() awscdk.TagManager // The ID of the transit gateway associated with the VPN connection. // // You must specify either `TransitGatewayId` or `VpnGatewayId` , but not both. TransitGatewayId() *string SetTransitGatewayId(val *string) // The type of VPN connection. Type() *string SetType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the virtual private gateway at the AWS side of the VPN connection. // // You must specify either `TransitGatewayId` or `VpnGatewayId` , but not both. VpnGatewayId() *string SetVpnGatewayId(val *string) // The tunnel options for the VPN connection. VpnTunnelOptionsSpecifications() interface{} SetVpnTunnelOptionsSpecifications(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPNConnection`.
Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.
To specify a VPN connection between a transit gateway and customer gateway, use the `TransitGatewayId` and `CustomerGatewayId` properties.
To specify a VPN connection between a virtual private gateway and customer gateway, use the `VpnGatewayId` and `CustomerGatewayId` properties.
For more information, see [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *AWS Site-to-Site VPN User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNConnection := awscdk.Aws_ec2.NewCfnVPNConnection(this, jsii.String("MyCfnVPNConnection"), &CfnVPNConnectionProps{ CustomerGatewayId: jsii.String("customerGatewayId"), Type: jsii.String("type"), // the properties below are optional StaticRoutesOnly: jsii.Boolean(false), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TransitGatewayId: jsii.String("transitGatewayId"), VpnGatewayId: jsii.String("vpnGatewayId"), VpnTunnelOptionsSpecifications: []interface{}{ &VpnTunnelOptionsSpecificationProperty{ PreSharedKey: jsii.String("preSharedKey"), TunnelInsideCidr: jsii.String("tunnelInsideCidr"), }, }, })
func NewCfnVPNConnection ¶
func NewCfnVPNConnection(scope constructs.Construct, id *string, props *CfnVPNConnectionProps) CfnVPNConnection
Create a new `AWS::EC2::VPNConnection`.
type CfnVPNConnectionProps ¶
type CfnVPNConnectionProps struct { // The ID of the customer gateway at your end of the VPN connection. CustomerGatewayId *string `field:"required" json:"customerGatewayId" yaml:"customerGatewayId"` // The type of VPN connection. Type *string `field:"required" json:"type" yaml:"type"` // Indicates whether the VPN connection uses static routes only. // // Static routes must be used for devices that don't support BGP. // // If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify `true` . StaticRoutesOnly interface{} `field:"optional" json:"staticRoutesOnly" yaml:"staticRoutesOnly"` // Any tags assigned to the VPN connection. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The ID of the transit gateway associated with the VPN connection. // // You must specify either `TransitGatewayId` or `VpnGatewayId` , but not both. TransitGatewayId *string `field:"optional" json:"transitGatewayId" yaml:"transitGatewayId"` // The ID of the virtual private gateway at the AWS side of the VPN connection. // // You must specify either `TransitGatewayId` or `VpnGatewayId` , but not both. VpnGatewayId *string `field:"optional" json:"vpnGatewayId" yaml:"vpnGatewayId"` // The tunnel options for the VPN connection. VpnTunnelOptionsSpecifications interface{} `field:"optional" json:"vpnTunnelOptionsSpecifications" yaml:"vpnTunnelOptionsSpecifications"` }
Properties for defining a `CfnVPNConnection`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNConnectionProps := &CfnVPNConnectionProps{ CustomerGatewayId: jsii.String("customerGatewayId"), Type: jsii.String("type"), // the properties below are optional StaticRoutesOnly: jsii.Boolean(false), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TransitGatewayId: jsii.String("transitGatewayId"), VpnGatewayId: jsii.String("vpnGatewayId"), VpnTunnelOptionsSpecifications: []interface{}{ &VpnTunnelOptionsSpecificationProperty{ PreSharedKey: jsii.String("preSharedKey"), TunnelInsideCidr: jsii.String("tunnelInsideCidr"), }, }, }
type CfnVPNConnectionRoute ¶
type CfnVPNConnectionRoute interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The CIDR block associated with the local subnet of the customer network. DestinationCidrBlock() *string SetDestinationCidrBlock(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the VPN connection. VpnConnectionId() *string SetVpnConnectionId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPNConnectionRoute`.
Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.
For more information, see [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *AWS Site-to-Site VPN User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNConnectionRoute := awscdk.Aws_ec2.NewCfnVPNConnectionRoute(this, jsii.String("MyCfnVPNConnectionRoute"), &CfnVPNConnectionRouteProps{ DestinationCidrBlock: jsii.String("destinationCidrBlock"), VpnConnectionId: jsii.String("vpnConnectionId"), })
func NewCfnVPNConnectionRoute ¶
func NewCfnVPNConnectionRoute(scope constructs.Construct, id *string, props *CfnVPNConnectionRouteProps) CfnVPNConnectionRoute
Create a new `AWS::EC2::VPNConnectionRoute`.
type CfnVPNConnectionRouteProps ¶
type CfnVPNConnectionRouteProps struct { // The CIDR block associated with the local subnet of the customer network. DestinationCidrBlock *string `field:"required" json:"destinationCidrBlock" yaml:"destinationCidrBlock"` // The ID of the VPN connection. VpnConnectionId *string `field:"required" json:"vpnConnectionId" yaml:"vpnConnectionId"` }
Properties for defining a `CfnVPNConnectionRoute`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNConnectionRouteProps := &CfnVPNConnectionRouteProps{ DestinationCidrBlock: jsii.String("destinationCidrBlock"), VpnConnectionId: jsii.String("vpnConnectionId"), }
type CfnVPNConnection_VpnTunnelOptionsSpecificationProperty ¶
type CfnVPNConnection_VpnTunnelOptionsSpecificationProperty struct { // // Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). PreSharedKey *string `field:"optional" json:"preSharedKey" yaml:"preSharedKey"` // The range of inside IP addresses for the tunnel. // // Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. // // Constraints: A size /30 CIDR block from the `169.254.0.0/16` range. The following CIDR blocks are reserved and cannot be used: // // - `169.254.0.0/30` // - `169.254.1.0/30` // - `169.254.2.0/30` // - `169.254.3.0/30` // - `169.254.4.0/30` // - `169.254.5.0/30` // - `169.254.169.252/30` TunnelInsideCidr *string `field:"optional" json:"tunnelInsideCidr" yaml:"tunnelInsideCidr"` }
The tunnel options for a single VPN tunnel.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpnTunnelOptionsSpecificationProperty := &VpnTunnelOptionsSpecificationProperty{ PreSharedKey: jsii.String("preSharedKey"), TunnelInsideCidr: jsii.String("tunnelInsideCidr"), }
type CfnVPNGateway ¶
type CfnVPNGateway interface { awscdk.CfnResource awscdk.IInspectable // The private Autonomous System Number (ASN) for the Amazon side of a BGP session. AmazonSideAsn() *float64 SetAmazonSideAsn(val *float64) // The ID of the VPN gateway. AttrVpnGatewayId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Any tags assigned to the virtual private gateway. Tags() awscdk.TagManager // The type of VPN connection the virtual private gateway supports. Type() *string SetType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPNGateway`.
Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.
For more information, see [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *AWS Site-to-Site VPN User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNGateway := awscdk.Aws_ec2.NewCfnVPNGateway(this, jsii.String("MyCfnVPNGateway"), &CfnVPNGatewayProps{ Type: jsii.String("type"), // the properties below are optional AmazonSideAsn: jsii.Number(123), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnVPNGateway ¶
func NewCfnVPNGateway(scope constructs.Construct, id *string, props *CfnVPNGatewayProps) CfnVPNGateway
Create a new `AWS::EC2::VPNGateway`.
type CfnVPNGatewayProps ¶
type CfnVPNGatewayProps struct { // The type of VPN connection the virtual private gateway supports. Type *string `field:"required" json:"type" yaml:"type"` // The private Autonomous System Number (ASN) for the Amazon side of a BGP session. AmazonSideAsn *float64 `field:"optional" json:"amazonSideAsn" yaml:"amazonSideAsn"` // Any tags assigned to the virtual private gateway. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnVPNGateway`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNGatewayProps := &CfnVPNGatewayProps{ Type: jsii.String("type"), // the properties below are optional AmazonSideAsn: jsii.Number(123), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnVPNGatewayRoutePropagation ¶
type CfnVPNGatewayRoutePropagation interface { awscdk.CfnResource awscdk.IInspectable // The ID of the VPN gateway. AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the route table. // // The routing table must be associated with the same VPC that the virtual private gateway is attached to. RouteTableIds() *[]*string SetRouteTableIds(val *[]*string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the virtual private gateway that is attached to a VPC. // // The virtual private gateway must be attached to the same VPC that the routing tables are associated with. VpnGatewayId() *string SetVpnGatewayId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VPNGatewayRoutePropagation`.
Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.
If you reference a VPN gateway that is in the same template as your VPN gateway route propagation, you must explicitly declare a dependency on the VPN gateway attachment. The `AWS::EC2::VPNGatewayRoutePropagation` resource cannot use the VPN gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the `AWS::EC2::VPNGatewayRoutePropagation` resource to explicitly declare a dependency on the VPN gateway attachment.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNGatewayRoutePropagation := awscdk.Aws_ec2.NewCfnVPNGatewayRoutePropagation(this, jsii.String("MyCfnVPNGatewayRoutePropagation"), &CfnVPNGatewayRoutePropagationProps{ RouteTableIds: []*string{ jsii.String("routeTableIds"), }, VpnGatewayId: jsii.String("vpnGatewayId"), })
func NewCfnVPNGatewayRoutePropagation ¶
func NewCfnVPNGatewayRoutePropagation(scope constructs.Construct, id *string, props *CfnVPNGatewayRoutePropagationProps) CfnVPNGatewayRoutePropagation
Create a new `AWS::EC2::VPNGatewayRoutePropagation`.
type CfnVPNGatewayRoutePropagationProps ¶
type CfnVPNGatewayRoutePropagationProps struct { // The ID of the route table. // // The routing table must be associated with the same VPC that the virtual private gateway is attached to. RouteTableIds *[]*string `field:"required" json:"routeTableIds" yaml:"routeTableIds"` // The ID of the virtual private gateway that is attached to a VPC. // // The virtual private gateway must be attached to the same VPC that the routing tables are associated with. VpnGatewayId *string `field:"required" json:"vpnGatewayId" yaml:"vpnGatewayId"` }
Properties for defining a `CfnVPNGatewayRoutePropagation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVPNGatewayRoutePropagationProps := &CfnVPNGatewayRoutePropagationProps{ RouteTableIds: []*string{ jsii.String("routeTableIds"), }, VpnGatewayId: jsii.String("vpnGatewayId"), }
type CfnVerifiedAccessEndpoint ¶ added in v2.80.0
type CfnVerifiedAccessEndpoint interface { awscdk.CfnResource awscdk.IInspectable // The DNS name for users to reach your application. ApplicationDomain() *string SetApplicationDomain(val *string) // The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application. AttachmentType() *string SetAttachmentType(val *string) // The creation time. AttrCreationTime() *string // Use this to construct the redirect URI to add to your OIDC provider's allow list. AttrDeviceValidationDomain() *string // The DNS name generated for the endpoint. AttrEndpointDomain() *string // The last updated time. AttrLastUpdatedTime() *string // The endpoint status. AttrStatus() *string // The ID of the Verified Access endpoint. AttrVerifiedAccessEndpointId() *string // The instance identifier. AttrVerifiedAccessInstanceId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description for the AWS Verified Access endpoint. Description() *string SetDescription(val *string) // The ARN of a public TLS/SSL certificate imported into or created with ACM. DomainCertificateArn() *string SetDomainCertificateArn(val *string) // A custom identifier that is prepended to the DNS name that is generated for the endpoint. EndpointDomainPrefix() *string SetEndpointDomainPrefix(val *string) // The type of AWS Verified Access endpoint. // // Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified. EndpointType() *string SetEndpointType(val *string) // The load balancer details if creating the AWS Verified Access endpoint as `load-balancer` type. LoadBalancerOptions() interface{} SetLoadBalancerOptions(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The options for network-interface type endpoint. NetworkInterfaceOptions() interface{} SetNetworkInterfaceOptions(val interface{}) // The tree node. Node() constructs.Node // The Verified Access policy document. PolicyDocument() *string SetPolicyDocument(val *string) // The status of the Verified Access policy. PolicyEnabled() interface{} SetPolicyEnabled(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The IDs of the security groups for the endpoint. SecurityGroupIds() *[]*string SetSecurityGroupIds(val *[]*string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the AWS Verified Access group. VerifiedAccessGroupId() *string SetVerifiedAccessGroupId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VerifiedAccessEndpoint`.
An AWS Verified Access endpoint specifies the application that AWS Verified Access provides access to. It must be attached to an AWS Verified Access group. An AWS Verified Access endpoint must also have an attached access policy before you attached it to a group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessEndpoint := awscdk.Aws_ec2.NewCfnVerifiedAccessEndpoint(this, jsii.String("MyCfnVerifiedAccessEndpoint"), &CfnVerifiedAccessEndpointProps{ ApplicationDomain: jsii.String("applicationDomain"), AttachmentType: jsii.String("attachmentType"), DomainCertificateArn: jsii.String("domainCertificateArn"), EndpointDomainPrefix: jsii.String("endpointDomainPrefix"), EndpointType: jsii.String("endpointType"), VerifiedAccessGroupId: jsii.String("verifiedAccessGroupId"), // the properties below are optional Description: jsii.String("description"), LoadBalancerOptions: &LoadBalancerOptionsProperty{ LoadBalancerArn: jsii.String("loadBalancerArn"), Port: jsii.Number(123), Protocol: jsii.String("protocol"), SubnetIds: []*string{ jsii.String("subnetIds"), }, }, NetworkInterfaceOptions: &NetworkInterfaceOptionsProperty{ NetworkInterfaceId: jsii.String("networkInterfaceId"), Port: jsii.Number(123), Protocol: jsii.String("protocol"), }, PolicyDocument: jsii.String("policyDocument"), PolicyEnabled: jsii.Boolean(false), SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnVerifiedAccessEndpoint ¶ added in v2.80.0
func NewCfnVerifiedAccessEndpoint(scope constructs.Construct, id *string, props *CfnVerifiedAccessEndpointProps) CfnVerifiedAccessEndpoint
Create a new `AWS::EC2::VerifiedAccessEndpoint`.
type CfnVerifiedAccessEndpointProps ¶ added in v2.80.0
type CfnVerifiedAccessEndpointProps struct { // The DNS name for users to reach your application. ApplicationDomain *string `field:"required" json:"applicationDomain" yaml:"applicationDomain"` // The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application. AttachmentType *string `field:"required" json:"attachmentType" yaml:"attachmentType"` // The ARN of a public TLS/SSL certificate imported into or created with ACM. DomainCertificateArn *string `field:"required" json:"domainCertificateArn" yaml:"domainCertificateArn"` // A custom identifier that is prepended to the DNS name that is generated for the endpoint. EndpointDomainPrefix *string `field:"required" json:"endpointDomainPrefix" yaml:"endpointDomainPrefix"` // The type of AWS Verified Access endpoint. // // Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified. EndpointType *string `field:"required" json:"endpointType" yaml:"endpointType"` // The ID of the AWS Verified Access group. VerifiedAccessGroupId *string `field:"required" json:"verifiedAccessGroupId" yaml:"verifiedAccessGroupId"` // A description for the AWS Verified Access endpoint. Description *string `field:"optional" json:"description" yaml:"description"` // The load balancer details if creating the AWS Verified Access endpoint as `load-balancer` type. LoadBalancerOptions interface{} `field:"optional" json:"loadBalancerOptions" yaml:"loadBalancerOptions"` // The options for network-interface type endpoint. NetworkInterfaceOptions interface{} `field:"optional" json:"networkInterfaceOptions" yaml:"networkInterfaceOptions"` // The Verified Access policy document. PolicyDocument *string `field:"optional" json:"policyDocument" yaml:"policyDocument"` // The status of the Verified Access policy. PolicyEnabled interface{} `field:"optional" json:"policyEnabled" yaml:"policyEnabled"` // The IDs of the security groups for the endpoint. SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"` // The tags. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnVerifiedAccessEndpoint`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessEndpointProps := &CfnVerifiedAccessEndpointProps{ ApplicationDomain: jsii.String("applicationDomain"), AttachmentType: jsii.String("attachmentType"), DomainCertificateArn: jsii.String("domainCertificateArn"), EndpointDomainPrefix: jsii.String("endpointDomainPrefix"), EndpointType: jsii.String("endpointType"), VerifiedAccessGroupId: jsii.String("verifiedAccessGroupId"), // the properties below are optional Description: jsii.String("description"), LoadBalancerOptions: &LoadBalancerOptionsProperty{ LoadBalancerArn: jsii.String("loadBalancerArn"), Port: jsii.Number(123), Protocol: jsii.String("protocol"), SubnetIds: []*string{ jsii.String("subnetIds"), }, }, NetworkInterfaceOptions: &NetworkInterfaceOptionsProperty{ NetworkInterfaceId: jsii.String("networkInterfaceId"), Port: jsii.Number(123), Protocol: jsii.String("protocol"), }, PolicyDocument: jsii.String("policyDocument"), PolicyEnabled: jsii.Boolean(false), SecurityGroupIds: []*string{ jsii.String("securityGroupIds"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnVerifiedAccessEndpoint_LoadBalancerOptionsProperty ¶ added in v2.80.0
type CfnVerifiedAccessEndpoint_LoadBalancerOptionsProperty struct { // The ARN of the load balancer. LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"` // The IP port number. Port *float64 `field:"optional" json:"port" yaml:"port"` // The IP protocol. Protocol *string `field:"optional" json:"protocol" yaml:"protocol"` // The IDs of the subnets. SubnetIds *[]*string `field:"optional" json:"subnetIds" yaml:"subnetIds"` }
Describes the load balancer options when creating an AWS Verified Access endpoint using the `load-balancer` type.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" loadBalancerOptionsProperty := &LoadBalancerOptionsProperty{ LoadBalancerArn: jsii.String("loadBalancerArn"), Port: jsii.Number(123), Protocol: jsii.String("protocol"), SubnetIds: []*string{ jsii.String("subnetIds"), }, }
type CfnVerifiedAccessEndpoint_NetworkInterfaceOptionsProperty ¶ added in v2.80.0
type CfnVerifiedAccessEndpoint_NetworkInterfaceOptionsProperty struct { // The ID of the network interface. NetworkInterfaceId *string `field:"optional" json:"networkInterfaceId" yaml:"networkInterfaceId"` // The IP port number. Port *float64 `field:"optional" json:"port" yaml:"port"` // The IP protocol. Protocol *string `field:"optional" json:"protocol" yaml:"protocol"` }
Describes the network interface options when creating an AWS Verified Access endpoint using the `network-interface` type.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" networkInterfaceOptionsProperty := &NetworkInterfaceOptionsProperty{ NetworkInterfaceId: jsii.String("networkInterfaceId"), Port: jsii.Number(123), Protocol: jsii.String("protocol"), }
type CfnVerifiedAccessGroup ¶ added in v2.80.0
type CfnVerifiedAccessGroup interface { awscdk.CfnResource awscdk.IInspectable // The creation time. AttrCreationTime() *string // The last updated time. AttrLastUpdatedTime() *string // The ID of the AWS account that owns the group. AttrOwner() *string // The ARN of the Verified Access group. AttrVerifiedAccessGroupArn() *string // The ID of the Verified Access group. AttrVerifiedAccessGroupId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description for the AWS Verified Access group. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The Verified Access policy document. PolicyDocument() *string SetPolicyDocument(val *string) // The status of the Verified Access policy. PolicyEnabled() interface{} SetPolicyEnabled(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the AWS Verified Access instance. VerifiedAccessInstanceId() *string SetVerifiedAccessInstanceId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VerifiedAccessGroup`.
Describes a Verified Access group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessGroup := awscdk.Aws_ec2.NewCfnVerifiedAccessGroup(this, jsii.String("MyCfnVerifiedAccessGroup"), &CfnVerifiedAccessGroupProps{ VerifiedAccessInstanceId: jsii.String("verifiedAccessInstanceId"), // the properties below are optional Description: jsii.String("description"), PolicyDocument: jsii.String("policyDocument"), PolicyEnabled: jsii.Boolean(false), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnVerifiedAccessGroup ¶ added in v2.80.0
func NewCfnVerifiedAccessGroup(scope constructs.Construct, id *string, props *CfnVerifiedAccessGroupProps) CfnVerifiedAccessGroup
Create a new `AWS::EC2::VerifiedAccessGroup`.
type CfnVerifiedAccessGroupProps ¶ added in v2.80.0
type CfnVerifiedAccessGroupProps struct { // The ID of the AWS Verified Access instance. VerifiedAccessInstanceId *string `field:"required" json:"verifiedAccessInstanceId" yaml:"verifiedAccessInstanceId"` // A description for the AWS Verified Access group. Description *string `field:"optional" json:"description" yaml:"description"` // The Verified Access policy document. PolicyDocument *string `field:"optional" json:"policyDocument" yaml:"policyDocument"` // The status of the Verified Access policy. PolicyEnabled interface{} `field:"optional" json:"policyEnabled" yaml:"policyEnabled"` // The tags. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnVerifiedAccessGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessGroupProps := &CfnVerifiedAccessGroupProps{ VerifiedAccessInstanceId: jsii.String("verifiedAccessInstanceId"), // the properties below are optional Description: jsii.String("description"), PolicyDocument: jsii.String("policyDocument"), PolicyEnabled: jsii.Boolean(false), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnVerifiedAccessInstance ¶ added in v2.79.0
type CfnVerifiedAccessInstance interface { awscdk.CfnResource awscdk.IInspectable // The creation time. AttrCreationTime() *string // The last updated time. AttrLastUpdatedTime() *string // The ID of the Verified Access instance. AttrVerifiedAccessInstanceId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description for the AWS Verified Access instance. Description() *string SetDescription(val *string) // The current logging configuration for the Verified Access instances. LoggingConfigurations() interface{} SetLoggingConfigurations(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags. Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The IDs of the AWS Verified Access trust providers. VerifiedAccessTrustProviderIds() *[]*string SetVerifiedAccessTrustProviderIds(val *[]*string) // The IDs of the AWS Verified Access trust providers. VerifiedAccessTrustProviders() interface{} SetVerifiedAccessTrustProviders(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VerifiedAccessInstance`.
Describes a Verified Access instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessInstance := awscdk.Aws_ec2.NewCfnVerifiedAccessInstance(this, jsii.String("MyCfnVerifiedAccessInstance"), &CfnVerifiedAccessInstanceProps{ Description: jsii.String("description"), LoggingConfigurations: &VerifiedAccessLogsProperty{ CloudWatchLogs: &CloudWatchLogsProperty{ Enabled: jsii.Boolean(false), LogGroup: jsii.String("logGroup"), }, KinesisDataFirehose: &KinesisDataFirehoseProperty{ DeliveryStream: jsii.String("deliveryStream"), Enabled: jsii.Boolean(false), }, S3: &S3Property{ BucketName: jsii.String("bucketName"), BucketOwner: jsii.String("bucketOwner"), Enabled: jsii.Boolean(false), Prefix: jsii.String("prefix"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VerifiedAccessTrustProviderIds: []*string{ jsii.String("verifiedAccessTrustProviderIds"), }, VerifiedAccessTrustProviders: []interface{}{ &VerifiedAccessTrustProviderProperty{ Description: jsii.String("description"), DeviceTrustProviderType: jsii.String("deviceTrustProviderType"), TrustProviderType: jsii.String("trustProviderType"), UserTrustProviderType: jsii.String("userTrustProviderType"), VerifiedAccessTrustProviderId: jsii.String("verifiedAccessTrustProviderId"), }, }, })
func NewCfnVerifiedAccessInstance ¶ added in v2.79.0
func NewCfnVerifiedAccessInstance(scope constructs.Construct, id *string, props *CfnVerifiedAccessInstanceProps) CfnVerifiedAccessInstance
Create a new `AWS::EC2::VerifiedAccessInstance`.
type CfnVerifiedAccessInstanceProps ¶ added in v2.79.0
type CfnVerifiedAccessInstanceProps struct { // A description for the AWS Verified Access instance. Description *string `field:"optional" json:"description" yaml:"description"` // The current logging configuration for the Verified Access instances. LoggingConfigurations interface{} `field:"optional" json:"loggingConfigurations" yaml:"loggingConfigurations"` // The tags. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The IDs of the AWS Verified Access trust providers. VerifiedAccessTrustProviderIds *[]*string `field:"optional" json:"verifiedAccessTrustProviderIds" yaml:"verifiedAccessTrustProviderIds"` // The IDs of the AWS Verified Access trust providers. VerifiedAccessTrustProviders interface{} `field:"optional" json:"verifiedAccessTrustProviders" yaml:"verifiedAccessTrustProviders"` }
Properties for defining a `CfnVerifiedAccessInstance`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessInstanceProps := &CfnVerifiedAccessInstanceProps{ Description: jsii.String("description"), LoggingConfigurations: &VerifiedAccessLogsProperty{ CloudWatchLogs: &CloudWatchLogsProperty{ Enabled: jsii.Boolean(false), LogGroup: jsii.String("logGroup"), }, KinesisDataFirehose: &KinesisDataFirehoseProperty{ DeliveryStream: jsii.String("deliveryStream"), Enabled: jsii.Boolean(false), }, S3: &S3Property{ BucketName: jsii.String("bucketName"), BucketOwner: jsii.String("bucketOwner"), Enabled: jsii.Boolean(false), Prefix: jsii.String("prefix"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VerifiedAccessTrustProviderIds: []*string{ jsii.String("verifiedAccessTrustProviderIds"), }, VerifiedAccessTrustProviders: []interface{}{ &VerifiedAccessTrustProviderProperty{ Description: jsii.String("description"), DeviceTrustProviderType: jsii.String("deviceTrustProviderType"), TrustProviderType: jsii.String("trustProviderType"), UserTrustProviderType: jsii.String("userTrustProviderType"), VerifiedAccessTrustProviderId: jsii.String("verifiedAccessTrustProviderId"), }, }, }
type CfnVerifiedAccessInstance_CloudWatchLogsProperty ¶ added in v2.79.0
type CfnVerifiedAccessInstance_CloudWatchLogsProperty struct { // Indicates whether logging is enabled. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` // The ID of the CloudWatch Logs log group. LogGroup *string `field:"optional" json:"logGroup" yaml:"logGroup"` }
Options for CloudWatch Logs as a logging destination.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cloudWatchLogsProperty := &CloudWatchLogsProperty{ Enabled: jsii.Boolean(false), LogGroup: jsii.String("logGroup"), }
type CfnVerifiedAccessInstance_KinesisDataFirehoseProperty ¶ added in v2.79.0
type CfnVerifiedAccessInstance_KinesisDataFirehoseProperty struct { // The ID of the delivery stream. DeliveryStream *string `field:"optional" json:"deliveryStream" yaml:"deliveryStream"` // Indicates whether logging is enabled. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` }
Options for Kinesis as a logging destination.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" kinesisDataFirehoseProperty := &KinesisDataFirehoseProperty{ DeliveryStream: jsii.String("deliveryStream"), Enabled: jsii.Boolean(false), }
type CfnVerifiedAccessInstance_S3Property ¶ added in v2.79.0
type CfnVerifiedAccessInstance_S3Property struct { // The bucket name. BucketName *string `field:"optional" json:"bucketName" yaml:"bucketName"` // The AWS account number that owns the bucket. BucketOwner *string `field:"optional" json:"bucketOwner" yaml:"bucketOwner"` // Indicates whether logging is enabled. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` // The bucket prefix. Prefix *string `field:"optional" json:"prefix" yaml:"prefix"` }
Options for Amazon S3 as a logging destination.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" s3Property := &S3Property{ BucketName: jsii.String("bucketName"), BucketOwner: jsii.String("bucketOwner"), Enabled: jsii.Boolean(false), Prefix: jsii.String("prefix"), }
type CfnVerifiedAccessInstance_VerifiedAccessLogsProperty ¶ added in v2.79.0
type CfnVerifiedAccessInstance_VerifiedAccessLogsProperty struct { // CloudWatch Logs logging destination. CloudWatchLogs interface{} `field:"optional" json:"cloudWatchLogs" yaml:"cloudWatchLogs"` // Kinesis logging destination. KinesisDataFirehose interface{} `field:"optional" json:"kinesisDataFirehose" yaml:"kinesisDataFirehose"` // Amazon S3 logging options. S3 interface{} `field:"optional" json:"s3" yaml:"s3"` }
Describes the options for Verified Access logs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" verifiedAccessLogsProperty := &VerifiedAccessLogsProperty{ CloudWatchLogs: &CloudWatchLogsProperty{ Enabled: jsii.Boolean(false), LogGroup: jsii.String("logGroup"), }, KinesisDataFirehose: &KinesisDataFirehoseProperty{ DeliveryStream: jsii.String("deliveryStream"), Enabled: jsii.Boolean(false), }, S3: &S3Property{ BucketName: jsii.String("bucketName"), BucketOwner: jsii.String("bucketOwner"), Enabled: jsii.Boolean(false), Prefix: jsii.String("prefix"), }, }
type CfnVerifiedAccessInstance_VerifiedAccessTrustProviderProperty ¶ added in v2.79.0
type CfnVerifiedAccessInstance_VerifiedAccessTrustProviderProperty struct { // A description for the AWS Verified Access trust provider. Description *string `field:"optional" json:"description" yaml:"description"` // The type of device-based trust provider. DeviceTrustProviderType *string `field:"optional" json:"deviceTrustProviderType" yaml:"deviceTrustProviderType"` // The type of Verified Access trust provider. TrustProviderType *string `field:"optional" json:"trustProviderType" yaml:"trustProviderType"` // The type of user-based trust provider. UserTrustProviderType *string `field:"optional" json:"userTrustProviderType" yaml:"userTrustProviderType"` // The ID of the AWS Verified Access trust provider. VerifiedAccessTrustProviderId *string `field:"optional" json:"verifiedAccessTrustProviderId" yaml:"verifiedAccessTrustProviderId"` }
Describes a Verified Access trust provider.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" verifiedAccessTrustProviderProperty := &VerifiedAccessTrustProviderProperty{ Description: jsii.String("description"), DeviceTrustProviderType: jsii.String("deviceTrustProviderType"), TrustProviderType: jsii.String("trustProviderType"), UserTrustProviderType: jsii.String("userTrustProviderType"), VerifiedAccessTrustProviderId: jsii.String("verifiedAccessTrustProviderId"), }
type CfnVerifiedAccessTrustProvider ¶ added in v2.80.0
type CfnVerifiedAccessTrustProvider interface { awscdk.CfnResource awscdk.IInspectable // The creation time. AttrCreationTime() *string // The last updated time. AttrLastUpdatedTime() *string // The ID of the Verified Access trust provider. AttrVerifiedAccessTrustProviderId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description for the AWS Verified Access trust provider. Description() *string SetDescription(val *string) // The options for device-identity trust provider. DeviceOptions() interface{} SetDeviceOptions(val interface{}) // The type of device-based trust provider. DeviceTrustProviderType() *string SetDeviceTrustProviderType(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The options for an OpenID Connect-compatible user-identity trust provider. OidcOptions() interface{} SetOidcOptions(val interface{}) // The identifier to be used when working with policy rules. PolicyReferenceName() *string SetPolicyReferenceName(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags. Tags() awscdk.TagManager // The type of Verified Access trust provider. TrustProviderType() *string SetTrustProviderType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The type of user-based trust provider. UserTrustProviderType() *string SetUserTrustProviderType(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VerifiedAccessTrustProvider`.
Describes a Verified Access trust provider.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessTrustProvider := awscdk.Aws_ec2.NewCfnVerifiedAccessTrustProvider(this, jsii.String("MyCfnVerifiedAccessTrustProvider"), &CfnVerifiedAccessTrustProviderProps{ PolicyReferenceName: jsii.String("policyReferenceName"), TrustProviderType: jsii.String("trustProviderType"), // the properties below are optional Description: jsii.String("description"), DeviceOptions: &DeviceOptionsProperty{ TenantId: jsii.String("tenantId"), }, DeviceTrustProviderType: jsii.String("deviceTrustProviderType"), OidcOptions: &OidcOptionsProperty{ AuthorizationEndpoint: jsii.String("authorizationEndpoint"), ClientId: jsii.String("clientId"), ClientSecret: jsii.String("clientSecret"), Issuer: jsii.String("issuer"), Scope: jsii.String("scope"), TokenEndpoint: jsii.String("tokenEndpoint"), UserInfoEndpoint: jsii.String("userInfoEndpoint"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, UserTrustProviderType: jsii.String("userTrustProviderType"), })
func NewCfnVerifiedAccessTrustProvider ¶ added in v2.80.0
func NewCfnVerifiedAccessTrustProvider(scope constructs.Construct, id *string, props *CfnVerifiedAccessTrustProviderProps) CfnVerifiedAccessTrustProvider
Create a new `AWS::EC2::VerifiedAccessTrustProvider`.
type CfnVerifiedAccessTrustProviderProps ¶ added in v2.80.0
type CfnVerifiedAccessTrustProviderProps struct { // The identifier to be used when working with policy rules. PolicyReferenceName *string `field:"required" json:"policyReferenceName" yaml:"policyReferenceName"` // The type of Verified Access trust provider. TrustProviderType *string `field:"required" json:"trustProviderType" yaml:"trustProviderType"` // A description for the AWS Verified Access trust provider. Description *string `field:"optional" json:"description" yaml:"description"` // The options for device-identity trust provider. DeviceOptions interface{} `field:"optional" json:"deviceOptions" yaml:"deviceOptions"` // The type of device-based trust provider. DeviceTrustProviderType *string `field:"optional" json:"deviceTrustProviderType" yaml:"deviceTrustProviderType"` // The options for an OpenID Connect-compatible user-identity trust provider. OidcOptions interface{} `field:"optional" json:"oidcOptions" yaml:"oidcOptions"` // The tags. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The type of user-based trust provider. UserTrustProviderType *string `field:"optional" json:"userTrustProviderType" yaml:"userTrustProviderType"` }
Properties for defining a `CfnVerifiedAccessTrustProvider`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVerifiedAccessTrustProviderProps := &CfnVerifiedAccessTrustProviderProps{ PolicyReferenceName: jsii.String("policyReferenceName"), TrustProviderType: jsii.String("trustProviderType"), // the properties below are optional Description: jsii.String("description"), DeviceOptions: &DeviceOptionsProperty{ TenantId: jsii.String("tenantId"), }, DeviceTrustProviderType: jsii.String("deviceTrustProviderType"), OidcOptions: &OidcOptionsProperty{ AuthorizationEndpoint: jsii.String("authorizationEndpoint"), ClientId: jsii.String("clientId"), ClientSecret: jsii.String("clientSecret"), Issuer: jsii.String("issuer"), Scope: jsii.String("scope"), TokenEndpoint: jsii.String("tokenEndpoint"), UserInfoEndpoint: jsii.String("userInfoEndpoint"), }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, UserTrustProviderType: jsii.String("userTrustProviderType"), }
type CfnVerifiedAccessTrustProvider_DeviceOptionsProperty ¶ added in v2.80.0
type CfnVerifiedAccessTrustProvider_DeviceOptionsProperty struct { // The ID of the tenant application with the device-identity provider. TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"` }
Describes the options for an AWS Verified Access device-identity based trust provider.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" deviceOptionsProperty := &DeviceOptionsProperty{ TenantId: jsii.String("tenantId"), }
type CfnVerifiedAccessTrustProvider_OidcOptionsProperty ¶ added in v2.80.0
type CfnVerifiedAccessTrustProvider_OidcOptionsProperty struct { // The OIDC authorization endpoint. AuthorizationEndpoint *string `field:"optional" json:"authorizationEndpoint" yaml:"authorizationEndpoint"` // The client identifier. ClientId *string `field:"optional" json:"clientId" yaml:"clientId"` // The client secret. ClientSecret *string `field:"optional" json:"clientSecret" yaml:"clientSecret"` // The OIDC issuer. Issuer *string `field:"optional" json:"issuer" yaml:"issuer"` // The OpenID Connect (OIDC) scope specified. Scope *string `field:"optional" json:"scope" yaml:"scope"` // The OIDC token endpoint. TokenEndpoint *string `field:"optional" json:"tokenEndpoint" yaml:"tokenEndpoint"` // The OIDC user info endpoint. UserInfoEndpoint *string `field:"optional" json:"userInfoEndpoint" yaml:"userInfoEndpoint"` }
Describes the options for an OpenID Connect-compatible user-identity trust provider.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" oidcOptionsProperty := &OidcOptionsProperty{ AuthorizationEndpoint: jsii.String("authorizationEndpoint"), ClientId: jsii.String("clientId"), ClientSecret: jsii.String("clientSecret"), Issuer: jsii.String("issuer"), Scope: jsii.String("scope"), TokenEndpoint: jsii.String("tokenEndpoint"), UserInfoEndpoint: jsii.String("userInfoEndpoint"), }
type CfnVolume ¶
type CfnVolume interface { awscdk.CfnResource awscdk.IInspectable // The ID of the volume. AttrVolumeId() *string // Indicates whether the volume is auto-enabled for I/O operations. // // By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O. AutoEnableIo() interface{} SetAutoEnableIo(val interface{}) // The ID of the Availability Zone in which to create the volume. // // For example, `us-east-1a` . AvailabilityZone() *string SetAvailabilityZone(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Indicates whether the volume should be encrypted. // // The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide* . // // Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) . Encrypted() interface{} SetEncrypted(val interface{}) // The number of I/O operations per second (IOPS). // // For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. // // The following are the supported values for each volume type: // // - `gp3` : 3,000-16,000 IOPS // - `io1` : 100-64,000 IOPS // - `io2` : 100-64,000 IOPS // // `io1` and `io2` volumes support up to 64,000 IOPS only on [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families support performance up to 32,000 IOPS. // // This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes. Iops() *float64 SetIops(val *float64) // The identifier of the AWS KMS key to use for Amazon EBS encryption. // // If `KmsKeyId` is specified, the encrypted state must be `true` . // // If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to `true` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key . // // Alternatively, if you want to specify a different key, you can specify one of the following: // // - Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. // - Key alias. Specify the alias for the key, prefixed with `alias/` . For example, for a key with the alias `my_cmk` , use `alias/my_cmk` . Or to specify the AWS managed key , use `alias/aws/ebs` . // - Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. // - Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. KmsKeyId() *string SetKmsKeyId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Indicates whether Amazon EBS Multi-Attach is enabled. // // AWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume. MultiAttachEnabled() interface{} SetMultiAttachEnabled(val interface{}) // The tree node. Node() constructs.Node // The Amazon Resource Name (ARN) of the Outpost. OutpostArn() *string SetOutpostArn(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The size of the volume, in GiBs. // // You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. // // The following are the supported volumes sizes for each volume type: // // - `gp2` and `gp3` : 1-16,384 // - `io1` and `io2` : 4-16,384 // - `st1` and `sc1` : 125-16,384 // - `standard` : 1-1,024. Size() *float64 SetSize(val *float64) // The snapshot from which to create the volume. // // You must specify either a snapshot ID or a volume size. SnapshotId() *string SetSnapshotId(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The tags to apply to the volume during creation. Tags() awscdk.TagManager // The throughput to provision for a volume, with a maximum of 1,000 MiB/s. // // This parameter is valid only for `gp3` volumes. The default value is 125. // // Valid Range: Minimum value of 125. Maximum value of 1000. Throughput() *float64 SetThroughput(val *float64) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The volume type. This parameter can be one of the following values:. // // - General Purpose SSD: `gp2` | `gp3` // - Provisioned IOPS SSD: `io1` | `io2` // - Throughput Optimized HDD: `st1` // - Cold HDD: `sc1` // - Magnetic: `standard` // // For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide* . // // Default: `gp2`. VolumeType() *string SetVolumeType(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::Volume`.
Specifies an Amazon Elastic Block Store (Amazon EBS) volume. You can attach the volume to an instance in the same Availability Zone using [AWS::EC2::VolumeAttachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html) .
When you use AWS CloudFormation to update an Amazon EBS volume that modifies `Iops` , `Size` , or `VolumeType` , there is a cooldown period before another operation can occur. This can cause your stack to report being in `UPDATE_IN_PROGRESS` or `UPDATE_ROLLBACK_IN_PROGRESS` for long periods of time.
Amazon EBS does not support sizing down an Amazon EBS volume. AWS CloudFormation does not attempt to modify an Amazon EBS volume to a smaller size on rollback.
Some common scenarios when you might encounter a cooldown period for Amazon EBS include:
- You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period. - You successfully update an Amazon EBS volume and the update succeeds but another change in your `update-stack` call fails. The rollback will be subject to a cooldown period.
For more information on the cooldown period, see [Requirements when modifying volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/modify-volume-requirements.html) .
*DeletionPolicy attribute*
To control how AWS CloudFormation handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) .
> If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVolume := awscdk.Aws_ec2.NewCfnVolume(this, jsii.String("MyCfnVolume"), &CfnVolumeProps{ AvailabilityZone: jsii.String("availabilityZone"), // the properties below are optional AutoEnableIo: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), MultiAttachEnabled: jsii.Boolean(false), OutpostArn: jsii.String("outpostArn"), Size: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, Throughput: jsii.Number(123), VolumeType: jsii.String("volumeType"), })
func NewCfnVolume ¶
func NewCfnVolume(scope constructs.Construct, id *string, props *CfnVolumeProps) CfnVolume
Create a new `AWS::EC2::Volume`.
type CfnVolumeAttachment ¶
type CfnVolumeAttachment interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The device name (for example, `/dev/sdh` or `xvdh` ). Device() *string SetDevice(val *string) // The ID of the instance to which the volume attaches. // // This value can be a reference to an [`AWS::EC2::Instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource, or it can be the physical ID of an existing EC2 instance. InstanceId() *string SetInstanceId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The ID of the Amazon EBS volume. // // The volume and instance must be within the same Availability Zone. This value can be a reference to an [`AWS::EC2::Volume`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html) resource, or it can be the volume ID of an existing Amazon EBS volume. VolumeId() *string SetVolumeId(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EC2::VolumeAttachment`.
Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.
Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.
If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the "running" state. To detach the root volume, stop the instance first.
If the root volume is detached from an instance with an AWS Marketplace product code, then the product codes from that volume are no longer associated with the instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVolumeAttachment := awscdk.Aws_ec2.NewCfnVolumeAttachment(this, jsii.String("MyCfnVolumeAttachment"), &CfnVolumeAttachmentProps{ Device: jsii.String("device"), InstanceId: jsii.String("instanceId"), VolumeId: jsii.String("volumeId"), })
func NewCfnVolumeAttachment ¶
func NewCfnVolumeAttachment(scope constructs.Construct, id *string, props *CfnVolumeAttachmentProps) CfnVolumeAttachment
Create a new `AWS::EC2::VolumeAttachment`.
type CfnVolumeAttachmentProps ¶
type CfnVolumeAttachmentProps struct { // The device name (for example, `/dev/sdh` or `xvdh` ). Device *string `field:"required" json:"device" yaml:"device"` // The ID of the instance to which the volume attaches. // // This value can be a reference to an [`AWS::EC2::Instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) resource, or it can be the physical ID of an existing EC2 instance. InstanceId *string `field:"required" json:"instanceId" yaml:"instanceId"` // The ID of the Amazon EBS volume. // // The volume and instance must be within the same Availability Zone. This value can be a reference to an [`AWS::EC2::Volume`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html) resource, or it can be the volume ID of an existing Amazon EBS volume. VolumeId *string `field:"required" json:"volumeId" yaml:"volumeId"` }
Properties for defining a `CfnVolumeAttachment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVolumeAttachmentProps := &CfnVolumeAttachmentProps{ Device: jsii.String("device"), InstanceId: jsii.String("instanceId"), VolumeId: jsii.String("volumeId"), }
type CfnVolumeProps ¶
type CfnVolumeProps struct { // The ID of the Availability Zone in which to create the volume. // // For example, `us-east-1a` . AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // Indicates whether the volume is auto-enabled for I/O operations. // // By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O. AutoEnableIo interface{} `field:"optional" json:"autoEnableIo" yaml:"autoEnableIo"` // Indicates whether the volume should be encrypted. // // The effect of setting the encryption state to `true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) in the *Amazon Elastic Compute Cloud User Guide* . // // Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances) . Encrypted interface{} `field:"optional" json:"encrypted" yaml:"encrypted"` // The number of I/O operations per second (IOPS). // // For `gp3` , `io1` , and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. // // The following are the supported values for each volume type: // // - `gp3` : 3,000-16,000 IOPS // - `io1` : 100-64,000 IOPS // - `io2` : 100-64,000 IOPS // // `io1` and `io2` volumes support up to 64,000 IOPS only on [Instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) . Other instance families support performance up to 32,000 IOPS. // // This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS. This parameter is not supported for `gp2` , `st1` , `sc1` , or `standard` volumes. Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The identifier of the AWS KMS key to use for Amazon EBS encryption. // // If `KmsKeyId` is specified, the encrypted state must be `true` . // // If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to `true` , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key . // // Alternatively, if you want to specify a different key, you can specify one of the following: // // - Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. // - Key alias. Specify the alias for the key, prefixed with `alias/` . For example, for a key with the alias `my_cmk` , use `alias/my_cmk` . Or to specify the AWS managed key , use `alias/aws/ebs` . // - Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. // - Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // Indicates whether Amazon EBS Multi-Attach is enabled. // // AWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume. MultiAttachEnabled interface{} `field:"optional" json:"multiAttachEnabled" yaml:"multiAttachEnabled"` // The Amazon Resource Name (ARN) of the Outpost. OutpostArn *string `field:"optional" json:"outpostArn" yaml:"outpostArn"` // The size of the volume, in GiBs. // // You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. // // The following are the supported volumes sizes for each volume type: // // - `gp2` and `gp3` : 1-16,384 // - `io1` and `io2` : 4-16,384 // - `st1` and `sc1` : 125-16,384 // - `standard` : 1-1,024. Size *float64 `field:"optional" json:"size" yaml:"size"` // The snapshot from which to create the volume. // // You must specify either a snapshot ID or a volume size. SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"` // The tags to apply to the volume during creation. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The throughput to provision for a volume, with a maximum of 1,000 MiB/s. // // This parameter is valid only for `gp3` volumes. The default value is 125. // // Valid Range: Minimum value of 125. Maximum value of 1000. Throughput *float64 `field:"optional" json:"throughput" yaml:"throughput"` // The volume type. This parameter can be one of the following values:. // // - General Purpose SSD: `gp2` | `gp3` // - Provisioned IOPS SSD: `io1` | `io2` // - Throughput Optimized HDD: `st1` // - Cold HDD: `sc1` // - Magnetic: `standard` // // For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the *Amazon Elastic Compute Cloud User Guide* . // // Default: `gp2`. VolumeType *string `field:"optional" json:"volumeType" yaml:"volumeType"` }
Properties for defining a `CfnVolume`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnVolumeProps := &CfnVolumeProps{ AvailabilityZone: jsii.String("availabilityZone"), // the properties below are optional AutoEnableIo: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), MultiAttachEnabled: jsii.Boolean(false), OutpostArn: jsii.String("outpostArn"), Size: jsii.Number(123), SnapshotId: jsii.String("snapshotId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, Throughput: jsii.Number(123), VolumeType: jsii.String("volumeType"), }
type ClientVpnAuthorizationRule ¶
type ClientVpnAuthorizationRule interface { awscdk.Resource // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A client VPN authorization rule.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var clientVpnEndpoint clientVpnEndpoint clientVpnAuthorizationRule := awscdk.Aws_ec2.NewClientVpnAuthorizationRule(this, jsii.String("MyClientVpnAuthorizationRule"), &ClientVpnAuthorizationRuleProps{ Cidr: jsii.String("cidr"), // the properties below are optional ClientVpnEndpoint: clientVpnEndpoint, Description: jsii.String("description"), GroupId: jsii.String("groupId"), })
func NewClientVpnAuthorizationRule ¶
func NewClientVpnAuthorizationRule(scope constructs.Construct, id *string, props *ClientVpnAuthorizationRuleProps) ClientVpnAuthorizationRule
type ClientVpnAuthorizationRuleOptions ¶
type ClientVpnAuthorizationRuleOptions struct { // The IPv4 address range, in CIDR notation, of the network for which access is being authorized. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` // A brief description of the authorization rule. Description *string `field:"optional" json:"description" yaml:"description"` // The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. GroupId *string `field:"optional" json:"groupId" yaml:"groupId"` }
Options for a ClientVpnAuthorizationRule.
Example:
endpoint := vpc.addClientVpnEndpoint(jsii.String("Endpoint"), &ClientVpnEndpointOptions{ Cidr: jsii.String("10.100.0.0/16"), ServerCertificateArn: jsii.String("arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id"), UserBasedAuthentication: ec2.ClientVpnUserBasedAuthentication_Federated(samlProvider), AuthorizeAllUsersToVpcCidr: jsii.Boolean(false), }) endpoint.AddAuthorizationRule(jsii.String("Rule"), &ClientVpnAuthorizationRuleOptions{ Cidr: jsii.String("10.0.10.0/32"), GroupId: jsii.String("group-id"), })
type ClientVpnAuthorizationRuleProps ¶
type ClientVpnAuthorizationRuleProps struct { // The IPv4 address range, in CIDR notation, of the network for which access is being authorized. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` // A brief description of the authorization rule. Description *string `field:"optional" json:"description" yaml:"description"` // The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group. GroupId *string `field:"optional" json:"groupId" yaml:"groupId"` // The client VPN endpoint to which to add the rule. ClientVpnEndpoint IClientVpnEndpoint `field:"optional" json:"clientVpnEndpoint" yaml:"clientVpnEndpoint"` }
Properties for a ClientVpnAuthorizationRule.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var clientVpnEndpoint clientVpnEndpoint clientVpnAuthorizationRuleProps := &ClientVpnAuthorizationRuleProps{ Cidr: jsii.String("cidr"), // the properties below are optional ClientVpnEndpoint: clientVpnEndpoint, Description: jsii.String("description"), GroupId: jsii.String("groupId"), }
type ClientVpnEndpoint ¶
type ClientVpnEndpoint interface { awscdk.Resource IClientVpnEndpoint // Allows specify security group connections for the endpoint. Connections() Connections // The endpoint ID. EndpointId() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Dependable that can be depended upon to force target networks associations. TargetNetworksAssociated() constructs.IDependable // Adds an authorization rule to this endpoint. AddAuthorizationRule(id *string, props *ClientVpnAuthorizationRuleOptions) ClientVpnAuthorizationRule // Adds a route to this endpoint. AddRoute(id *string, props *ClientVpnRouteOptions) ClientVpnRoute // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A client VPN connnection.
Example:
endpoint := vpc.addClientVpnEndpoint(jsii.String("Endpoint"), &ClientVpnEndpointOptions{ Cidr: jsii.String("10.100.0.0/16"), ServerCertificateArn: jsii.String("arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id"), UserBasedAuthentication: ec2.ClientVpnUserBasedAuthentication_Federated(samlProvider), AuthorizeAllUsersToVpcCidr: jsii.Boolean(false), }) endpoint.AddAuthorizationRule(jsii.String("Rule"), &ClientVpnAuthorizationRuleOptions{ Cidr: jsii.String("10.0.10.0/32"), GroupId: jsii.String("group-id"), })
func NewClientVpnEndpoint ¶
func NewClientVpnEndpoint(scope constructs.Construct, id *string, props *ClientVpnEndpointProps) ClientVpnEndpoint
type ClientVpnEndpointAttributes ¶
type ClientVpnEndpointAttributes struct { // The endpoint ID. EndpointId *string `field:"required" json:"endpointId" yaml:"endpointId"` // The security groups associated with the endpoint. SecurityGroups *[]ISecurityGroup `field:"required" json:"securityGroups" yaml:"securityGroups"` }
Attributes when importing an existing client VPN endpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var securityGroup securityGroup clientVpnEndpointAttributes := &ClientVpnEndpointAttributes{ EndpointId: jsii.String("endpointId"), SecurityGroups: []iSecurityGroup{ securityGroup, }, }
type ClientVpnEndpointOptions ¶
type ClientVpnEndpointOptions struct { // The IPv4 address range, in CIDR notation, from which to assign client IP addresses. // // The address range cannot overlap with the local CIDR of the VPC // in which the associated subnet is located, or the routes that you add manually. // // Changing the address range will replace the Client VPN endpoint. // // The CIDR block should be /22 or greater. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` // The ARN of the server certificate. ServerCertificateArn *string `field:"required" json:"serverCertificateArn" yaml:"serverCertificateArn"` // Whether to authorize all users to the VPC CIDR. // // This automatically creates an authorization rule. Set this to `false` and // use `addAuthorizationRule()` to create your own rules instead. AuthorizeAllUsersToVpcCidr *bool `field:"optional" json:"authorizeAllUsersToVpcCidr" yaml:"authorizeAllUsersToVpcCidr"` // The ARN of the client certificate for mutual authentication. // // The certificate must be signed by a certificate authority (CA) and it must // be provisioned in AWS Certificate Manager (ACM). ClientCertificateArn *string `field:"optional" json:"clientCertificateArn" yaml:"clientCertificateArn"` // The AWS Lambda function used for connection authorization. // // The name of the Lambda function must begin with the `AWSClientVPN-` prefix. ClientConnectionHandler IClientVpnConnectionHandler `field:"optional" json:"clientConnectionHandler" yaml:"clientConnectionHandler"` // Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. // // UTF-8 encoded characters only. Maximum of 1400 characters. ClientLoginBanner *string `field:"optional" json:"clientLoginBanner" yaml:"clientLoginBanner"` // A brief description of the Client VPN endpoint. Description *string `field:"optional" json:"description" yaml:"description"` // Information about the DNS servers to be used for DNS resolution. // // A Client VPN endpoint can have up to two DNS servers. DnsServers *[]*string `field:"optional" json:"dnsServers" yaml:"dnsServers"` // Whether to enable connections logging. Logging *bool `field:"optional" json:"logging" yaml:"logging"` // A CloudWatch Logs log group for connection logging. LogGroup awslogs.ILogGroup `field:"optional" json:"logGroup" yaml:"logGroup"` // A CloudWatch Logs log stream for connection logging. LogStream awslogs.ILogStream `field:"optional" json:"logStream" yaml:"logStream"` // The port number to assign to the Client VPN endpoint for TCP and UDP traffic. Port VpnPort `field:"optional" json:"port" yaml:"port"` // The security groups to apply to the target network. SecurityGroups *[]ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Specify whether to enable the self-service portal for the Client VPN endpoint. SelfServicePortal *bool `field:"optional" json:"selfServicePortal" yaml:"selfServicePortal"` // The maximum VPN session duration time. SessionTimeout ClientVpnSessionTimeout `field:"optional" json:"sessionTimeout" yaml:"sessionTimeout"` // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint. // See: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html // SplitTunnel *bool `field:"optional" json:"splitTunnel" yaml:"splitTunnel"` // The transport protocol to be used by the VPN session. TransportProtocol TransportProtocol `field:"optional" json:"transportProtocol" yaml:"transportProtocol"` // The type of user-based authentication to use. // See: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html // UserBasedAuthentication ClientVpnUserBasedAuthentication `field:"optional" json:"userBasedAuthentication" yaml:"userBasedAuthentication"` // Subnets to associate to the client VPN endpoint. VpcSubnets *SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Options for a client VPN endpoint.
Example:
endpoint := vpc.addClientVpnEndpoint(jsii.String("Endpoint"), &ClientVpnEndpointOptions{ Cidr: jsii.String("10.100.0.0/16"), ServerCertificateArn: jsii.String("arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id"), UserBasedAuthentication: ec2.ClientVpnUserBasedAuthentication_Federated(samlProvider), AuthorizeAllUsersToVpcCidr: jsii.Boolean(false), }) endpoint.AddAuthorizationRule(jsii.String("Rule"), &ClientVpnAuthorizationRuleOptions{ Cidr: jsii.String("10.0.10.0/32"), GroupId: jsii.String("group-id"), })
type ClientVpnEndpointProps ¶
type ClientVpnEndpointProps struct { // The IPv4 address range, in CIDR notation, from which to assign client IP addresses. // // The address range cannot overlap with the local CIDR of the VPC // in which the associated subnet is located, or the routes that you add manually. // // Changing the address range will replace the Client VPN endpoint. // // The CIDR block should be /22 or greater. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` // The ARN of the server certificate. ServerCertificateArn *string `field:"required" json:"serverCertificateArn" yaml:"serverCertificateArn"` // Whether to authorize all users to the VPC CIDR. // // This automatically creates an authorization rule. Set this to `false` and // use `addAuthorizationRule()` to create your own rules instead. AuthorizeAllUsersToVpcCidr *bool `field:"optional" json:"authorizeAllUsersToVpcCidr" yaml:"authorizeAllUsersToVpcCidr"` // The ARN of the client certificate for mutual authentication. // // The certificate must be signed by a certificate authority (CA) and it must // be provisioned in AWS Certificate Manager (ACM). ClientCertificateArn *string `field:"optional" json:"clientCertificateArn" yaml:"clientCertificateArn"` // The AWS Lambda function used for connection authorization. // // The name of the Lambda function must begin with the `AWSClientVPN-` prefix. ClientConnectionHandler IClientVpnConnectionHandler `field:"optional" json:"clientConnectionHandler" yaml:"clientConnectionHandler"` // Customizable text that will be displayed in a banner on AWS provided clients when a VPN session is established. // // UTF-8 encoded characters only. Maximum of 1400 characters. ClientLoginBanner *string `field:"optional" json:"clientLoginBanner" yaml:"clientLoginBanner"` // A brief description of the Client VPN endpoint. Description *string `field:"optional" json:"description" yaml:"description"` // Information about the DNS servers to be used for DNS resolution. // // A Client VPN endpoint can have up to two DNS servers. DnsServers *[]*string `field:"optional" json:"dnsServers" yaml:"dnsServers"` // Whether to enable connections logging. Logging *bool `field:"optional" json:"logging" yaml:"logging"` // A CloudWatch Logs log group for connection logging. LogGroup awslogs.ILogGroup `field:"optional" json:"logGroup" yaml:"logGroup"` // A CloudWatch Logs log stream for connection logging. LogStream awslogs.ILogStream `field:"optional" json:"logStream" yaml:"logStream"` // The port number to assign to the Client VPN endpoint for TCP and UDP traffic. Port VpnPort `field:"optional" json:"port" yaml:"port"` // The security groups to apply to the target network. SecurityGroups *[]ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Specify whether to enable the self-service portal for the Client VPN endpoint. SelfServicePortal *bool `field:"optional" json:"selfServicePortal" yaml:"selfServicePortal"` // The maximum VPN session duration time. SessionTimeout ClientVpnSessionTimeout `field:"optional" json:"sessionTimeout" yaml:"sessionTimeout"` // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint. // See: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html // SplitTunnel *bool `field:"optional" json:"splitTunnel" yaml:"splitTunnel"` // The transport protocol to be used by the VPN session. TransportProtocol TransportProtocol `field:"optional" json:"transportProtocol" yaml:"transportProtocol"` // The type of user-based authentication to use. // See: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html // UserBasedAuthentication ClientVpnUserBasedAuthentication `field:"optional" json:"userBasedAuthentication" yaml:"userBasedAuthentication"` // Subnets to associate to the client VPN endpoint. VpcSubnets *SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The VPC to connect to. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` }
Properties for a client VPN endpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var clientVpnConnectionHandler iClientVpnConnectionHandler var clientVpnUserBasedAuthentication clientVpnUserBasedAuthentication var logGroup logGroup var logStream logStream var securityGroup securityGroup var subnet subnet var subnetFilter subnetFilter var vpc vpc clientVpnEndpointProps := &ClientVpnEndpointProps{ Cidr: jsii.String("cidr"), ServerCertificateArn: jsii.String("serverCertificateArn"), Vpc: vpc, // the properties below are optional AuthorizeAllUsersToVpcCidr: jsii.Boolean(false), ClientCertificateArn: jsii.String("clientCertificateArn"), ClientConnectionHandler: clientVpnConnectionHandler, ClientLoginBanner: jsii.String("clientLoginBanner"), Description: jsii.String("description"), DnsServers: []*string{ jsii.String("dnsServers"), }, Logging: jsii.Boolean(false), LogGroup: logGroup, LogStream: logStream, Port: awscdk.Aws_ec2.VpnPort_HTTPS, SecurityGroups: []iSecurityGroup{ securityGroup, }, SelfServicePortal: jsii.Boolean(false), SessionTimeout: awscdk.*Aws_ec2.ClientVpnSessionTimeout_EIGHT_HOURS, SplitTunnel: jsii.Boolean(false), TransportProtocol: awscdk.*Aws_ec2.TransportProtocol_TCP, UserBasedAuthentication: clientVpnUserBasedAuthentication, VpcSubnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.*Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }
type ClientVpnRoute ¶
type ClientVpnRoute interface { awscdk.Resource // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A client VPN route.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var clientVpnEndpoint clientVpnEndpoint var clientVpnRouteTarget clientVpnRouteTarget clientVpnRoute := awscdk.Aws_ec2.NewClientVpnRoute(this, jsii.String("MyClientVpnRoute"), &ClientVpnRouteProps{ Cidr: jsii.String("cidr"), Target: clientVpnRouteTarget, // the properties below are optional ClientVpnEndpoint: clientVpnEndpoint, Description: jsii.String("description"), })
func NewClientVpnRoute ¶
func NewClientVpnRoute(scope constructs.Construct, id *string, props *ClientVpnRouteProps) ClientVpnRoute
type ClientVpnRouteOptions ¶
type ClientVpnRouteOptions struct { // The IPv4 address range, in CIDR notation, of the route destination. // // For example: // - To add a route for Internet access, enter 0.0.0.0/0 // - To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range // - To add a route for an on-premises network, enter the AWS Site-to-Site VPN // connection's IPv4 CIDR range // - To add a route for the local network, enter the client CIDR range. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` // The target for the route. Target ClientVpnRouteTarget `field:"required" json:"target" yaml:"target"` // A brief description of the authorization rule. Description *string `field:"optional" json:"description" yaml:"description"` }
Options for a ClientVpnRoute.
Example:
endpoint := vpc.addClientVpnEndpoint(jsii.String("Endpoint"), &ClientVpnEndpointOptions{ Cidr: jsii.String("10.100.0.0/16"), ServerCertificateArn: jsii.String("arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id"), UserBasedAuthentication: ec2.ClientVpnUserBasedAuthentication_Federated(samlProvider), }) // Client-to-client access endpoint.AddRoute(jsii.String("Route"), &ClientVpnRouteOptions{ Cidr: jsii.String("10.100.0.0/16"), Target: ec2.ClientVpnRouteTarget_Local(), })
type ClientVpnRouteProps ¶
type ClientVpnRouteProps struct { // The IPv4 address range, in CIDR notation, of the route destination. // // For example: // - To add a route for Internet access, enter 0.0.0.0/0 // - To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range // - To add a route for an on-premises network, enter the AWS Site-to-Site VPN // connection's IPv4 CIDR range // - To add a route for the local network, enter the client CIDR range. Cidr *string `field:"required" json:"cidr" yaml:"cidr"` // The target for the route. Target ClientVpnRouteTarget `field:"required" json:"target" yaml:"target"` // A brief description of the authorization rule. Description *string `field:"optional" json:"description" yaml:"description"` // The client VPN endpoint to which to add the route. ClientVpnEndpoint IClientVpnEndpoint `field:"optional" json:"clientVpnEndpoint" yaml:"clientVpnEndpoint"` }
Properties for a ClientVpnRoute.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var clientVpnEndpoint clientVpnEndpoint var clientVpnRouteTarget clientVpnRouteTarget clientVpnRouteProps := &ClientVpnRouteProps{ Cidr: jsii.String("cidr"), Target: clientVpnRouteTarget, // the properties below are optional ClientVpnEndpoint: clientVpnEndpoint, Description: jsii.String("description"), }
type ClientVpnRouteTarget ¶
type ClientVpnRouteTarget interface { // The subnet ID. SubnetId() *string }
Target for a client VPN route.
Example:
endpoint := vpc.addClientVpnEndpoint(jsii.String("Endpoint"), &ClientVpnEndpointOptions{ Cidr: jsii.String("10.100.0.0/16"), ServerCertificateArn: jsii.String("arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id"), UserBasedAuthentication: ec2.ClientVpnUserBasedAuthentication_Federated(samlProvider), }) // Client-to-client access endpoint.AddRoute(jsii.String("Route"), &ClientVpnRouteOptions{ Cidr: jsii.String("10.100.0.0/16"), Target: ec2.ClientVpnRouteTarget_Local(), })
func ClientVpnRouteTarget_Local ¶
func ClientVpnRouteTarget_Local() ClientVpnRouteTarget
Local network.
func ClientVpnRouteTarget_Subnet ¶
func ClientVpnRouteTarget_Subnet(subnet ISubnet) ClientVpnRouteTarget
Subnet.
The specified subnet must be an existing target network of the client VPN endpoint.
type ClientVpnSessionTimeout ¶ added in v2.10.0
type ClientVpnSessionTimeout string
Maximum VPN session duration time.
const ( // 8 hours. ClientVpnSessionTimeout_EIGHT_HOURS ClientVpnSessionTimeout = "EIGHT_HOURS" // 10 hours. ClientVpnSessionTimeout_TEN_HOURS ClientVpnSessionTimeout = "TEN_HOURS" // 12 hours. ClientVpnSessionTimeout_TWELVE_HOURS ClientVpnSessionTimeout = "TWELVE_HOURS" // 24 hours. ClientVpnSessionTimeout_TWENTY_FOUR_HOURS ClientVpnSessionTimeout = "TWENTY_FOUR_HOURS" )
type ClientVpnUserBasedAuthentication ¶
type ClientVpnUserBasedAuthentication interface {
// Renders the user based authentication.
Render() interface{}
}
User-based authentication for a client VPN endpoint.
Example:
endpoint := vpc.addClientVpnEndpoint(jsii.String("Endpoint"), &ClientVpnEndpointOptions{ Cidr: jsii.String("10.100.0.0/16"), ServerCertificateArn: jsii.String("arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id"), UserBasedAuthentication: ec2.ClientVpnUserBasedAuthentication_Federated(samlProvider), AuthorizeAllUsersToVpcCidr: jsii.Boolean(false), }) endpoint.AddAuthorizationRule(jsii.String("Rule"), &ClientVpnAuthorizationRuleOptions{ Cidr: jsii.String("10.0.10.0/32"), GroupId: jsii.String("group-id"), })
func ClientVpnUserBasedAuthentication_ActiveDirectory ¶
func ClientVpnUserBasedAuthentication_ActiveDirectory(directoryId *string) ClientVpnUserBasedAuthentication
Active Directory authentication.
func ClientVpnUserBasedAuthentication_Federated ¶
func ClientVpnUserBasedAuthentication_Federated(samlProvider awsiam.ISamlProvider, selfServiceSamlProvider awsiam.ISamlProvider) ClientVpnUserBasedAuthentication
Federated authentication.
type CloudFormationInit ¶
type CloudFormationInit interface { // Add a config with the given name to this CloudFormationInit object. AddConfig(configName *string, config InitConfig) // Add a config set with the given name to this CloudFormationInit object. // // The new configset will reference the given configs in the given order. AddConfigSet(configSetName *string, configNames *[]*string) // Attach the CloudFormation Init config to the given resource. // // As an app builder, use `instance.applyCloudFormationInit()` or // `autoScalingGroup.applyCloudFormationInit()` to trigger this method. // // This method does the following: // // - Renders the `AWS::CloudFormation::Init` object to the given resource's // metadata, potentially adding a `AWS::CloudFormation::Authentication` object // next to it if required. // - Updates the instance role policy to be able to call the APIs required for // `cfn-init` and `cfn-signal` to work, and potentially add permissions to download // referenced asset and bucket resources. // - Updates the given UserData with commands to execute the `cfn-init` script. Attach(attachedResource awscdk.CfnResource, attachOptions *AttachInitOptions) }
A CloudFormation-init configuration.
Example:
var vpc vpc var instanceType instanceType ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), Init: ec2.CloudFormationInit_FromElements(ec2.InitService_SystemdConfigFile(jsii.String("simpleserver"), &SystemdConfigFileOptions{ Command: jsii.String("/usr/bin/python3 -m http.server 8080"), Cwd: jsii.String("/var/www/html"), }), ec2.InitService_Enable(jsii.String("simpleserver"), &InitServiceOptions{ ServiceManager: ec2.ServiceManager_SYSTEMD, }), ec2.InitFile_FromString(jsii.String("/var/www/html/index.html"), jsii.String("Hello! It's working!"))), })
func CloudFormationInit_FromConfig ¶
func CloudFormationInit_FromConfig(config InitConfig) CloudFormationInit
Use an existing InitConfig object as the default and only config.
func CloudFormationInit_FromConfigSets ¶
func CloudFormationInit_FromConfigSets(props *ConfigSetProps) CloudFormationInit
Build a CloudFormationInit from config sets.
func CloudFormationInit_FromElements ¶
func CloudFormationInit_FromElements(elements ...InitElement) CloudFormationInit
Build a new config from a set of Init Elements.
type CommonNetworkAclEntryOptions ¶
type CommonNetworkAclEntryOptions struct { // The CIDR range to allow or deny. Cidr AclCidr `field:"required" json:"cidr" yaml:"cidr"` // Rule number to assign to the entry, such as 100. // // ACL entries are processed in ascending order by rule number. // Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule. RuleNumber *float64 `field:"required" json:"ruleNumber" yaml:"ruleNumber"` // What kind of traffic this ACL rule applies to. Traffic AclTraffic `field:"required" json:"traffic" yaml:"traffic"` // Traffic direction, with respect to the subnet, this rule applies to. Direction TrafficDirection `field:"optional" json:"direction" yaml:"direction"` // The name of the NetworkAclEntry. // // It is not recommended to use an explicit group name. NetworkAclEntryName *string `field:"optional" json:"networkAclEntryName" yaml:"networkAclEntryName"` // Whether to allow or deny traffic that matches the rule; valid values are "allow" or "deny". // // Any traffic that is not explicitly allowed is automatically denied in a custom // ACL, all traffic is automatically allowed in a default ACL. RuleAction Action `field:"optional" json:"ruleAction" yaml:"ruleAction"` }
Basic NetworkACL entry props.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var aclCidr aclCidr var aclTraffic aclTraffic commonNetworkAclEntryOptions := &CommonNetworkAclEntryOptions{ Cidr: aclCidr, RuleNumber: jsii.Number(123), Traffic: aclTraffic, // the properties below are optional Direction: awscdk.Aws_ec2.TrafficDirection_EGRESS, NetworkAclEntryName: jsii.String("networkAclEntryName"), RuleAction: awscdk.*Aws_ec2.Action_ALLOW, }
type ConfigSetProps ¶
type ConfigSetProps struct { // The sets of configs to pick from. Configs *map[string]InitConfig `field:"required" json:"configs" yaml:"configs"` // The definitions of each config set. ConfigSets *map[string]*[]*string `field:"required" json:"configSets" yaml:"configSets"` }
Options for CloudFormationInit.withConfigSets.
Example:
var vpc vpc var instanceType instanceType var machineImage iMachineImage ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: MachineImage, // Showing the most complex setup, if you have simpler requirements // you can use `CloudFormationInit.fromElements()`. Init: ec2.CloudFormationInit_FromConfigSets(&ConfigSetProps{ ConfigSets: map[string][]*string{ // Applies the configs below in this order "default": []*string{ jsii.String("yumPreinstall"), jsii.String("config"), }, }, Configs: map[string]initConfig{ "yumPreinstall": ec2.NewInitConfig([]InitElement{ ec2.InitPackage_yum(jsii.String("git")), }), "config": ec2.NewInitConfig([]InitElement{ ec2.InitFile_fromObject(jsii.String("/etc/stack.json"), map[string]interface{}{ "stackId": awscdk.*stack_of(this).stackId, "stackName": awscdk.*stack_of(this).stackName, "region": awscdk.*stack_of(this).region, }), ec2.InitGroup_fromName(jsii.String("my-group")), ec2.InitUser_fromName(jsii.String("my-user")), ec2.InitPackage_rpm(jsii.String("http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/rubygem-git-1.5.0-2.el8.noarch.rpm")), }), }, }), InitOptions: &ApplyCloudFormationInitOptions{ // Optional, which configsets to activate (['default'] by default) ConfigSets: []*string{ jsii.String("default"), }, // Optional, how long the installation is expected to take (5 minutes by default) Timeout: awscdk.Duration_Minutes(jsii.Number(30)), // Optional, whether to include the --url argument when running cfn-init and cfn-signal commands (false by default) IncludeUrl: jsii.Boolean(true), // Optional, whether to include the --role argument when running cfn-init and cfn-signal commands (false by default) IncludeRole: jsii.Boolean(true), }, })
type ConfigureNatOptions ¶
type ConfigureNatOptions struct { // The public subnets where the NAT providers need to be placed. NatSubnets *[]PublicSubnet `field:"required" json:"natSubnets" yaml:"natSubnets"` // The private subnets that need to route through the NAT providers. // // There may be more private subnets than public subnets with NAT providers. PrivateSubnets *[]PrivateSubnet `field:"required" json:"privateSubnets" yaml:"privateSubnets"` // The VPC we're configuring NAT for. Vpc Vpc `field:"required" json:"vpc" yaml:"vpc"` }
Options passed by the VPC when NAT needs to be configured.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var privateSubnet privateSubnet var publicSubnet publicSubnet var vpc vpc configureNatOptions := &ConfigureNatOptions{ NatSubnets: []*publicSubnet{ publicSubnet, }, PrivateSubnets: []*privateSubnet{ privateSubnet, }, Vpc: vpc, }
type ConnectionRule ¶
type ConnectionRule struct { // Start of port range for the TCP and UDP protocols, or an ICMP type number. // // If you specify icmp for the IpProtocol property, you can specify // -1 as a wildcard (i.e., any ICMP type number). FromPort *float64 `field:"required" json:"fromPort" yaml:"fromPort"` // Description of this connection. // // It is applied to both the ingress rule // and the egress rule. Description *string `field:"optional" json:"description" yaml:"description"` // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). // // Use -1 to specify all protocols. If you specify -1, or a protocol number // other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you // must specify a port range. For protocol 58 (ICMPv6), you can optionally // specify a port range; if you don't, traffic for all types and codes is // allowed. Protocol *string `field:"optional" json:"protocol" yaml:"protocol"` // End of port range for the TCP and UDP protocols, or an ICMP code. // // If you specify icmp for the IpProtocol property, you can specify -1 as a // wildcard (i.e., any ICMP code). ToPort *float64 `field:"optional" json:"toPort" yaml:"toPort"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" connectionRule := &ConnectionRule{ FromPort: jsii.Number(123), // the properties below are optional Description: jsii.String("description"), Protocol: jsii.String("protocol"), ToPort: jsii.Number(123), }
type Connections ¶
type Connections interface { IConnectable // The network connections associated with this resource. Connections() Connections // The default port configured for this connection peer, if available. DefaultPort() Port SecurityGroups() *[]ISecurityGroup // Add a security group to the list of security groups managed by this object. AddSecurityGroup(securityGroups ...ISecurityGroup) // Allow connections from the peer on our default port. // // Even if the peer has a default port, we will always use our default port. AllowDefaultPortFrom(other IConnectable, description *string) // Allow default connections from all IPv4 ranges. AllowDefaultPortFromAnyIpv4(description *string) // Allow hosts inside the security group to connect to each other. AllowDefaultPortInternally(description *string) // Allow connections from the peer on our default port. // // Even if the peer has a default port, we will always use our default port. AllowDefaultPortTo(other IConnectable, description *string) // Allow connections from the peer on the given port. AllowFrom(other IConnectable, portRange Port, description *string) // Allow from any IPv4 ranges. AllowFromAnyIpv4(portRange Port, description *string) // Allow hosts inside the security group to connect to each other on the given port. AllowInternally(portRange Port, description *string) // Allow connections to the peer on the given port. AllowTo(other IConnectable, portRange Port, description *string) // Allow to all IPv4 ranges. AllowToAnyIpv4(portRange Port, description *string) // Allow connections to the security group on their default port. AllowToDefaultPort(other IConnectable, description *string) }
Manage the allowed network connections for constructs with Security Groups.
Security Groups can be thought of as a firewall for network-connected devices. This class makes it easy to allow network connections to and from security groups, and between security groups individually. When establishing connectivity between security groups, it will automatically add rules in both security groups
This object can manage one or more security groups.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var peer iPeer var port port var securityGroup securityGroup connections := awscdk.Aws_ec2.NewConnections(&ConnectionsProps{ DefaultPort: port, Peer: peer, SecurityGroups: []iSecurityGroup{ securityGroup, }, })
func NewConnections ¶
func NewConnections(props *ConnectionsProps) Connections
type ConnectionsProps ¶
type ConnectionsProps struct { // Default port range for initiating connections to and from this object. DefaultPort Port `field:"optional" json:"defaultPort" yaml:"defaultPort"` // Class that represents the rule by which others can connect to this connectable. // // This object is required, but will be derived from securityGroup if that is passed. Peer IPeer `field:"optional" json:"peer" yaml:"peer"` // What securityGroup(s) this object is managing connections for. SecurityGroups *[]ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` }
Properties to intialize a new Connections object.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var peer iPeer var port port var securityGroup securityGroup connectionsProps := &ConnectionsProps{ DefaultPort: port, Peer: peer, SecurityGroups: []iSecurityGroup{ securityGroup, }, }
type CpuCredits ¶
type CpuCredits string
Provides the options for specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-how-to.html
const ( // Standard bursting mode. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode.html // CpuCredits_STANDARD CpuCredits = "STANDARD" // Unlimited bursting mode. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html // CpuCredits_UNLIMITED CpuCredits = "UNLIMITED" )
type DefaultInstanceTenancy ¶
type DefaultInstanceTenancy string
The default tenancy of instances launched into the VPC.
const ( // Instances can be launched with any tenancy. DefaultInstanceTenancy_DEFAULT DefaultInstanceTenancy = "DEFAULT" // Any instance launched into the VPC automatically has dedicated tenancy, unless you launch it with the default tenancy. DefaultInstanceTenancy_DEDICATED DefaultInstanceTenancy = "DEDICATED" )
type DestinationOptions ¶ added in v2.31.0
type DestinationOptions struct { // The format for the flow log. FileFormat FlowLogFileFormat `field:"optional" json:"fileFormat" yaml:"fileFormat"` // Use Hive-compatible prefixes for flow logs stored in Amazon S3. HiveCompatiblePartitions *bool `field:"optional" json:"hiveCompatiblePartitions" yaml:"hiveCompatiblePartitions"` // Partition the flow log per hour. PerHourPartition *bool `field:"optional" json:"perHourPartition" yaml:"perHourPartition"` }
Options for writing logs to a destination.
TODO: there are other destination options, currently they are only for s3 destinations (not sure if that will change).
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" destinationOptions := &DestinationOptions{ FileFormat: awscdk.Aws_ec2.FlowLogFileFormat_PLAIN_TEXT, HiveCompatiblePartitions: jsii.Boolean(false), PerHourPartition: jsii.Boolean(false), }
type EbsDeviceOptions ¶
type EbsDeviceOptions struct { // Indicates whether to delete the volume when the instance is terminated. DeleteOnTermination *bool `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // The number of I/O operations per second (IOPS) to provision for the volume. // // Must only be set for `volumeType`: `EbsDeviceVolumeType.IO1` // // The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, // you need at least 100 GiB storage on the volume. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The EBS volume type. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // VolumeType EbsDeviceVolumeType `field:"optional" json:"volumeType" yaml:"volumeType"` // Specifies whether the EBS volume is encrypted. // // Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances // Encrypted *bool `field:"optional" json:"encrypted" yaml:"encrypted"` // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption. // // You have to ensure that the KMS CMK has the correct permissions to be used by the service launching the ec2 instances. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#ebs-encryption-requirements // KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"` }
Block device options for an EBS volume.
Example:
host := ec2.NewBastionHostLinux(this, jsii.String("BastionHost"), &BastionHostLinuxProps{ Vpc: Vpc, BlockDevices: []blockDevice{ &blockDevice{ DeviceName: jsii.String("EBSBastionHost"), Volume: ec2.BlockDeviceVolume_Ebs(jsii.Number(10), &EbsDeviceOptions{ Encrypted: jsii.Boolean(true), }), }, }, })
type EbsDeviceOptionsBase ¶
type EbsDeviceOptionsBase struct { // Indicates whether to delete the volume when the instance is terminated. DeleteOnTermination *bool `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // The number of I/O operations per second (IOPS) to provision for the volume. // // Must only be set for `volumeType`: `EbsDeviceVolumeType.IO1` // // The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, // you need at least 100 GiB storage on the volume. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The EBS volume type. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // VolumeType EbsDeviceVolumeType `field:"optional" json:"volumeType" yaml:"volumeType"` }
Base block device options for an EBS volume.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ebsDeviceOptionsBase := &EbsDeviceOptionsBase{ DeleteOnTermination: jsii.Boolean(false), Iops: jsii.Number(123), VolumeType: awscdk.Aws_ec2.EbsDeviceVolumeType_STANDARD, }
type EbsDeviceProps ¶
type EbsDeviceProps struct { // Indicates whether to delete the volume when the instance is terminated. DeleteOnTermination *bool `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // The number of I/O operations per second (IOPS) to provision for the volume. // // Must only be set for `volumeType`: `EbsDeviceVolumeType.IO1` // // The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, // you need at least 100 GiB storage on the volume. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The EBS volume type. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // VolumeType EbsDeviceVolumeType `field:"optional" json:"volumeType" yaml:"volumeType"` // The volume size, in Gibibytes (GiB). // // If you specify volumeSize, it must be equal or greater than the size of the snapshot. VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"` // Specifies whether the EBS volume is encrypted. // // Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances // Encrypted *bool `field:"optional" json:"encrypted" yaml:"encrypted"` // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption. // // You have to ensure that the KMS CMK has the correct permissions to be used by the service launching the ec2 instances. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#ebs-encryption-requirements // KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"` // The snapshot ID of the volume to use. SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"` }
Properties of an EBS block device.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var key key ebsDeviceProps := &EbsDeviceProps{ DeleteOnTermination: jsii.Boolean(false), Encrypted: jsii.Boolean(false), Iops: jsii.Number(123), KmsKey: key, SnapshotId: jsii.String("snapshotId"), VolumeSize: jsii.Number(123), VolumeType: awscdk.Aws_ec2.EbsDeviceVolumeType_STANDARD, }
type EbsDeviceSnapshotOptions ¶
type EbsDeviceSnapshotOptions struct { // Indicates whether to delete the volume when the instance is terminated. DeleteOnTermination *bool `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"` // The number of I/O operations per second (IOPS) to provision for the volume. // // Must only be set for `volumeType`: `EbsDeviceVolumeType.IO1` // // The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, // you need at least 100 GiB storage on the volume. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The EBS volume type. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html // VolumeType EbsDeviceVolumeType `field:"optional" json:"volumeType" yaml:"volumeType"` // The volume size, in Gibibytes (GiB). // // If you specify volumeSize, it must be equal or greater than the size of the snapshot. VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"` }
Block device options for an EBS volume created from a snapshot.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ebsDeviceSnapshotOptions := &EbsDeviceSnapshotOptions{ DeleteOnTermination: jsii.Boolean(false), Iops: jsii.Number(123), VolumeSize: jsii.Number(123), VolumeType: awscdk.Aws_ec2.EbsDeviceVolumeType_STANDARD, }
type EbsDeviceVolumeType ¶
type EbsDeviceVolumeType string
Supported EBS volume types for blockDevices.
Example:
domain := awscdk.NewDomain(this, jsii.String("Domain"), &DomainProps{ Version: awscdk.EngineVersion_OPENSEARCH_1_0(), Ebs: &EbsOptions{ VolumeSize: jsii.Number(100), VolumeType: ec2.EbsDeviceVolumeType_GENERAL_PURPOSE_SSD, }, NodeToNodeEncryption: jsii.Boolean(true), EncryptionAtRest: &EncryptionAtRestOptions{ Enabled: jsii.Boolean(true), }, })
const ( // Magnetic. EbsDeviceVolumeType_STANDARD EbsDeviceVolumeType = "STANDARD" // Provisioned IOPS SSD - IO1. EbsDeviceVolumeType_IO1 EbsDeviceVolumeType = "IO1" // Provisioned IOPS SSD - IO2. EbsDeviceVolumeType_IO2 EbsDeviceVolumeType = "IO2" // General Purpose SSD - GP2. EbsDeviceVolumeType_GP2 EbsDeviceVolumeType = "GP2" // General Purpose SSD - GP3. EbsDeviceVolumeType_GP3 EbsDeviceVolumeType = "GP3" // Throughput Optimized HDD. EbsDeviceVolumeType_ST1 EbsDeviceVolumeType = "ST1" // Cold HDD. EbsDeviceVolumeType_SC1 EbsDeviceVolumeType = "SC1" )
type EnableVpnGatewayOptions ¶
type EnableVpnGatewayOptions struct { // Default type ipsec.1. Type *string `field:"required" json:"type" yaml:"type"` // Explicitly specify an Asn or let aws pick an Asn for you. AmazonSideAsn *float64 `field:"optional" json:"amazonSideAsn" yaml:"amazonSideAsn"` // Provide an array of subnets where the route propagation should be added. VpnRoutePropagation *[]*SubnetSelection `field:"optional" json:"vpnRoutePropagation" yaml:"vpnRoutePropagation"` }
Options for the Vpc.enableVpnGateway() method.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var subnet subnet var subnetFilter subnetFilter enableVpnGatewayOptions := &EnableVpnGatewayOptions{ Type: jsii.String("type"), // the properties below are optional AmazonSideAsn: jsii.Number(123), VpnRoutePropagation: []subnetSelection{ &subnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }, }
type ExecuteFileOptions ¶
type ExecuteFileOptions struct { // The path to the file. FilePath *string `field:"required" json:"filePath" yaml:"filePath"` // The arguments to be passed to the file. Arguments *string `field:"optional" json:"arguments" yaml:"arguments"` }
Options when executing a file.
Example:
import "github.com/aws/aws-cdk-go/awscdk" var instance instance asset := awscdk.NewAsset(this, jsii.String("Asset"), &AssetProps{ Path: jsii.String("./configure.sh"), }) localPath := instance.UserData.AddS3DownloadCommand(&S3DownloadOptions{ Bucket: asset.Bucket, BucketKey: asset.S3ObjectKey, Region: jsii.String("us-east-1"), }) instance.UserData.AddExecuteFileCommand(&ExecuteFileOptions{ FilePath: localPath, Arguments: jsii.String("--verbose -y"), }) asset.GrantRead(instance.Role)
type FlowLog ¶
type FlowLog interface { awscdk.Resource IFlowLog // The S3 bucket to publish flow logs to. Bucket() awss3.IBucket // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The Id of the VPC Flow Log. FlowLogId() *string // The iam role used to publish logs to CloudWatch. IamRole() awsiam.IRole // S3 bucket key prefix to publish the flow logs under. KeyPrefix() *string // The CloudWatch Logs LogGroup to publish flow logs to. LogGroup() awslogs.ILogGroup // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A VPC flow log.
Example:
var vpc vpc logGroup := logs.NewLogGroup(this, jsii.String("MyCustomLogGroup")) role := iam.NewRole(this, jsii.String("MyCustomRole"), &RoleProps{ AssumedBy: iam.NewServicePrincipal(jsii.String("vpc-flow-logs.amazonaws.com")), }) ec2.NewFlowLog(this, jsii.String("FlowLog"), &FlowLogProps{ ResourceType: ec2.FlowLogResourceType_FromVpc(vpc), Destination: ec2.FlowLogDestination_ToCloudWatchLogs(logGroup, role), })
func NewFlowLog ¶
func NewFlowLog(scope constructs.Construct, id *string, props *FlowLogProps) FlowLog
type FlowLogDestination ¶
type FlowLogDestination interface { // Generates a flow log destination configuration. Bind(scope constructs.Construct, flowLog FlowLog) *FlowLogDestinationConfig }
The destination type for the flow log.
Example:
var vpc vpc logGroup := logs.NewLogGroup(this, jsii.String("MyCustomLogGroup")) role := iam.NewRole(this, jsii.String("MyCustomRole"), &RoleProps{ AssumedBy: iam.NewServicePrincipal(jsii.String("vpc-flow-logs.amazonaws.com")), }) ec2.NewFlowLog(this, jsii.String("FlowLog"), &FlowLogProps{ ResourceType: ec2.FlowLogResourceType_FromVpc(vpc), Destination: ec2.FlowLogDestination_ToCloudWatchLogs(logGroup, role), })
func FlowLogDestination_ToCloudWatchLogs ¶
func FlowLogDestination_ToCloudWatchLogs(logGroup awslogs.ILogGroup, iamRole awsiam.IRole) FlowLogDestination
Use CloudWatch logs as the destination.
func FlowLogDestination_ToS3 ¶
func FlowLogDestination_ToS3(bucket awss3.IBucket, keyPrefix *string, options *S3DestinationOptions) FlowLogDestination
Use S3 as the destination.
type FlowLogDestinationConfig ¶
type FlowLogDestinationConfig struct { // The type of destination to publish the flow logs to. LogDestinationType FlowLogDestinationType `field:"required" json:"logDestinationType" yaml:"logDestinationType"` // Options for writing flow logs to a supported destination. DestinationOptions *DestinationOptions `field:"optional" json:"destinationOptions" yaml:"destinationOptions"` // The IAM Role that has access to publish to CloudWatch logs. IamRole awsiam.IRole `field:"optional" json:"iamRole" yaml:"iamRole"` // S3 bucket key prefix to publish the flow logs to. KeyPrefix *string `field:"optional" json:"keyPrefix" yaml:"keyPrefix"` // The CloudWatch Logs Log Group to publish the flow logs to. LogGroup awslogs.ILogGroup `field:"optional" json:"logGroup" yaml:"logGroup"` // S3 bucket to publish the flow logs to. S3Bucket awss3.IBucket `field:"optional" json:"s3Bucket" yaml:"s3Bucket"` }
Flow Log Destination configuration.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var bucket bucket var logGroup logGroup var role role flowLogDestinationConfig := &FlowLogDestinationConfig{ LogDestinationType: awscdk.Aws_ec2.FlowLogDestinationType_CLOUD_WATCH_LOGS, // the properties below are optional DestinationOptions: &DestinationOptions{ FileFormat: awscdk.*Aws_ec2.FlowLogFileFormat_PLAIN_TEXT, HiveCompatiblePartitions: jsii.Boolean(false), PerHourPartition: jsii.Boolean(false), }, IamRole: role, KeyPrefix: jsii.String("keyPrefix"), LogGroup: logGroup, S3Bucket: bucket, }
type FlowLogDestinationType ¶
type FlowLogDestinationType string
The available destination types for Flow Logs.
const ( // Send flow logs to CloudWatch Logs Group. FlowLogDestinationType_CLOUD_WATCH_LOGS FlowLogDestinationType = "CLOUD_WATCH_LOGS" // Send flow logs to S3 Bucket. FlowLogDestinationType_S3 FlowLogDestinationType = "S3" )
type FlowLogFileFormat ¶ added in v2.32.0
type FlowLogFileFormat string
The file format for flow logs written to an S3 bucket destination.
const ( // File will be written as plain text. // // This is the default value. FlowLogFileFormat_PLAIN_TEXT FlowLogFileFormat = "PLAIN_TEXT" // File will be written in parquet format. FlowLogFileFormat_PARQUET FlowLogFileFormat = "PARQUET" )
type FlowLogMaxAggregationInterval ¶ added in v2.43.0
type FlowLogMaxAggregationInterval string
The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record.
Example:
vpc := ec2.NewVpc(this, jsii.String("Vpc")) vpc.addFlowLog(jsii.String("FlowLogS3"), &FlowLogOptions{ Destination: ec2.FlowLogDestination_ToS3(), }) // Only reject traffic and interval every minute. vpc.addFlowLog(jsii.String("FlowLogCloudWatch"), &FlowLogOptions{ TrafficType: ec2.FlowLogTrafficType_REJECT, MaxAggregationInterval: ec2.FlowLogMaxAggregationInterval_ONE_MINUTE, })
const ( // 1 minute (60 seconds). FlowLogMaxAggregationInterval_ONE_MINUTE FlowLogMaxAggregationInterval = "ONE_MINUTE" // 10 minutes (600 seconds). FlowLogMaxAggregationInterval_TEN_MINUTES FlowLogMaxAggregationInterval = "TEN_MINUTES" )
type FlowLogOptions ¶
type FlowLogOptions struct { // Specifies the type of destination to which the flow log data is to be published. // // Flow log data can be published to CloudWatch Logs or Amazon S3. Destination FlowLogDestination `field:"optional" json:"destination" yaml:"destination"` // The fields to include in the flow log record, in the order in which they should appear. // // If multiple fields are specified, they will be separated by spaces. For full control over the literal log format // string, pass a single field constructed with `LogFormat.custom()`. // // See https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records LogFormat *[]LogFormat `field:"optional" json:"logFormat" yaml:"logFormat"` // The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. MaxAggregationInterval FlowLogMaxAggregationInterval `field:"optional" json:"maxAggregationInterval" yaml:"maxAggregationInterval"` // The type of traffic to log. // // You can log traffic that the resource accepts or rejects, or all traffic. TrafficType FlowLogTrafficType `field:"optional" json:"trafficType" yaml:"trafficType"` }
Options to add a flow log to a VPC.
Example:
vpc := ec2.NewVpc(this, jsii.String("Vpc")) vpc.addFlowLog(jsii.String("FlowLogS3"), &FlowLogOptions{ Destination: ec2.FlowLogDestination_ToS3(), }) // Only reject traffic and interval every minute. vpc.addFlowLog(jsii.String("FlowLogCloudWatch"), &FlowLogOptions{ TrafficType: ec2.FlowLogTrafficType_REJECT, MaxAggregationInterval: ec2.FlowLogMaxAggregationInterval_ONE_MINUTE, })
type FlowLogProps ¶
type FlowLogProps struct { // Specifies the type of destination to which the flow log data is to be published. // // Flow log data can be published to CloudWatch Logs or Amazon S3. Destination FlowLogDestination `field:"optional" json:"destination" yaml:"destination"` // The fields to include in the flow log record, in the order in which they should appear. // // If multiple fields are specified, they will be separated by spaces. For full control over the literal log format // string, pass a single field constructed with `LogFormat.custom()`. // // See https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records LogFormat *[]LogFormat `field:"optional" json:"logFormat" yaml:"logFormat"` // The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. MaxAggregationInterval FlowLogMaxAggregationInterval `field:"optional" json:"maxAggregationInterval" yaml:"maxAggregationInterval"` // The type of traffic to log. // // You can log traffic that the resource accepts or rejects, or all traffic. TrafficType FlowLogTrafficType `field:"optional" json:"trafficType" yaml:"trafficType"` // The type of resource for which to create the flow log. ResourceType FlowLogResourceType `field:"required" json:"resourceType" yaml:"resourceType"` // The name of the FlowLog. // // It is not recommended to use an explicit name. FlowLogName *string `field:"optional" json:"flowLogName" yaml:"flowLogName"` }
Properties of a VPC Flow Log.
Example:
var vpc vpc logGroup := logs.NewLogGroup(this, jsii.String("MyCustomLogGroup")) role := iam.NewRole(this, jsii.String("MyCustomRole"), &RoleProps{ AssumedBy: iam.NewServicePrincipal(jsii.String("vpc-flow-logs.amazonaws.com")), }) ec2.NewFlowLog(this, jsii.String("FlowLog"), &FlowLogProps{ ResourceType: ec2.FlowLogResourceType_FromVpc(vpc), Destination: ec2.FlowLogDestination_ToCloudWatchLogs(logGroup, role), })
type FlowLogResourceType ¶
type FlowLogResourceType interface { // The Id of the resource that the flow log should be attached to. ResourceId() *string SetResourceId(val *string) // The type of resource to attach a flow log to. ResourceType() *string SetResourceType(val *string) }
The type of resource to create the flow log for.
Example:
var vpc vpc logGroup := logs.NewLogGroup(this, jsii.String("MyCustomLogGroup")) role := iam.NewRole(this, jsii.String("MyCustomRole"), &RoleProps{ AssumedBy: iam.NewServicePrincipal(jsii.String("vpc-flow-logs.amazonaws.com")), }) ec2.NewFlowLog(this, jsii.String("FlowLog"), &FlowLogProps{ ResourceType: ec2.FlowLogResourceType_FromVpc(vpc), Destination: ec2.FlowLogDestination_ToCloudWatchLogs(logGroup, role), })
func FlowLogResourceType_FromNetworkInterfaceId ¶
func FlowLogResourceType_FromNetworkInterfaceId(id *string) FlowLogResourceType
The Network Interface to attach the Flow Log to.
func FlowLogResourceType_FromSubnet ¶
func FlowLogResourceType_FromSubnet(subnet ISubnet) FlowLogResourceType
The subnet to attach the Flow Log to.
func FlowLogResourceType_FromVpc ¶
func FlowLogResourceType_FromVpc(vpc IVpc) FlowLogResourceType
The VPC to attach the Flow Log to.
type FlowLogTrafficType ¶
type FlowLogTrafficType string
The type of VPC traffic to log.
Example:
vpc := ec2.NewVpc(this, jsii.String("Vpc")) vpc.addFlowLog(jsii.String("FlowLogS3"), &FlowLogOptions{ Destination: ec2.FlowLogDestination_ToS3(), }) // Only reject traffic and interval every minute. vpc.addFlowLog(jsii.String("FlowLogCloudWatch"), &FlowLogOptions{ TrafficType: ec2.FlowLogTrafficType_REJECT, MaxAggregationInterval: ec2.FlowLogMaxAggregationInterval_ONE_MINUTE, })
const ( // Only log accepts. FlowLogTrafficType_ACCEPT FlowLogTrafficType = "ACCEPT" // Log all requests. FlowLogTrafficType_ALL FlowLogTrafficType = "ALL" // Only log rejects. FlowLogTrafficType_REJECT FlowLogTrafficType = "REJECT" )
type GatewayConfig ¶
type GatewayConfig struct { // Availability Zone. Az *string `field:"required" json:"az" yaml:"az"` // Identity of gateway spawned by the provider. GatewayId *string `field:"required" json:"gatewayId" yaml:"gatewayId"` }
Pair represents a gateway created by NAT Provider.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" gatewayConfig := &GatewayConfig{ Az: jsii.String("az"), GatewayId: jsii.String("gatewayId"), }
type GatewayVpcEndpoint ¶
type GatewayVpcEndpoint interface { VpcEndpoint IGatewayVpcEndpoint // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string PolicyDocument() awsiam.PolicyDocument SetPolicyDocument(val awsiam.PolicyDocument) // The stack in which this resource is defined. Stack() awscdk.Stack // The date and time the gateway VPC endpoint was created. VpcEndpointCreationTimestamp() *string VpcEndpointDnsEntries() *[]*string // The gateway VPC endpoint identifier. VpcEndpointId() *string VpcEndpointNetworkInterfaceIds() *[]*string // Adds a statement to the policy document of the VPC endpoint. The statement must have a Principal. // // Not all interface VPC endpoints support policy. For more information // see https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html AddToPolicy(statement awsiam.PolicyStatement) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A gateway VPC endpoint.
Example:
// Add gateway endpoints when creating the VPC vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ GatewayEndpoints: map[string]gatewayVpcEndpointOptions{ "S3": &gatewayVpcEndpointOptions{ "service": ec2.GatewayVpcEndpointAwsService_S3(), }, }, }) // Alternatively gateway endpoints can be added on the VPC dynamoDbEndpoint := vpc.addGatewayEndpoint(jsii.String("DynamoDbEndpoint"), &gatewayVpcEndpointOptions{ Service: ec2.GatewayVpcEndpointAwsService_DYNAMODB(), }) // This allows to customize the endpoint policy dynamoDbEndpoint.AddToPolicy( iam.NewPolicyStatement(&PolicyStatementProps{ // Restrict to listing and describing tables Principals: []iPrincipal{ iam.NewAnyPrincipal(), }, Actions: []*string{ jsii.String("dynamodb:DescribeTable"), jsii.String("dynamodb:ListTables"), }, Resources: []*string{ jsii.String("*"), }, })) // Add an interface endpoint vpc.addInterfaceEndpoint(jsii.String("EcrDockerEndpoint"), &InterfaceVpcEndpointOptions{ Service: ec2.InterfaceVpcEndpointAwsService_ECR_DOCKER(), })
func NewGatewayVpcEndpoint ¶
func NewGatewayVpcEndpoint(scope constructs.Construct, id *string, props *GatewayVpcEndpointProps) GatewayVpcEndpoint
type GatewayVpcEndpointAwsService ¶
type GatewayVpcEndpointAwsService interface { IGatewayVpcEndpointService // The name of the service. Name() *string }
An AWS service for a gateway VPC endpoint.
Example:
// Add gateway endpoints when creating the VPC vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ GatewayEndpoints: map[string]gatewayVpcEndpointOptions{ "S3": &gatewayVpcEndpointOptions{ "service": ec2.GatewayVpcEndpointAwsService_S3(), }, }, }) // Alternatively gateway endpoints can be added on the VPC dynamoDbEndpoint := vpc.addGatewayEndpoint(jsii.String("DynamoDbEndpoint"), &gatewayVpcEndpointOptions{ Service: ec2.GatewayVpcEndpointAwsService_DYNAMODB(), }) // This allows to customize the endpoint policy dynamoDbEndpoint.AddToPolicy( iam.NewPolicyStatement(&PolicyStatementProps{ // Restrict to listing and describing tables Principals: []iPrincipal{ iam.NewAnyPrincipal(), }, Actions: []*string{ jsii.String("dynamodb:DescribeTable"), jsii.String("dynamodb:ListTables"), }, Resources: []*string{ jsii.String("*"), }, })) // Add an interface endpoint vpc.addInterfaceEndpoint(jsii.String("EcrDockerEndpoint"), &InterfaceVpcEndpointOptions{ Service: ec2.InterfaceVpcEndpointAwsService_ECR_DOCKER(), })
func GatewayVpcEndpointAwsService_DYNAMODB ¶
func GatewayVpcEndpointAwsService_DYNAMODB() GatewayVpcEndpointAwsService
func GatewayVpcEndpointAwsService_S3 ¶
func GatewayVpcEndpointAwsService_S3() GatewayVpcEndpointAwsService
func NewGatewayVpcEndpointAwsService ¶
func NewGatewayVpcEndpointAwsService(name *string, prefix *string) GatewayVpcEndpointAwsService
type GatewayVpcEndpointOptions ¶
type GatewayVpcEndpointOptions struct { // The service to use for this gateway VPC endpoint. Service IGatewayVpcEndpointService `field:"required" json:"service" yaml:"service"` // Where to add endpoint routing. // // By default, this endpoint will be routable from all subnets in the VPC. // Specify a list of subnet selection objects here to be more specific. // // Example: // var vpc vpc // // // vpc.addGatewayEndpoint(jsii.String("DynamoDbEndpoint"), &GatewayVpcEndpointOptions{ // Service: ec2.GatewayVpcEndpointAwsService_DYNAMODB(), // // Add only to ISOLATED subnets // Subnets: []subnetSelection{ // &subnetSelection{ // SubnetType: ec2.SubnetType_PRIVATE_ISOLATED, // }, // }, // }) // Subnets *[]*SubnetSelection `field:"optional" json:"subnets" yaml:"subnets"` }
Options to add a gateway endpoint to a VPC.
Example:
// Add gateway endpoints when creating the VPC vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ GatewayEndpoints: map[string]gatewayVpcEndpointOptions{ "S3": &gatewayVpcEndpointOptions{ "service": ec2.GatewayVpcEndpointAwsService_S3(), }, }, }) // Alternatively gateway endpoints can be added on the VPC dynamoDbEndpoint := vpc.addGatewayEndpoint(jsii.String("DynamoDbEndpoint"), &gatewayVpcEndpointOptions{ Service: ec2.GatewayVpcEndpointAwsService_DYNAMODB(), }) // This allows to customize the endpoint policy dynamoDbEndpoint.AddToPolicy( iam.NewPolicyStatement(&PolicyStatementProps{ // Restrict to listing and describing tables Principals: []iPrincipal{ iam.NewAnyPrincipal(), }, Actions: []*string{ jsii.String("dynamodb:DescribeTable"), jsii.String("dynamodb:ListTables"), }, Resources: []*string{ jsii.String("*"), }, })) // Add an interface endpoint vpc.addInterfaceEndpoint(jsii.String("EcrDockerEndpoint"), &InterfaceVpcEndpointOptions{ Service: ec2.InterfaceVpcEndpointAwsService_ECR_DOCKER(), })
type GatewayVpcEndpointProps ¶
type GatewayVpcEndpointProps struct { // The service to use for this gateway VPC endpoint. Service IGatewayVpcEndpointService `field:"required" json:"service" yaml:"service"` // Where to add endpoint routing. // // By default, this endpoint will be routable from all subnets in the VPC. // Specify a list of subnet selection objects here to be more specific. // // Example: // declare const vpc: ec2.Vpc; // // vpc.addGatewayEndpoint('DynamoDbEndpoint', { // service: ec2.GatewayVpcEndpointAwsService.DYNAMODB, // // Add only to ISOLATED subnets // subnets: [ // { subnetType: ec2.SubnetType.PRIVATE_ISOLATED } // ] // }); // Subnets *[]*SubnetSelection `field:"optional" json:"subnets" yaml:"subnets"` // The VPC network in which the gateway endpoint will be used. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` }
Construction properties for a GatewayVpcEndpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var gatewayVpcEndpointService iGatewayVpcEndpointService var subnet subnet var subnetFilter subnetFilter var vpc vpc gatewayVpcEndpointProps := &GatewayVpcEndpointProps{ Service: gatewayVpcEndpointService, Vpc: vpc, // the properties below are optional Subnets: []subnetSelection{ &subnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }, }
type GenericLinuxImage ¶
type GenericLinuxImage interface { IMachineImage // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
Construct a Linux machine image from an AMI map.
Linux images IDs are not published to SSM parameter store yet, so you'll have to manually specify an AMI map.
Example:
// Pick a Windows edition to use windows := ec2.NewWindowsImage(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.NewGenericLinuxImage(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
func NewGenericLinuxImage ¶
func NewGenericLinuxImage(amiMap *map[string]*string, props *GenericLinuxImageProps) GenericLinuxImage
type GenericLinuxImageProps ¶
type GenericLinuxImageProps struct { // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` }
Configuration options for GenericLinuxImage.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData genericLinuxImageProps := &GenericLinuxImageProps{ UserData: userData, }
type GenericSSMParameterImage ¶
type GenericSSMParameterImage interface { IMachineImage // Name of the SSM parameter we're looking up. ParameterName() *string // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
Select the image based on a given SSM parameter.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
The AMI ID is selected using the values published to the SSM parameter store.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData genericSSMParameterImage := awscdk.Aws_ec2.NewGenericSSMParameterImage(jsii.String("parameterName"), awscdk.Aws_ec2.OperatingSystemType_LINUX, userData)
func NewGenericSSMParameterImage ¶
func NewGenericSSMParameterImage(parameterName *string, os OperatingSystemType, userData UserData) GenericSSMParameterImage
type GenericWindowsImage ¶
type GenericWindowsImage interface { IMachineImage // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
Construct a Windows machine image from an AMI map.
Allows you to create a generic Windows EC2 , manually specify an AMI map.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData genericWindowsImage := awscdk.Aws_ec2.NewGenericWindowsImage(map[string]*string{ "amiMapKey": jsii.String("amiMap"), }, &GenericWindowsImageProps{ UserData: userData, })
func NewGenericWindowsImage ¶
func NewGenericWindowsImage(amiMap *map[string]*string, props *GenericWindowsImageProps) GenericWindowsImage
type GenericWindowsImageProps ¶
type GenericWindowsImageProps struct { // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` }
Configuration options for GenericWindowsImage.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData genericWindowsImageProps := &GenericWindowsImageProps{ UserData: userData, }
type IClientVpnConnectionHandler ¶
type IClientVpnConnectionHandler interface { // The ARN of the function. FunctionArn() *string // The name of the function. FunctionName() *string }
A connection handler for client VPN endpoints.
type IClientVpnEndpoint ¶
type IClientVpnEndpoint interface { IConnectable awscdk.IResource // The endpoint ID. EndpointId() *string // Dependable that can be depended upon to force target networks associations. TargetNetworksAssociated() constructs.IDependable }
A client VPN endpoint.
func ClientVpnEndpoint_FromEndpointAttributes ¶
func ClientVpnEndpoint_FromEndpointAttributes(scope constructs.Construct, id *string, attrs *ClientVpnEndpointAttributes) IClientVpnEndpoint
Import an existing client VPN endpoint.
type IConnectable ¶
type IConnectable interface { // The network connections associated with this resource. Connections() Connections }
An object that has a Connections object.
type IFlowLog ¶
type IFlowLog interface { awscdk.IResource // The Id of the VPC Flow Log. FlowLogId() *string }
A FlowLog.
func FlowLog_FromFlowLogId ¶
Import a Flow Log by it's Id.
type IGatewayVpcEndpoint ¶
type IGatewayVpcEndpoint interface { IVpcEndpoint }
A gateway VPC endpoint.
func GatewayVpcEndpoint_FromGatewayVpcEndpointId ¶
func GatewayVpcEndpoint_FromGatewayVpcEndpointId(scope constructs.Construct, id *string, gatewayVpcEndpointId *string) IGatewayVpcEndpoint
type IGatewayVpcEndpointService ¶
type IGatewayVpcEndpointService interface { // The name of the service. Name() *string }
A service for a gateway VPC endpoint.
type IInstance ¶
type IInstance interface { IConnectable awsiam.IGrantable awscdk.IResource // The availability zone the instance was launched in. InstanceAvailabilityZone() *string // The instance's ID. InstanceId() *string // Private DNS name for this instance. InstancePrivateDnsName() *string // Private IP for this instance. InstancePrivateIp() *string // Publicly-routable DNS name for this instance. // // (May be an empty string if the instance does not have a public name). InstancePublicDnsName() *string // Publicly-routable IP address for this instance. // // (May be an empty string if the instance does not have a public IP). InstancePublicIp() *string }
type IInterfaceVpcEndpoint ¶
type IInterfaceVpcEndpoint interface { IConnectable IVpcEndpoint }
An interface VPC endpoint.
func InterfaceVpcEndpoint_FromInterfaceVpcEndpointAttributes ¶
func InterfaceVpcEndpoint_FromInterfaceVpcEndpointAttributes(scope constructs.Construct, id *string, attrs *InterfaceVpcEndpointAttributes) IInterfaceVpcEndpoint
Imports an existing interface VPC endpoint.
type IInterfaceVpcEndpointService ¶
type IInterfaceVpcEndpointService interface { // The name of the service. Name() *string // The port of the service. Port() *float64 // Whether Private DNS is supported by default. PrivateDnsDefault() *bool }
A service for an interface VPC endpoint.
type IIpAddresses ¶ added in v2.48.0
type IIpAddresses interface { // Called by the VPC to retrieve Subnet options from the Ipam. // // Don't call this directly, the VPC will call it automatically. AllocateSubnetsCidr(input *AllocateCidrRequest) *SubnetIpamOptions // Called by the VPC to retrieve VPC options from the Ipam. // // Don't call this directly, the VPC will call it automatically. AllocateVpcCidr() *VpcIpamOptions }
Implementations for ip address management.
func IpAddresses_AwsIpamAllocation ¶ added in v2.48.0
func IpAddresses_AwsIpamAllocation(props *AwsIpamProps) IIpAddresses
Used to provide centralized Ip Address Management services for your VPC.
Uses VPC Cidr allocations from AWS IPAM. See: https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html
func IpAddresses_Cidr ¶ added in v2.48.0
func IpAddresses_Cidr(cidrBlock *string) IIpAddresses
Used to provide local Ip Address Management services for your VPC.
VPC Cidr is supplied at creation and subnets are calculated locally.
type ILaunchTemplate ¶
type ILaunchTemplate interface { awscdk.IResource // The identifier of the Launch Template. // // Exactly one of `launchTemplateId` and `launchTemplateName` will be set. LaunchTemplateId() *string // The name of the Launch Template. // // Exactly one of `launchTemplateId` and `launchTemplateName` will be set. LaunchTemplateName() *string // The version number of this launch template to use. VersionNumber() *string }
Interface for LaunchTemplate-like objects.
func LaunchTemplate_FromLaunchTemplateAttributes ¶
func LaunchTemplate_FromLaunchTemplateAttributes(scope constructs.Construct, id *string, attrs *LaunchTemplateAttributes) ILaunchTemplate
Import an existing LaunchTemplate.
type IMachineImage ¶
type IMachineImage interface { // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
Interface for classes that can select an appropriate machine image to use.
func MachineImage_FromSsmParameter ¶
func MachineImage_FromSsmParameter(parameterName *string, options *SsmParameterImageOptions) IMachineImage
An image specified in SSM parameter store.
By default, the SSM parameter is refreshed at every deployment, causing your instances to be replaced whenever a new version of the AMI is released.
Pass `{ cachedInContext: true }` to keep the AMI ID stable. If you do, you will have to remember to periodically invalidate the context to refresh to the newest AMI ID.
func MachineImage_GenericLinux ¶
func MachineImage_GenericLinux(amiMap *map[string]*string, props *GenericLinuxImageProps) IMachineImage
A Linux image where you specify the AMI ID for every region.
func MachineImage_GenericWindows ¶
func MachineImage_GenericWindows(amiMap *map[string]*string, props *GenericWindowsImageProps) IMachineImage
A Windows image where you specify the AMI ID for every region.
func MachineImage_LatestAmazonLinux ¶
func MachineImage_LatestAmazonLinux(props *AmazonLinuxImageProps) IMachineImage
An Amazon Linux image that is automatically kept up-to-date.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
N.B.: "latest" in the name of this function indicates that it always uses the most recent image of a particular generation of Amazon Linux, not that it uses the "latest generation". For backwards compatibility, this function uses Amazon Linux 1 if no generation is specified.
Specify the desired generation using the `generation` property:
```ts
ec2.MachineImage.latestAmazonLinux({ // Use Amazon Linux 2 generation: ec2.AmazonLinuxGeneration.AMAZON_LINUX_2, })
```. Deprecated: use MachineImage.latestAmazonLinux2 instead
func MachineImage_LatestAmazonLinux2 ¶ added in v2.76.0
func MachineImage_LatestAmazonLinux2(props *AmazonLinux2ImageSsmParameterProps) IMachineImage
An Amazon Linux 2 image that is automatically kept up-to-date.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
func MachineImage_LatestAmazonLinux2022 ¶ added in v2.76.0
func MachineImage_LatestAmazonLinux2022(props *AmazonLinux2022ImageSsmParameterProps) IMachineImage
An Amazon Linux 2022 image that is automatically kept up-to-date.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
func MachineImage_LatestAmazonLinux2023 ¶ added in v2.76.0
func MachineImage_LatestAmazonLinux2023(props *AmazonLinux2023ImageSsmParameterProps) IMachineImage
An Amazon Linux 2023 image that is automatically kept up-to-date.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
func MachineImage_LatestWindows ¶
func MachineImage_LatestWindows(version WindowsVersion, props *WindowsImageProps) IMachineImage
A Windows image that is automatically kept up-to-date.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
func MachineImage_Lookup ¶
func MachineImage_Lookup(props *LookupMachineImageProps) IMachineImage
Look up a shared Machine Image using DescribeImages.
The most recent, available, launchable image matching the given filter criteria will be used. Looking up AMIs may take a long time; specify as many filter criteria as possible to narrow down the search.
The AMI selected will be cached in `cdk.context.json` and the same value will be used on future runs. To refresh the AMI lookup, you will have to evict the value from the cache using the `cdk context` command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information.
This function can not be used in environment-agnostic stacks.
type INetworkAcl ¶
type INetworkAcl interface { awscdk.IResource // Add a new entry to the ACL. AddEntry(id *string, options *CommonNetworkAclEntryOptions) NetworkAclEntry // ID for the current Network ACL. NetworkAclId() *string }
A NetworkAcl.
func NetworkAcl_FromNetworkAclId ¶
func NetworkAcl_FromNetworkAclId(scope constructs.Construct, id *string, networkAclId *string) INetworkAcl
Import an existing NetworkAcl into this app.
type INetworkAclEntry ¶
type INetworkAclEntry interface { awscdk.IResource // The network ACL. NetworkAcl() INetworkAcl }
A NetworkAclEntry.
type IPeer ¶
type IPeer interface { IConnectable // Produce the egress rule JSON for the given connection. ToEgressRuleConfig() interface{} // Produce the ingress rule JSON for the given connection. ToIngressRuleConfig() interface{} // Whether the rule can be inlined into a SecurityGroup or not. CanInlineRule() *bool // A unique identifier for this connection peer. UniqueId() *string }
Interface for classes that provide the peer-specification parts of a security group rule.
func Peer_SecurityGroupId ¶ added in v2.9.0
A security group ID.
type IPlacementGroup ¶ added in v2.74.0
type IPlacementGroup interface { awscdk.IResource // The number of partitions. // // Valid only when Strategy is set to PARTITION. Partitions() *float64 // The name of this placement group. PlacementGroupName() *string // Places instances on distinct hardware. // // Spread placement groups are recommended for applications // that have a small number of critical instances that should be kept separate from each other. // Launching instances in a spread level placement group reduces the risk of simultaneous failures // that might occur when instances share the same equipment. // Spread level placement groups provide access to distinct hardware, // and are therefore suitable for mixing instance types or launching instances over time. // If you start or launch an instance in a spread placement group and there is insufficient // unique hardware to fulfill the request, the request fails. Amazon EC2 makes more distinct hardware // available over time, so you can try your request again later. // Placement groups can spread instances across racks or hosts. // You can use host level spread placement groups only with AWS Outposts. SpreadLevel() PlacementGroupSpreadLevel // Which strategy to use when launching instances. Strategy() PlacementGroupStrategy }
Determines where your instances are placed on the underlying hardware according to the specified PlacementGroupStrategy. See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
func PlacementGroup_FromPlacementGroupName ¶ added in v2.74.0
func PlacementGroup_FromPlacementGroupName(scope constructs.Construct, id *string, placementGroupName *string) IPlacementGroup
Import a PlacementGroup by its arn.
type IPrefixList ¶ added in v2.78.0
type IPrefixList interface { awscdk.IResource // The ID of the prefix list. PrefixListId() *string }
A prefix list.
func PrefixList_FromPrefixListId ¶ added in v2.78.0
func PrefixList_FromPrefixListId(scope constructs.Construct, id *string, prefixListId *string) IPrefixList
Look up prefix list by id.
type IPrivateSubnet ¶
type IPrivateSubnet interface { ISubnet }
func PrivateSubnet_FromPrivateSubnetAttributes ¶
func PrivateSubnet_FromPrivateSubnetAttributes(scope constructs.Construct, id *string, attrs *PrivateSubnetAttributes) IPrivateSubnet
type IPublicSubnet ¶
type IPublicSubnet interface { ISubnet }
func PublicSubnet_FromPublicSubnetAttributes ¶
func PublicSubnet_FromPublicSubnetAttributes(scope constructs.Construct, id *string, attrs *PublicSubnetAttributes) IPublicSubnet
type IRouteTable ¶
type IRouteTable interface { // Route table ID. RouteTableId() *string }
An abstract route table.
type ISecurityGroup ¶
type ISecurityGroup interface { IPeer awscdk.IResource // Add an egress rule for the current security group. // // `remoteRule` controls where the Rule object is created if the peer is also a // securityGroup and they are in different stack. If false (default) the // rule object is created under the current SecurityGroup object. If true and the // peer is also a SecurityGroup, the rule object is created under the remote // SecurityGroup object. AddEgressRule(peer IPeer, connection Port, description *string, remoteRule *bool) // Add an ingress rule for the current security group. // // `remoteRule` controls where the Rule object is created if the peer is also a // securityGroup and they are in different stack. If false (default) the // rule object is created under the current SecurityGroup object. If true and the // peer is also a SecurityGroup, the rule object is created under the remote // SecurityGroup object. AddIngressRule(peer IPeer, connection Port, description *string, remoteRule *bool) // Whether the SecurityGroup has been configured to allow all outbound traffic. AllowAllOutbound() *bool // ID for the current security group. SecurityGroupId() *string }
Interface for security group-like objects.
func SecurityGroup_FromLookupById ¶
func SecurityGroup_FromLookupById(scope constructs.Construct, id *string, securityGroupId *string) ISecurityGroup
Look up a security group by id.
func SecurityGroup_FromLookupByName ¶
func SecurityGroup_FromLookupByName(scope constructs.Construct, id *string, securityGroupName *string, vpc IVpc) ISecurityGroup
Look up a security group by name.
func SecurityGroup_FromSecurityGroupId ¶
func SecurityGroup_FromSecurityGroupId(scope constructs.Construct, id *string, securityGroupId *string, options *SecurityGroupImportOptions) ISecurityGroup
Import an existing security group into this app.
This method will assume that the Security Group has a rule in it which allows all outbound traffic, and so will not add egress rules to the imported Security Group (only ingress rules).
If your existing Security Group needs to have egress rules added, pass the `allowAllOutbound: false` option on import.
type ISubnet ¶
type ISubnet interface { awscdk.IResource // Associate a Network ACL with this subnet. AssociateNetworkAcl(id *string, acl INetworkAcl) // The Availability Zone the subnet is located in. AvailabilityZone() *string // Dependable that can be depended upon to force internet connectivity established on the VPC. InternetConnectivityEstablished() constructs.IDependable // The IPv4 CIDR block for this subnet. Ipv4CidrBlock() *string // The route table for this subnet. RouteTable() IRouteTable // The subnetId for this particular subnet. SubnetId() *string }
func PrivateSubnet_FromSubnetAttributes ¶
func PrivateSubnet_FromSubnetAttributes(scope constructs.Construct, id *string, attrs *SubnetAttributes) ISubnet
func PrivateSubnet_FromSubnetId ¶
Import existing subnet from id.
func PublicSubnet_FromSubnetAttributes ¶
func PublicSubnet_FromSubnetAttributes(scope constructs.Construct, id *string, attrs *SubnetAttributes) ISubnet
func PublicSubnet_FromSubnetId ¶
Import existing subnet from id.
func Subnet_FromSubnetAttributes ¶
func Subnet_FromSubnetAttributes(scope constructs.Construct, id *string, attrs *SubnetAttributes) ISubnet
func Subnet_FromSubnetId ¶
Import existing subnet from id.
type ISubnetNetworkAclAssociation ¶
type ISubnetNetworkAclAssociation interface { awscdk.IResource // ID for the current SubnetNetworkAclAssociation. SubnetNetworkAclAssociationAssociationId() *string }
A SubnetNetworkAclAssociation.
func SubnetNetworkAclAssociation_FromSubnetNetworkAclAssociationAssociationId ¶
func SubnetNetworkAclAssociation_FromSubnetNetworkAclAssociationAssociationId(scope constructs.Construct, id *string, subnetNetworkAclAssociationAssociationId *string) ISubnetNetworkAclAssociation
type IVolume ¶
type IVolume interface { awscdk.IResource // Grants permission to attach this Volume to an instance. // // CAUTION: Granting an instance permission to attach to itself using this method will lead to // an unresolvable circular reference between the instance role and the instance. // Use `IVolume.grantAttachVolumeToSelf` to grant an instance permission to attach this // volume to itself. GrantAttachVolume(grantee awsiam.IGrantable, instances *[]IInstance) awsiam.Grant // Grants permission to attach the Volume by a ResourceTag condition. // // If you are looking to // grant an Instance, AutoScalingGroup, EC2-Fleet, SpotFleet, ECS host, etc the ability to attach // this volume to **itself** then this is the method you want to use. // // This is implemented by adding a Tag with key `VolumeGrantAttach-<suffix>` to the given // constructs and this Volume, and then conditioning the Grant such that the grantee is only // given the ability to AttachVolume if both the Volume and the destination Instance have that // tag applied to them. GrantAttachVolumeByResourceTag(grantee awsiam.IGrantable, constructs *[]constructs.Construct, tagKeySuffix *string) awsiam.Grant // Grants permission to detach this Volume from an instance CAUTION: Granting an instance permission to detach from itself using this method will lead to an unresolvable circular reference between the instance role and the instance. // // Use `IVolume.grantDetachVolumeFromSelf` to grant an instance permission to detach this // volume from itself. GrantDetachVolume(grantee awsiam.IGrantable, instances *[]IInstance) awsiam.Grant // Grants permission to detach the Volume by a ResourceTag condition. // // This is implemented via the same mechanism as `IVolume.grantAttachVolumeByResourceTag`, // and is subject to the same conditions. GrantDetachVolumeByResourceTag(grantee awsiam.IGrantable, constructs *[]constructs.Construct, tagKeySuffix *string) awsiam.Grant // The availability zone that the EBS Volume is contained within (ex: us-west-2a). AvailabilityZone() *string // The customer-managed encryption key that is used to encrypt the Volume. EncryptionKey() awskms.IKey // The EBS Volume's ID. VolumeId() *string }
An EBS Volume in AWS EC2.
func Volume_FromVolumeAttributes ¶
func Volume_FromVolumeAttributes(scope constructs.Construct, id *string, attrs *VolumeAttributes) IVolume
Import an existing EBS Volume into the Stack.
type IVpc ¶
type IVpc interface { awscdk.IResource // Adds a new client VPN endpoint to this VPC. AddClientVpnEndpoint(id *string, options *ClientVpnEndpointOptions) ClientVpnEndpoint // Adds a new Flow Log to this VPC. AddFlowLog(id *string, options *FlowLogOptions) FlowLog // Adds a new gateway endpoint to this VPC. AddGatewayEndpoint(id *string, options *GatewayVpcEndpointOptions) GatewayVpcEndpoint // Adds a new interface endpoint to this VPC. AddInterfaceEndpoint(id *string, options *InterfaceVpcEndpointOptions) InterfaceVpcEndpoint // Adds a new VPN connection to this VPC. AddVpnConnection(id *string, options *VpnConnectionOptions) VpnConnection // Adds a VPN Gateway to this VPC. EnableVpnGateway(options *EnableVpnGatewayOptions) // Return information on the subnets appropriate for the given selection strategy. // // Requires that at least one subnet is matched, throws a descriptive // error message otherwise. SelectSubnets(selection *SubnetSelection) *SelectedSubnets // AZs for this VPC. AvailabilityZones() *[]*string // Dependable that can be depended upon to force internet connectivity established on the VPC. InternetConnectivityEstablished() constructs.IDependable // List of isolated subnets in this VPC. IsolatedSubnets() *[]ISubnet // List of private subnets in this VPC. PrivateSubnets() *[]ISubnet // List of public subnets in this VPC. PublicSubnets() *[]ISubnet // ARN for this VPC. VpcArn() *string // CIDR range for this VPC. VpcCidrBlock() *string // Identifier for this VPC. VpcId() *string // Identifier for the VPN gateway. VpnGatewayId() *string }
func Vpc_FromLookup ¶
func Vpc_FromLookup(scope constructs.Construct, id *string, options *VpcLookupOptions) IVpc
Import an existing VPC by querying the AWS environment this stack is deployed to.
This function only needs to be used to use VPCs not defined in your CDK application. If you are looking to share a VPC between stacks, you can pass the `Vpc` object between stacks and use it as normal.
Calling this method will lead to a lookup when the CDK CLI is executed. You can therefore not use any values that will only be available at CloudFormation execution time (i.e., Tokens).
The VPC information will be cached in `cdk.context.json` and the same VPC will be used on future runs. To refresh the lookup, you will have to evict the value from the cache using the `cdk context` command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information.
func Vpc_FromVpcAttributes ¶
func Vpc_FromVpcAttributes(scope constructs.Construct, id *string, attrs *VpcAttributes) IVpc
Import a VPC by supplying all attributes directly.
NOTE: using `fromVpcAttributes()` with deploy-time parameters (like a `Fn.importValue()` or `CfnParameter` to represent a list of subnet IDs) sometimes accidentally works. It happens to work for constructs that need a list of subnets (like `AutoScalingGroup` and `eks.Cluster`) but it does not work for constructs that need individual subnets (like `Instance`). See https://github.com/aws/aws-cdk/issues/4118 for more information.
Prefer to use `Vpc.fromLookup()` instead.
type IVpcEndpoint ¶
type IVpcEndpoint interface { awscdk.IResource // The VPC endpoint identifier. VpcEndpointId() *string }
A VPC endpoint.
type IVpcEndpointService ¶
type IVpcEndpointService interface { awscdk.IResource // The id of the VPC Endpoint Service that clients use to connect to, like vpce-svc-xxxxxxxxxxxxxxxx. VpcEndpointServiceId() *string // The service name of the VPC Endpoint Service that clients use to connect to, like com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxxxxxxxxx. VpcEndpointServiceName() *string }
A VPC endpoint service.
type IVpcEndpointServiceLoadBalancer ¶
type IVpcEndpointServiceLoadBalancer interface { // The ARN of the load balancer that hosts the VPC Endpoint Service. LoadBalancerArn() *string }
A load balancer that can host a VPC Endpoint Service.
type IVpnConnection ¶
type IVpnConnection interface { awscdk.IResource // Return the given named metric for this VPNConnection. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The bytes received through the VPN tunnel. // // Sum over 5 minutes. MetricTunnelDataIn(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The bytes sent through the VPN tunnel. // // Sum over 5 minutes. MetricTunnelDataOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The state of the tunnel. 0 indicates DOWN and 1 indicates UP. // // Average over 5 minutes. MetricTunnelState(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The ASN of the customer gateway. CustomerGatewayAsn() *float64 // The id of the customer gateway. CustomerGatewayId() *string // The ip address of the customer gateway. CustomerGatewayIp() *string // The id of the VPN connection. VpnId() *string }
func VpnConnection_FromVpnConnectionAttributes ¶ added in v2.43.0
func VpnConnection_FromVpnConnectionAttributes(scope constructs.Construct, id *string, attrs *VpnConnectionAttributes) IVpnConnection
Import a VPN connection by supplying all attributes directly.
type IVpnGateway ¶
type IVpnGateway interface { awscdk.IResource // The virtual private gateway Id. GatewayId() *string }
The virtual private gateway interface.
type InitCommand ¶
type InitCommand interface { InitElement // Returns the init element type for this element. ElementType() *string }
Command to execute on the instance.
Example:
handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitCommand_ShellCommand(jsii.String("/usr/bin/custom-nginx-install.sh"), &InitCommandOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
func InitCommand_ArgvCommand ¶
func InitCommand_ArgvCommand(argv *[]*string, options *InitCommandOptions) InitCommand
Run a command from an argv array.
You do not need to escape space characters or enclose command parameters in quotes.
func InitCommand_ShellCommand ¶
func InitCommand_ShellCommand(shellCommand *string, options *InitCommandOptions) InitCommand
Run a shell command.
Remember that some characters like `&`, `|`, `;`, `>` etc. have special meaning in a shell and need to be preceded by a `\` if you want to treat them as part of a filename.
type InitCommandOptions ¶
type InitCommandOptions struct { // The working directory. Cwd *string `field:"optional" json:"cwd" yaml:"cwd"` // Sets environment variables for the command. // // This property overwrites, rather than appends, the existing environment. Env *map[string]*string `field:"optional" json:"env" yaml:"env"` // Continue running if this command fails. IgnoreErrors *bool `field:"optional" json:"ignoreErrors" yaml:"ignoreErrors"` // Identifier key for this command. // // Commands are executed in lexicographical order of their key names. Key *string `field:"optional" json:"key" yaml:"key"` // Restart the given service(s) after this command has run. ServiceRestartHandles *[]InitServiceRestartHandle `field:"optional" json:"serviceRestartHandles" yaml:"serviceRestartHandles"` // Command to determine whether this command should be run. // // If the test passes (exits with error code of 0), the command is run. TestCmd *string `field:"optional" json:"testCmd" yaml:"testCmd"` // The duration to wait after a command has finished in case the command causes a reboot. // // Set this value to `InitCommandWaitDuration.none()` if you do not want to wait for every command; // `InitCommandWaitDuration.forever()` directs cfn-init to exit and resume only after the reboot is complete. // // For Windows systems only. WaitAfterCompletion InitCommandWaitDuration `field:"optional" json:"waitAfterCompletion" yaml:"waitAfterCompletion"` }
Options for InitCommand.
Example:
handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitCommand_ShellCommand(jsii.String("/usr/bin/custom-nginx-install.sh"), &InitCommandOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
type InitCommandWaitDuration ¶
type InitCommandWaitDuration interface { }
Represents a duration to wait after a command has finished, in case of a reboot (Windows only).
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" initCommandWaitDuration := awscdk.Aws_ec2.InitCommandWaitDuration_Forever()
func InitCommandWaitDuration_Forever ¶
func InitCommandWaitDuration_Forever() InitCommandWaitDuration
cfn-init will exit and resume only after a reboot.
func InitCommandWaitDuration_None ¶
func InitCommandWaitDuration_None() InitCommandWaitDuration
Do not wait for this command.
func InitCommandWaitDuration_Of ¶
func InitCommandWaitDuration_Of(duration awscdk.Duration) InitCommandWaitDuration
Wait for a specified duration after a command.
type InitConfig ¶
type InitConfig interface { // Add one or more elements to the config. Add(elements ...InitElement) // Whether this configset has elements or not. IsEmpty() *bool }
A collection of configuration elements.
Example:
var vpc vpc var instanceType instanceType var machineImage iMachineImage ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: MachineImage, // Showing the most complex setup, if you have simpler requirements // you can use `CloudFormationInit.fromElements()`. Init: ec2.CloudFormationInit_FromConfigSets(&ConfigSetProps{ ConfigSets: map[string][]*string{ // Applies the configs below in this order "default": []*string{ jsii.String("yumPreinstall"), jsii.String("config"), }, }, Configs: map[string]initConfig{ "yumPreinstall": ec2.NewInitConfig([]InitElement{ ec2.InitPackage_yum(jsii.String("git")), }), "config": ec2.NewInitConfig([]InitElement{ ec2.InitFile_fromObject(jsii.String("/etc/stack.json"), map[string]interface{}{ "stackId": awscdk.*stack_of(this).stackId, "stackName": awscdk.*stack_of(this).stackName, "region": awscdk.*stack_of(this).region, }), ec2.InitGroup_fromName(jsii.String("my-group")), ec2.InitUser_fromName(jsii.String("my-user")), ec2.InitPackage_rpm(jsii.String("http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/rubygem-git-1.5.0-2.el8.noarch.rpm")), }), }, }), InitOptions: &ApplyCloudFormationInitOptions{ // Optional, which configsets to activate (['default'] by default) ConfigSets: []*string{ jsii.String("default"), }, // Optional, how long the installation is expected to take (5 minutes by default) Timeout: awscdk.Duration_Minutes(jsii.Number(30)), // Optional, whether to include the --url argument when running cfn-init and cfn-signal commands (false by default) IncludeUrl: jsii.Boolean(true), // Optional, whether to include the --role argument when running cfn-init and cfn-signal commands (false by default) IncludeRole: jsii.Boolean(true), }, })
func NewInitConfig ¶
func NewInitConfig(elements *[]InitElement) InitConfig
type InitElement ¶
type InitElement interface { // Returns the init element type for this element. ElementType() *string }
Base class for all CloudFormation Init elements.
Example:
var myBucket bucket handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitFile_FromString(jsii.String("/etc/nginx/nginx.conf"), jsii.String("..."), &InitFileOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitSource_FromS3Object(jsii.String("/var/www/html"), myBucket, jsii.String("html.zip"), &InitSourceOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
type InitFile ¶
type InitFile interface { InitElement // Returns the init element type for this element. ElementType() *string }
Create files on the EC2 instance.
Example:
var vpc vpc var instanceType instanceType ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), Init: ec2.CloudFormationInit_FromElements(ec2.InitService_SystemdConfigFile(jsii.String("simpleserver"), &SystemdConfigFileOptions{ Command: jsii.String("/usr/bin/python3 -m http.server 8080"), Cwd: jsii.String("/var/www/html"), }), ec2.InitService_Enable(jsii.String("simpleserver"), &InitServiceOptions{ ServiceManager: ec2.ServiceManager_SYSTEMD, }), ec2.InitFile_FromString(jsii.String("/var/www/html/index.html"), jsii.String("Hello! It's working!"))), })
func InitFile_FromAsset ¶
func InitFile_FromAsset(targetFileName *string, path *string, options *InitFileAssetOptions) InitFile
Create an asset from the given file.
This is appropriate for files that are too large to embed into the template.
func InitFile_FromExistingAsset ¶
func InitFile_FromExistingAsset(targetFileName *string, asset awss3assets.Asset, options *InitFileOptions) InitFile
Use a file from an asset at instance startup time.
func InitFile_FromFileInline ¶
func InitFile_FromFileInline(targetFileName *string, sourceFileName *string, options *InitFileOptions) InitFile
Read a file from disk and use its contents.
The file will be embedded in the template, so care should be taken to not exceed the template size.
If options.base64encoded is set to true, this will base64-encode the file's contents.
func InitFile_FromObject ¶
func InitFile_FromObject(fileName *string, obj *map[string]interface{}, options *InitFileOptions) InitFile
Use a JSON-compatible object as the file content, write it to a JSON file.
May contain tokens.
func InitFile_FromS3Object ¶
func InitFile_FromS3Object(fileName *string, bucket awss3.IBucket, key *string, options *InitFileOptions) InitFile
Download a file from an S3 bucket at instance startup time.
func InitFile_FromString ¶
func InitFile_FromString(fileName *string, content *string, options *InitFileOptions) InitFile
Use a literal string as the file content.
func InitFile_FromUrl ¶
func InitFile_FromUrl(fileName *string, url *string, options *InitFileOptions) InitFile
Download from a URL at instance startup time.
func InitFile_Symlink ¶
func InitFile_Symlink(fileName *string, target *string, options *InitFileOptions) InitFile
Write a symlink with the given symlink target.
func InitService_SystemdConfigFile ¶ added in v2.70.0
func InitService_SystemdConfigFile(serviceName *string, options *SystemdConfigFileOptions) InitFile
Install a systemd-compatible config file for the given service.
This is a helper function to create a simple systemd configuration file that will allow running a service on the machine using `InitService.enable()`.
Systemd allows many configuration options; this function does not pretend to expose all of them. If you need advanced configuration options, you can use `InitFile` to create exactly the configuration file you need at `/etc/systemd/system/${serviceName}.service`.
type InitFileAssetOptions ¶
type InitFileAssetOptions struct { // True if the inlined content (from a string or file) should be treated as base64 encoded. // // Only applicable for inlined string and file content. Base64Encoded *bool `field:"optional" json:"base64Encoded" yaml:"base64Encoded"` // The name of the owning group for this file. // // Not supported for Windows systems. Group *string `field:"optional" json:"group" yaml:"group"` // A six-digit octal value representing the mode for this file. // // Use the first three digits for symlinks and the last three digits for // setting permissions. To create a symlink, specify 120xxx, where xxx // defines the permissions of the target file. To specify permissions for a // file, use the last three digits, such as 000644. // // Not supported for Windows systems. Mode *string `field:"optional" json:"mode" yaml:"mode"` // The name of the owning user for this file. // // Not supported for Windows systems. Owner *string `field:"optional" json:"owner" yaml:"owner"` // Restart the given service after this file has been written. ServiceRestartHandles *[]InitServiceRestartHandle `field:"optional" json:"serviceRestartHandles" yaml:"serviceRestartHandles"` // Specify a custom hash for this asset. // // If `assetHashType` is set it must // be set to `AssetHashType.CUSTOM`. For consistency, this custom hash will // be SHA256 hashed and encoded as hex. The resulting hash will be the asset // hash. // // NOTE: the hash is used in order to identify a specific revision of the asset, and // used for optimizing and caching deployment activities related to this asset such as // packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will // need to make sure it is updated every time the asset changes, or otherwise it is // possible that some deployments will not be invalidated. AssetHash *string `field:"optional" json:"assetHash" yaml:"assetHash"` // Specifies the type of hash to calculate for this asset. // // If `assetHash` is configured, this option must be `undefined` or // `AssetHashType.CUSTOM`. AssetHashType awscdk.AssetHashType `field:"optional" json:"assetHashType" yaml:"assetHashType"` // Bundle the asset by executing a command in a Docker container or a custom bundling provider. // // The asset path will be mounted at `/asset-input`. The Docker // container is responsible for putting content at `/asset-output`. // The content at `/asset-output` will be zipped and used as the // final asset. Bundling *awscdk.BundlingOptions `field:"optional" json:"bundling" yaml:"bundling"` // File paths matching the patterns will be excluded. // // See `ignoreMode` to set the matching behavior. // Has no effect on Assets bundled using the `bundling` property. Exclude *[]*string `field:"optional" json:"exclude" yaml:"exclude"` // A strategy for how to handle symlinks. FollowSymlinks awscdk.SymlinkFollowMode `field:"optional" json:"followSymlinks" yaml:"followSymlinks"` // The ignore behavior to use for `exclude` patterns. IgnoreMode awscdk.IgnoreMode `field:"optional" json:"ignoreMode" yaml:"ignoreMode"` // Whether or not the asset needs to exist beyond deployment time; // // i.e. // are copied over to a different location and not needed afterwards. // Setting this property to true has an impact on the lifecycle of the asset, // because we will assume that it is safe to delete after the CloudFormation // deployment succeeds. // // For example, Lambda Function assets are copied over to Lambda during // deployment. Therefore, it is not necessary to store the asset in S3, so // we consider those deployTime assets. DeployTime *bool `field:"optional" json:"deployTime" yaml:"deployTime"` // A list of principals that should be able to read this asset from S3. // // You can use `asset.grantRead(principal)` to grant read permissions later. Readers *[]awsiam.IGrantable `field:"optional" json:"readers" yaml:"readers"` }
Additional options for creating an InitFile from an asset.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var dockerImage dockerImage var grantable iGrantable var initServiceRestartHandle initServiceRestartHandle var localBundling iLocalBundling initFileAssetOptions := &InitFileAssetOptions{ AssetHash: jsii.String("assetHash"), AssetHashType: cdk.AssetHashType_SOURCE, Base64Encoded: jsii.Boolean(false), Bundling: &BundlingOptions{ Image: dockerImage, // the properties below are optional BundlingFileAccess: cdk.BundlingFileAccess_VOLUME_COPY, Command: []*string{ jsii.String("command"), }, Entrypoint: []*string{ jsii.String("entrypoint"), }, Environment: map[string]*string{ "environmentKey": jsii.String("environment"), }, Local: localBundling, Network: jsii.String("network"), OutputType: cdk.BundlingOutput_ARCHIVED, SecurityOpt: jsii.String("securityOpt"), User: jsii.String("user"), Volumes: []dockerVolume{ &dockerVolume{ ContainerPath: jsii.String("containerPath"), HostPath: jsii.String("hostPath"), // the properties below are optional Consistency: cdk.DockerVolumeConsistency_CONSISTENT, }, }, VolumesFrom: []*string{ jsii.String("volumesFrom"), }, WorkingDirectory: jsii.String("workingDirectory"), }, DeployTime: jsii.Boolean(false), Exclude: []*string{ jsii.String("exclude"), }, FollowSymlinks: cdk.SymlinkFollowMode_NEVER, Group: jsii.String("group"), IgnoreMode: cdk.IgnoreMode_GLOB, Mode: jsii.String("mode"), Owner: jsii.String("owner"), Readers: []*iGrantable{ grantable, }, ServiceRestartHandles: []*initServiceRestartHandle{ initServiceRestartHandle, }, }
type InitFileOptions ¶
type InitFileOptions struct { // True if the inlined content (from a string or file) should be treated as base64 encoded. // // Only applicable for inlined string and file content. Base64Encoded *bool `field:"optional" json:"base64Encoded" yaml:"base64Encoded"` // The name of the owning group for this file. // // Not supported for Windows systems. Group *string `field:"optional" json:"group" yaml:"group"` // A six-digit octal value representing the mode for this file. // // Use the first three digits for symlinks and the last three digits for // setting permissions. To create a symlink, specify 120xxx, where xxx // defines the permissions of the target file. To specify permissions for a // file, use the last three digits, such as 000644. // // Not supported for Windows systems. Mode *string `field:"optional" json:"mode" yaml:"mode"` // The name of the owning user for this file. // // Not supported for Windows systems. Owner *string `field:"optional" json:"owner" yaml:"owner"` // Restart the given service after this file has been written. ServiceRestartHandles *[]InitServiceRestartHandle `field:"optional" json:"serviceRestartHandles" yaml:"serviceRestartHandles"` }
Options for InitFile.
Example:
var myBucket bucket handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitFile_FromString(jsii.String("/etc/nginx/nginx.conf"), jsii.String("..."), &InitFileOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitSource_FromS3Object(jsii.String("/var/www/html"), myBucket, jsii.String("html.zip"), &InitSourceOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
type InitGroup ¶
type InitGroup interface { InitElement // Returns the init element type for this element. ElementType() *string }
Create Linux/UNIX groups and assign group IDs.
Not supported for Windows systems.
Example:
var vpc vpc var instanceType instanceType var machineImage iMachineImage ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: MachineImage, // Showing the most complex setup, if you have simpler requirements // you can use `CloudFormationInit.fromElements()`. Init: ec2.CloudFormationInit_FromConfigSets(&ConfigSetProps{ ConfigSets: map[string][]*string{ // Applies the configs below in this order "default": []*string{ jsii.String("yumPreinstall"), jsii.String("config"), }, }, Configs: map[string]initConfig{ "yumPreinstall": ec2.NewInitConfig([]InitElement{ ec2.InitPackage_yum(jsii.String("git")), }), "config": ec2.NewInitConfig([]InitElement{ ec2.InitFile_fromObject(jsii.String("/etc/stack.json"), map[string]interface{}{ "stackId": awscdk.*stack_of(this).stackId, "stackName": awscdk.*stack_of(this).stackName, "region": awscdk.*stack_of(this).region, }), ec2.InitGroup_fromName(jsii.String("my-group")), ec2.InitUser_fromName(jsii.String("my-user")), ec2.InitPackage_rpm(jsii.String("http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/rubygem-git-1.5.0-2.el8.noarch.rpm")), }), }, }), InitOptions: &ApplyCloudFormationInitOptions{ // Optional, which configsets to activate (['default'] by default) ConfigSets: []*string{ jsii.String("default"), }, // Optional, how long the installation is expected to take (5 minutes by default) Timeout: awscdk.Duration_Minutes(jsii.Number(30)), // Optional, whether to include the --url argument when running cfn-init and cfn-signal commands (false by default) IncludeUrl: jsii.Boolean(true), // Optional, whether to include the --role argument when running cfn-init and cfn-signal commands (false by default) IncludeRole: jsii.Boolean(true), }, })
func InitGroup_FromName ¶
Create a group from its name, and optionally, group id.
func NewInitGroup ¶
type InitPackage ¶
type InitPackage interface { InitElement // Returns the init element type for this element. ElementType() *string RenderPackageVersions() interface{} }
A package to be installed during cfn-init time.
Example:
var vpc vpc var instanceType instanceType var machineImage iMachineImage ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: MachineImage, // Showing the most complex setup, if you have simpler requirements // you can use `CloudFormationInit.fromElements()`. Init: ec2.CloudFormationInit_FromConfigSets(&ConfigSetProps{ ConfigSets: map[string][]*string{ // Applies the configs below in this order "default": []*string{ jsii.String("yumPreinstall"), jsii.String("config"), }, }, Configs: map[string]initConfig{ "yumPreinstall": ec2.NewInitConfig([]InitElement{ ec2.InitPackage_yum(jsii.String("git")), }), "config": ec2.NewInitConfig([]InitElement{ ec2.InitFile_fromObject(jsii.String("/etc/stack.json"), map[string]interface{}{ "stackId": awscdk.*stack_of(this).stackId, "stackName": awscdk.*stack_of(this).stackName, "region": awscdk.*stack_of(this).region, }), ec2.InitGroup_fromName(jsii.String("my-group")), ec2.InitUser_fromName(jsii.String("my-user")), ec2.InitPackage_rpm(jsii.String("http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/rubygem-git-1.5.0-2.el8.noarch.rpm")), }), }, }), InitOptions: &ApplyCloudFormationInitOptions{ // Optional, which configsets to activate (['default'] by default) ConfigSets: []*string{ jsii.String("default"), }, // Optional, how long the installation is expected to take (5 minutes by default) Timeout: awscdk.Duration_Minutes(jsii.Number(30)), // Optional, whether to include the --url argument when running cfn-init and cfn-signal commands (false by default) IncludeUrl: jsii.Boolean(true), // Optional, whether to include the --role argument when running cfn-init and cfn-signal commands (false by default) IncludeRole: jsii.Boolean(true), }, })
func InitPackage_Apt ¶
func InitPackage_Apt(packageName *string, options *NamedPackageOptions) InitPackage
Install a package using APT.
func InitPackage_Msi ¶
func InitPackage_Msi(location *string, options *LocationPackageOptions) InitPackage
Install an MSI package from an HTTP URL or a location on disk.
func InitPackage_Python ¶
func InitPackage_Python(packageName *string, options *NamedPackageOptions) InitPackage
Install a package from PyPI.
func InitPackage_Rpm ¶
func InitPackage_Rpm(location *string, options *LocationPackageOptions) InitPackage
Install an RPM from an HTTP URL or a location on disk.
func InitPackage_RubyGem ¶
func InitPackage_RubyGem(gemName *string, options *NamedPackageOptions) InitPackage
Install a package from RubyGems.
func InitPackage_Yum ¶
func InitPackage_Yum(packageName *string, options *NamedPackageOptions) InitPackage
Install a package using Yum.
func NewInitPackage ¶
func NewInitPackage(type_ *string, versions *[]*string, packageName *string, serviceHandles *[]InitServiceRestartHandle) InitPackage
type InitService ¶
type InitService interface { InitElement // Returns the init element type for this element. ElementType() *string }
A services that be enabled, disabled or restarted when the instance is launched.
Example:
var myBucket bucket handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitFile_FromString(jsii.String("/etc/nginx/nginx.conf"), jsii.String("..."), &InitFileOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitSource_FromS3Object(jsii.String("/var/www/html"), myBucket, jsii.String("html.zip"), &InitSourceOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
func InitService_Disable ¶
func InitService_Disable(serviceName *string) InitService
Disable and stop the given service.
func InitService_Enable ¶
func InitService_Enable(serviceName *string, options *InitServiceOptions) InitService
Enable and start the given service, optionally restarting it.
type InitServiceOptions ¶
type InitServiceOptions struct { // Enable or disable this service. // // Set to true to ensure that the service will be started automatically upon boot. // // Set to false to ensure that the service will not be started automatically upon boot. Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"` // Make sure this service is running or not running after cfn-init finishes. // // Set to true to ensure that the service is running after cfn-init finishes. // // Set to false to ensure that the service is not running after cfn-init finishes. EnsureRunning *bool `field:"optional" json:"ensureRunning" yaml:"ensureRunning"` // What service manager to use. // // This needs to match the actual service manager on your Operating System. // For example, Amazon Linux 1 uses SysVinit, but Amazon Linux 2 uses Systemd. ServiceManager ServiceManager `field:"optional" json:"serviceManager" yaml:"serviceManager"` // Restart service when the actions registered into the restartHandle have been performed. // // Register actions into the restartHandle by passing it to `InitFile`, `InitCommand`, // `InitPackage` and `InitSource` objects. ServiceRestartHandle InitServiceRestartHandle `field:"optional" json:"serviceRestartHandle" yaml:"serviceRestartHandle"` }
Options for an InitService.
Example:
var myBucket bucket handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitFile_FromString(jsii.String("/etc/nginx/nginx.conf"), jsii.String("..."), &InitFileOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitSource_FromS3Object(jsii.String("/var/www/html"), myBucket, jsii.String("html.zip"), &InitSourceOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
type InitServiceRestartHandle ¶
type InitServiceRestartHandle interface { }
An object that represents reasons to restart an InitService.
Pass an instance of this object to the `InitFile`, `InitCommand`, `InitSource` and `InitPackage` objects, and finally to an `InitService` itself to cause the actions (files, commands, sources, and packages) to trigger a restart of the service.
For example, the following will run a custom command to install Nginx, and trigger the nginx service to be restarted after the command has run.
```ts const handle = new ec2.InitServiceRestartHandle(); ec2.CloudFormationInit.fromElements(
ec2.InitCommand.shellCommand('/usr/bin/custom-nginx-install.sh', { serviceRestartHandles: [handle] }), ec2.InitService.enable('nginx', { serviceRestartHandle: handle }),
); ```.
Example:
var myBucket bucket handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitFile_FromString(jsii.String("/etc/nginx/nginx.conf"), jsii.String("..."), &InitFileOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitSource_FromS3Object(jsii.String("/var/www/html"), myBucket, jsii.String("html.zip"), &InitSourceOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
func NewInitServiceRestartHandle ¶
func NewInitServiceRestartHandle() InitServiceRestartHandle
type InitSource ¶
type InitSource interface { InitElement // Returns the init element type for this element. ElementType() *string }
Extract an archive into a directory.
Example:
var myBucket bucket handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitFile_FromString(jsii.String("/etc/nginx/nginx.conf"), jsii.String("..."), &InitFileOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitSource_FromS3Object(jsii.String("/var/www/html"), myBucket, jsii.String("html.zip"), &InitSourceOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
func InitSource_FromAsset ¶
func InitSource_FromAsset(targetDirectory *string, path *string, options *InitSourceAssetOptions) InitSource
Create an InitSource from an asset created from the given path.
func InitSource_FromExistingAsset ¶
func InitSource_FromExistingAsset(targetDirectory *string, asset awss3assets.Asset, options *InitSourceOptions) InitSource
Extract a directory from an existing directory asset.
func InitSource_FromGitHub ¶
func InitSource_FromGitHub(targetDirectory *string, owner *string, repo *string, refSpec *string, options *InitSourceOptions) InitSource
Extract a GitHub branch into a given directory.
func InitSource_FromS3Object ¶
func InitSource_FromS3Object(targetDirectory *string, bucket awss3.IBucket, key *string, options *InitSourceOptions) InitSource
Extract an archive stored in an S3 bucket into the given directory.
func InitSource_FromUrl ¶
func InitSource_FromUrl(targetDirectory *string, url *string, options *InitSourceOptions) InitSource
Retrieve a URL and extract it into the given directory.
type InitSourceAssetOptions ¶
type InitSourceAssetOptions struct { // Restart the given services after this archive has been extracted. ServiceRestartHandles *[]InitServiceRestartHandle `field:"optional" json:"serviceRestartHandles" yaml:"serviceRestartHandles"` // Specify a custom hash for this asset. // // If `assetHashType` is set it must // be set to `AssetHashType.CUSTOM`. For consistency, this custom hash will // be SHA256 hashed and encoded as hex. The resulting hash will be the asset // hash. // // NOTE: the hash is used in order to identify a specific revision of the asset, and // used for optimizing and caching deployment activities related to this asset such as // packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will // need to make sure it is updated every time the asset changes, or otherwise it is // possible that some deployments will not be invalidated. AssetHash *string `field:"optional" json:"assetHash" yaml:"assetHash"` // Specifies the type of hash to calculate for this asset. // // If `assetHash` is configured, this option must be `undefined` or // `AssetHashType.CUSTOM`. AssetHashType awscdk.AssetHashType `field:"optional" json:"assetHashType" yaml:"assetHashType"` // Bundle the asset by executing a command in a Docker container or a custom bundling provider. // // The asset path will be mounted at `/asset-input`. The Docker // container is responsible for putting content at `/asset-output`. // The content at `/asset-output` will be zipped and used as the // final asset. Bundling *awscdk.BundlingOptions `field:"optional" json:"bundling" yaml:"bundling"` // File paths matching the patterns will be excluded. // // See `ignoreMode` to set the matching behavior. // Has no effect on Assets bundled using the `bundling` property. Exclude *[]*string `field:"optional" json:"exclude" yaml:"exclude"` // A strategy for how to handle symlinks. FollowSymlinks awscdk.SymlinkFollowMode `field:"optional" json:"followSymlinks" yaml:"followSymlinks"` // The ignore behavior to use for `exclude` patterns. IgnoreMode awscdk.IgnoreMode `field:"optional" json:"ignoreMode" yaml:"ignoreMode"` // Whether or not the asset needs to exist beyond deployment time; // // i.e. // are copied over to a different location and not needed afterwards. // Setting this property to true has an impact on the lifecycle of the asset, // because we will assume that it is safe to delete after the CloudFormation // deployment succeeds. // // For example, Lambda Function assets are copied over to Lambda during // deployment. Therefore, it is not necessary to store the asset in S3, so // we consider those deployTime assets. DeployTime *bool `field:"optional" json:"deployTime" yaml:"deployTime"` // A list of principals that should be able to read this asset from S3. // // You can use `asset.grantRead(principal)` to grant read permissions later. Readers *[]awsiam.IGrantable `field:"optional" json:"readers" yaml:"readers"` }
Additional options for an InitSource that builds an asset from local files.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var dockerImage dockerImage var grantable iGrantable var initServiceRestartHandle initServiceRestartHandle var localBundling iLocalBundling initSourceAssetOptions := &InitSourceAssetOptions{ AssetHash: jsii.String("assetHash"), AssetHashType: cdk.AssetHashType_SOURCE, Bundling: &BundlingOptions{ Image: dockerImage, // the properties below are optional BundlingFileAccess: cdk.BundlingFileAccess_VOLUME_COPY, Command: []*string{ jsii.String("command"), }, Entrypoint: []*string{ jsii.String("entrypoint"), }, Environment: map[string]*string{ "environmentKey": jsii.String("environment"), }, Local: localBundling, Network: jsii.String("network"), OutputType: cdk.BundlingOutput_ARCHIVED, SecurityOpt: jsii.String("securityOpt"), User: jsii.String("user"), Volumes: []dockerVolume{ &dockerVolume{ ContainerPath: jsii.String("containerPath"), HostPath: jsii.String("hostPath"), // the properties below are optional Consistency: cdk.DockerVolumeConsistency_CONSISTENT, }, }, VolumesFrom: []*string{ jsii.String("volumesFrom"), }, WorkingDirectory: jsii.String("workingDirectory"), }, DeployTime: jsii.Boolean(false), Exclude: []*string{ jsii.String("exclude"), }, FollowSymlinks: cdk.SymlinkFollowMode_NEVER, IgnoreMode: cdk.IgnoreMode_GLOB, Readers: []*iGrantable{ grantable, }, ServiceRestartHandles: []*initServiceRestartHandle{ initServiceRestartHandle, }, }
type InitSourceOptions ¶
type InitSourceOptions struct { // Restart the given services after this archive has been extracted. ServiceRestartHandles *[]InitServiceRestartHandle `field:"optional" json:"serviceRestartHandles" yaml:"serviceRestartHandles"` }
Additional options for an InitSource.
Example:
var myBucket bucket handle := ec2.NewInitServiceRestartHandle() ec2.CloudFormationInit_FromElements(ec2.InitFile_FromString(jsii.String("/etc/nginx/nginx.conf"), jsii.String("..."), &InitFileOptions{ ServiceRestartHandles: []initServiceRestartHandle{ handle, }, }), ec2.InitSource_FromS3Object(jsii.String("/var/www/html"), myBucket, jsii.String("html.zip"), &InitSourceOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ handle, }, }), ec2.InitService_Enable(jsii.String("nginx"), &InitServiceOptions{ ServiceRestartHandle: handle, }))
type InitUser ¶
type InitUser interface { InitElement // Returns the init element type for this element. ElementType() *string }
Create Linux/UNIX users and to assign user IDs.
Users are created as non-interactive system users with a shell of /sbin/nologin. This is by design and cannot be modified.
Not supported for Windows systems.
Example:
var vpc vpc var instanceType instanceType var machineImage iMachineImage ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: MachineImage, // Showing the most complex setup, if you have simpler requirements // you can use `CloudFormationInit.fromElements()`. Init: ec2.CloudFormationInit_FromConfigSets(&ConfigSetProps{ ConfigSets: map[string][]*string{ // Applies the configs below in this order "default": []*string{ jsii.String("yumPreinstall"), jsii.String("config"), }, }, Configs: map[string]initConfig{ "yumPreinstall": ec2.NewInitConfig([]InitElement{ ec2.InitPackage_yum(jsii.String("git")), }), "config": ec2.NewInitConfig([]InitElement{ ec2.InitFile_fromObject(jsii.String("/etc/stack.json"), map[string]interface{}{ "stackId": awscdk.*stack_of(this).stackId, "stackName": awscdk.*stack_of(this).stackName, "region": awscdk.*stack_of(this).region, }), ec2.InitGroup_fromName(jsii.String("my-group")), ec2.InitUser_fromName(jsii.String("my-user")), ec2.InitPackage_rpm(jsii.String("http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/rubygem-git-1.5.0-2.el8.noarch.rpm")), }), }, }), InitOptions: &ApplyCloudFormationInitOptions{ // Optional, which configsets to activate (['default'] by default) ConfigSets: []*string{ jsii.String("default"), }, // Optional, how long the installation is expected to take (5 minutes by default) Timeout: awscdk.Duration_Minutes(jsii.Number(30)), // Optional, whether to include the --url argument when running cfn-init and cfn-signal commands (false by default) IncludeUrl: jsii.Boolean(true), // Optional, whether to include the --role argument when running cfn-init and cfn-signal commands (false by default) IncludeRole: jsii.Boolean(true), }, })
func InitUser_FromName ¶
func InitUser_FromName(userName *string, options *InitUserOptions) InitUser
Create a user from user name.
func NewInitUser ¶
func NewInitUser(userName *string, userOptions *InitUserOptions) InitUser
type InitUserOptions ¶
type InitUserOptions struct { // A list of group names. // // The user will be added to each group in the list. Groups *[]*string `field:"optional" json:"groups" yaml:"groups"` // The user's home directory. HomeDir *string `field:"optional" json:"homeDir" yaml:"homeDir"` // A user ID. // // The creation process fails if the user name exists with a different user ID. // If the user ID is already assigned to an existing user the operating system may // reject the creation request. UserId *float64 `field:"optional" json:"userId" yaml:"userId"` }
Optional parameters used when creating a user.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" initUserOptions := &InitUserOptions{ Groups: []*string{ jsii.String("groups"), }, HomeDir: jsii.String("homeDir"), UserId: jsii.Number(123), }
type Instance ¶
type Instance interface { awscdk.Resource IInstance // Allows specify security group connections for the instance. Connections() Connections // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The principal to grant permissions to. GrantPrincipal() awsiam.IPrincipal // the underlying instance resource. Instance() CfnInstance // The availability zone the instance was launched in. InstanceAvailabilityZone() *string // The instance's ID. InstanceId() *string // Private DNS name for this instance. InstancePrivateDnsName() *string // Private IP for this instance. InstancePrivateIp() *string // Publicly-routable DNS name for this instance. // // (May be an empty string if the instance does not have a public name). InstancePublicDnsName() *string // Publicly-routable IP address for this instance. // // (May be an empty string if the instance does not have a public IP). InstancePublicIp() *string // The tree node. Node() constructs.Node // The type of OS the instance is running. OsType() OperatingSystemType // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The IAM role assumed by the instance. Role() awsiam.IRole // The stack in which this resource is defined. Stack() awscdk.Stack // UserData for the instance. UserData() UserData // Add the security group to the instance. AddSecurityGroup(securityGroup ISecurityGroup) // Adds a statement to the IAM role assumed by the instance. AddToRolePolicy(statement awsiam.PolicyStatement) // Add command to the startup script of the instance. // // The command must be in the scripting language supported by the instance's OS (i.e. Linux/Windows). AddUserData(commands ...*string) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
This represents a single EC2 instance.
Example:
var vpc iVpc lb := elb.NewLoadBalancer(this, jsii.String("LB"), &LoadBalancerProps{ Vpc: Vpc, }) // instance to add as the target for load balancer. instance := ec2.NewInstance(this, jsii.String("targetInstance"), &InstanceProps{ Vpc: vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_MICRO), MachineImage: ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX_2, }), }) lb.AddTarget(elb.NewInstanceTarget(instance))
func NewInstance ¶
func NewInstance(scope constructs.Construct, id *string, props *InstanceProps) Instance
type InstanceArchitecture ¶
type InstanceArchitecture string
Identifies an instance's CPU architecture.
const ( // ARM64 architecture. InstanceArchitecture_ARM_64 InstanceArchitecture = "ARM_64" // x86-64 architecture. InstanceArchitecture_X86_64 InstanceArchitecture = "X86_64" )
type InstanceClass ¶
type InstanceClass string
What class and generation of instance to use.
We have both symbolic and concrete enums for every type.
The first are for people that want to specify by purpose, the second one are for people who already know exactly what 'R4' means.
Example:
// Example automatically generated from non-compiling source. May contain errors. var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_2_08_1(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), }), ServerlessV2MinCapacity: jsii.Number(6.5), ServerlessV2MaxCapacity: jsii.Number(64), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader1"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), }), rds.ClusterInstance_*ServerlessV2(jsii.String("reader2")), }, Vpc: Vpc, })
const ( // Standard instances, 3rd generation. InstanceClass_STANDARD3 InstanceClass = "STANDARD3" // Standard instances, 3rd generation. InstanceClass_M3 InstanceClass = "M3" // Standard instances, 4th generation. InstanceClass_STANDARD4 InstanceClass = "STANDARD4" // Standard instances, 4th generation. InstanceClass_M4 InstanceClass = "M4" // Standard instances, 5th generation. InstanceClass_STANDARD5 InstanceClass = "STANDARD5" // Standard instances, 5th generation. InstanceClass_M5 InstanceClass = "M5" // Standard instances with local NVME drive, 5th generation. InstanceClass_STANDARD5_NVME_DRIVE InstanceClass = "STANDARD5_NVME_DRIVE" // Standard instances with local NVME drive, 5th generation. InstanceClass_M5D InstanceClass = "M5D" // Standard instances based on AMD EPYC, 5th generation. InstanceClass_STANDARD5_AMD InstanceClass = "STANDARD5_AMD" // Standard instances based on AMD EPYC, 5th generation. InstanceClass_M5A InstanceClass = "M5A" // Standard instances based on AMD EPYC with local NVME drive, 5th generation. InstanceClass_STANDARD5_AMD_NVME_DRIVE InstanceClass = "STANDARD5_AMD_NVME_DRIVE" // Standard instances based on AMD EPYC with local NVME drive, 5th generation. InstanceClass_M5AD InstanceClass = "M5AD" // Standard instances for high performance computing, 5th generation. InstanceClass_STANDARD5_HIGH_PERFORMANCE InstanceClass = "STANDARD5_HIGH_PERFORMANCE" // Standard instances for high performance computing, 5th generation. InstanceClass_M5N InstanceClass = "M5N" // Standard instances with local NVME drive for high performance computing, 5th generation. InstanceClass_STANDARD5_NVME_DRIVE_HIGH_PERFORMANCE InstanceClass = "STANDARD5_NVME_DRIVE_HIGH_PERFORMANCE" // Standard instances with local NVME drive for high performance computing, 5th generation. InstanceClass_M5DN InstanceClass = "M5DN" // Standard instances with high memory and compute capacity based on Intel Xeon Scalable (Cascade Lake) processors, 5nd generation. InstanceClass_STANDARD5_HIGH_COMPUTE InstanceClass = "STANDARD5_HIGH_COMPUTE" // Standard instances with high memory and compute capacity based on Intel Xeon Scalable (Cascade Lake) processors, 5nd generation. InstanceClass_M5ZN InstanceClass = "M5ZN" // Memory optimized instances, 3rd generation. InstanceClass_MEMORY3 InstanceClass = "MEMORY3" // Memory optimized instances, 3rd generation. InstanceClass_R3 InstanceClass = "R3" // Memory optimized instances, 4th generation. InstanceClass_MEMORY4 InstanceClass = "MEMORY4" // Memory optimized instances, 4th generation. InstanceClass_R4 InstanceClass = "R4" // Memory optimized instances, 5th generation. InstanceClass_MEMORY5 InstanceClass = "MEMORY5" // Memory optimized instances, 5th generation. InstanceClass_R5 InstanceClass = "R5" // Memory optimized instances based on AMD EPYC, 6th generation. InstanceClass_MEMORY6_AMD InstanceClass = "MEMORY6_AMD" // Memory optimized instances based on AMD EPYC, 6th generation. InstanceClass_R6A InstanceClass = "R6A" // Memory optimized instances, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake). InstanceClass_MEMORY6_INTEL InstanceClass = "MEMORY6_INTEL" // Memory optimized instances, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake). InstanceClass_R6I InstanceClass = "R6I" // Memory optimized instances with local NVME drive, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake). InstanceClass_MEMORY6_INTEL_NVME_DRIVE InstanceClass = "MEMORY6_INTEL_NVME_DRIVE" // Memory optimized instances with local NVME drive, 6th generation with Intel Xeon Scalable processors (3rd generation processors code named Ice Lake). InstanceClass_R6ID InstanceClass = "R6ID" // Memory optimized instances for high performance computing, 5th generation. InstanceClass_MEMORY5_HIGH_PERFORMANCE InstanceClass = "MEMORY5_HIGH_PERFORMANCE" // Memory optimized instances for high performance computing, 5th generation. InstanceClass_R5N InstanceClass = "R5N" // Memory optimized instances with local NVME drive, 5th generation. InstanceClass_MEMORY5_NVME_DRIVE InstanceClass = "MEMORY5_NVME_DRIVE" // Memory optimized instances with local NVME drive, 5th generation. InstanceClass_R5D InstanceClass = "R5D" // Memory optimized instances with local NVME drive for high performance computing, 5th generation. InstanceClass_MEMORY5_NVME_DRIVE_HIGH_PERFORMANCE InstanceClass = "MEMORY5_NVME_DRIVE_HIGH_PERFORMANCE" // Memory optimized instances with local NVME drive for high performance computing, 5th generation. InstanceClass_R5DN InstanceClass = "R5DN" // Memory optimized instances based on AMD EPYC, 5th generation. InstanceClass_MEMORY5_AMD InstanceClass = "MEMORY5_AMD" // Memory optimized instances based on AMD EPYC, 5th generation. InstanceClass_R5A InstanceClass = "R5A" // Memory optimized instances based on AMD EPYC with local NVME drive, 5th generation. InstanceClass_MEMORY5_AMD_NVME_DRIVE InstanceClass = "MEMORY5_AMD_NVME_DRIVE" // High memory instances (3TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_HIGH_MEMORY_3TB_1 InstanceClass = "HIGH_MEMORY_3TB_1" // High memory instances (3TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_U_3TB1 InstanceClass = "U_3TB1" // High memory instances (6TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_HIGH_MEMORY_6TB_1 InstanceClass = "HIGH_MEMORY_6TB_1" // High memory instances (6TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_U_6TB1 InstanceClass = "U_6TB1" // High memory instances (9TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_HIGH_MEMORY_9TB_1 InstanceClass = "HIGH_MEMORY_9TB_1" // High memory instances (9TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_U_9TB1 InstanceClass = "U_9TB1" // High memory instances (12TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_HIGH_MEMORY_12TB_1 InstanceClass = "HIGH_MEMORY_12TB_1" // High memory instances (12TB) based on Intel Xeon Platinum 8176M (Skylake) processors, 1st generation. InstanceClass_U_12TB1 InstanceClass = "U_12TB1" // High memory instances (18TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation. InstanceClass_HIGH_MEMORY_18TB_1 InstanceClass = "HIGH_MEMORY_18TB_1" // High memory instances (18TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation. InstanceClass_U_18TB1 InstanceClass = "U_18TB1" // High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation. InstanceClass_HIGH_MEMORY_24TB_1 InstanceClass = "HIGH_MEMORY_24TB_1" // High memory instances (24TB) based on Intel Xeon Scalable (Cascade Lake) processors, 1st generation. InstanceClass_U_24TB1 InstanceClass = "U_24TB1" // Memory optimized instances based on AMD EPYC with local NVME drive, 5th generation. InstanceClass_R5AD InstanceClass = "R5AD" // Memory optimized instances that are also EBS-optimized, 5th generation. InstanceClass_MEMORY5_EBS_OPTIMIZED InstanceClass = "MEMORY5_EBS_OPTIMIZED" // Memory optimized instances that are also EBS-optimized, 5th generation. InstanceClass_R5B InstanceClass = "R5B" // Memory optimized instances, 6th generation with Graviton2 processors. InstanceClass_MEMORY6_GRAVITON InstanceClass = "MEMORY6_GRAVITON" // Memory optimized instances, 6th generation with Graviton2 processors. InstanceClass_R6G InstanceClass = "R6G" // Memory optimized instances, 6th generation with Graviton2 processors and local NVME drive. InstanceClass_MEMORY6_GRAVITON2_NVME_DRIVE InstanceClass = "MEMORY6_GRAVITON2_NVME_DRIVE" // Memory optimized instances, 6th generation with Graviton2 processors and local NVME drive. InstanceClass_R6GD InstanceClass = "R6GD" // Memory optimized instances, 7th generation with Graviton3 processors. // // This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Ireland). InstanceClass_MEMORY7_GRAVITON InstanceClass = "MEMORY7_GRAVITON" // Memory optimized instances, 7th generation with Graviton3 processors. // // This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Ireland). InstanceClass_R7G InstanceClass = "R7G" // Compute optimized instances, 3rd generation. InstanceClass_COMPUTE3 InstanceClass = "COMPUTE3" // Compute optimized instances, 3rd generation. InstanceClass_C3 InstanceClass = "C3" // Compute optimized instances, 4th generation. InstanceClass_COMPUTE4 InstanceClass = "COMPUTE4" // Compute optimized instances, 4th generation. InstanceClass_C4 InstanceClass = "C4" // Compute optimized instances, 5th generation. InstanceClass_COMPUTE5 InstanceClass = "COMPUTE5" // Compute optimized instances, 5th generation. InstanceClass_C5 InstanceClass = "C5" // Compute optimized instances with local NVME drive, 5th generation. InstanceClass_COMPUTE5_NVME_DRIVE InstanceClass = "COMPUTE5_NVME_DRIVE" // Compute optimized instances with local NVME drive, 5th generation. InstanceClass_C5D InstanceClass = "C5D" // Compute optimized instances based on AMD EPYC, 5th generation. InstanceClass_COMPUTE5_AMD InstanceClass = "COMPUTE5_AMD" // Compute optimized instances based on AMD EPYC, 5th generation. InstanceClass_C5A InstanceClass = "C5A" // Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation. InstanceClass_COMPUTE5_AMD_NVME_DRIVE InstanceClass = "COMPUTE5_AMD_NVME_DRIVE" // Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation. InstanceClass_C5AD InstanceClass = "C5AD" // Compute optimized instances for high performance computing, 5th generation. InstanceClass_COMPUTE5_HIGH_PERFORMANCE InstanceClass = "COMPUTE5_HIGH_PERFORMANCE" // Compute optimized instances for high performance computing, 5th generation. InstanceClass_C5N InstanceClass = "C5N" // Compute optimized instances, 6th generation. InstanceClass_COMPUTE6_INTEL InstanceClass = "COMPUTE6_INTEL" // Compute optimized instances, 6th generation. InstanceClass_C6I InstanceClass = "C6I" // Compute optimized instances with local NVME drive, 6th generation. InstanceClass_COMPUTE6_INTEL_NVME_DRIVE InstanceClass = "COMPUTE6_INTEL_NVME_DRIVE" // Compute optimized instances with local NVME drive, 6th generation. InstanceClass_C6ID InstanceClass = "C6ID" // Compute optimized instances for high performance computing, 6th generation. InstanceClass_COMPUTE6_INTEL_HIGH_PERFORMANCE InstanceClass = "COMPUTE6_INTEL_HIGH_PERFORMANCE" // Compute optimized instances for high performance computing, 6th generation. InstanceClass_C6IN InstanceClass = "C6IN" // Compute optimized instances based on AMD EPYC (codename Milan), 6th generation. InstanceClass_COMPUTE6_AMD InstanceClass = "COMPUTE6_AMD" // Compute optimized instances based on AMD EPYC (codename Milan), 6th generation. InstanceClass_C6A InstanceClass = "C6A" // Compute optimized instances for high performance computing, 6th generation with Graviton2 processors. InstanceClass_COMPUTE6_GRAVITON2 InstanceClass = "COMPUTE6_GRAVITON2" // Compute optimized instances for high performance computing, 6th generation with Graviton2 processors. InstanceClass_C6G InstanceClass = "C6G" // Compute optimized instances for high performance computing, 7th generation with Graviton3 processors. InstanceClass_COMPUTE7_GRAVITON3 InstanceClass = "COMPUTE7_GRAVITON3" // Compute optimized instances for high performance computing, 7th generation with Graviton3 processors. InstanceClass_C7G InstanceClass = "C7G" // Compute optimized instances for high performance computing, 6th generation with Graviton2 processors and local NVME drive. InstanceClass_COMPUTE6_GRAVITON2_NVME_DRIVE InstanceClass = "COMPUTE6_GRAVITON2_NVME_DRIVE" // Compute optimized instances for high performance computing, 6th generation with Graviton2 processors and local NVME drive. InstanceClass_C6GD InstanceClass = "C6GD" // Compute optimized instances for high performance computing, 6th generation with Graviton2 processors and high network bandwidth capabilities. InstanceClass_COMPUTE6_GRAVITON2_HIGH_NETWORK_BANDWIDTH InstanceClass = "COMPUTE6_GRAVITON2_HIGH_NETWORK_BANDWIDTH" // Compute optimized instances for high performance computing, 6th generation with Graviton2 processors and high network bandwidth capabilities. InstanceClass_C6GN InstanceClass = "C6GN" // Storage-optimized instances, 2nd generation. InstanceClass_STORAGE2 InstanceClass = "STORAGE2" // Storage-optimized instances, 2nd generation. InstanceClass_D2 InstanceClass = "D2" // Storage-optimized instances, 3rd generation. InstanceClass_STORAGE3 InstanceClass = "STORAGE3" // Storage-optimized instances, 3rd generation. InstanceClass_D3 InstanceClass = "D3" // Storage-optimized instances, 3rd generation. InstanceClass_STORAGE3_ENHANCED_NETWORK InstanceClass = "STORAGE3_ENHANCED_NETWORK" // Storage-optimized instances, 3rd generation. InstanceClass_D3EN InstanceClass = "D3EN" // Storage/compute balanced instances, 1st generation. InstanceClass_STORAGE_COMPUTE_1 InstanceClass = "STORAGE_COMPUTE_1" // Storage/compute balanced instances, 1st generation. InstanceClass_H1 InstanceClass = "H1" // I/O-optimized instances, 3rd generation. InstanceClass_IO3 InstanceClass = "IO3" // I/O-optimized instances, 3rd generation. InstanceClass_I3 InstanceClass = "I3" // I/O-optimized instances with local NVME drive, 3rd generation. InstanceClass_IO3_DENSE_NVME_DRIVE InstanceClass = "IO3_DENSE_NVME_DRIVE" // I/O-optimized instances with local NVME drive, 3rd generation. InstanceClass_I3EN InstanceClass = "I3EN" // I/O-optimized instances with local NVME drive powered by Intel Xeon Scalable processors (code named Ice Lake), 4th generation. InstanceClass_IO4_INTEL InstanceClass = "IO4_INTEL" // I/O-optimized instances with local NVME drive powered by Intel Xeon Scalable processors (code named Ice Lake), 4th generation. InstanceClass_I4I InstanceClass = "I4I" // Storage optimized instances powered by Graviton2 processor, 4th generation. InstanceClass_STORAGE4_GRAVITON_NETWORK_OPTIMIZED InstanceClass = "STORAGE4_GRAVITON_NETWORK_OPTIMIZED" // Storage optimized instances powered by Graviton2 processor, 4th generation. InstanceClass_IM4GN InstanceClass = "IM4GN" // Storage optimized instances powered by Graviton2 processor, 4th generation. InstanceClass_STORAGE4_GRAVITON_NETWORK_STORAGE_OPTIMIZED InstanceClass = "STORAGE4_GRAVITON_NETWORK_STORAGE_OPTIMIZED" // Storage optimized instances powered by Graviton2 processor, 4th generation. InstanceClass_IS4GEN InstanceClass = "IS4GEN" // Burstable instances, 2nd generation. InstanceClass_BURSTABLE2 InstanceClass = "BURSTABLE2" // Burstable instances, 2nd generation. InstanceClass_T2 InstanceClass = "T2" // Burstable instances, 3rd generation. InstanceClass_BURSTABLE3 InstanceClass = "BURSTABLE3" // Burstable instances, 3rd generation. InstanceClass_T3 InstanceClass = "T3" // Burstable instances based on AMD EPYC, 3rd generation. InstanceClass_BURSTABLE3_AMD InstanceClass = "BURSTABLE3_AMD" // Burstable instances based on AMD EPYC, 3rd generation. InstanceClass_T3A InstanceClass = "T3A" // Burstable instances, 4th generation with Graviton2 processors. InstanceClass_BURSTABLE4_GRAVITON InstanceClass = "BURSTABLE4_GRAVITON" // Burstable instances, 4th generation with Graviton2 processors. InstanceClass_T4G InstanceClass = "T4G" // Memory-intensive instances, 1st generation. InstanceClass_MEMORY_INTENSIVE_1 InstanceClass = "MEMORY_INTENSIVE_1" // Memory-intensive instances, 1st generation. InstanceClass_X1 InstanceClass = "X1" // Memory-intensive instances, extended, 1st generation. InstanceClass_MEMORY_INTENSIVE_1_EXTENDED InstanceClass = "MEMORY_INTENSIVE_1_EXTENDED" // Memory-intensive instances, 1st generation. InstanceClass_X1E InstanceClass = "X1E" // Memory-intensive instances, 2nd generation with Graviton2 processors. // // This instance type can be used only in RDS. It is not supported in EC2. InstanceClass_MEMORY_INTENSIVE_2_GRAVITON2 InstanceClass = "MEMORY_INTENSIVE_2_GRAVITON2" // Memory-intensive instances, 2nd generation with Graviton2 processors. // // This instance type can be used only in RDS. It is not supported in EC2. InstanceClass_X2G InstanceClass = "X2G" // Memory-intensive instances, 2nd generation with Graviton2 processors and local NVME drive. InstanceClass_MEMORY_INTENSIVE_2_GRAVITON2_NVME_DRIVE InstanceClass = "MEMORY_INTENSIVE_2_GRAVITON2_NVME_DRIVE" // Memory-intensive instances, 2nd generation with Graviton2 processors and local NVME drive. InstanceClass_X2GD InstanceClass = "X2GD" // Memory-intensive instances with higher network bandwith, local NVME drive, and extended memory. // // Intel Xeon Scalable (Ice Lake) processors. InstanceClass_MEMORY_INTENSIVE_2_XT_INTEL InstanceClass = "MEMORY_INTENSIVE_2_XT_INTEL" // Memory-intensive instances with higher network bandwith, local NVME drive, and extended memory. // // Intel Xeon Scalable (Ice Lake) processors. InstanceClass_X2IEDN InstanceClass = "X2IEDN" // Memory-intensive instances with higher network bandwith and local NVME drive, Intel Xeon Scalable (Ice Lake) processors. InstanceClass_MEMORY_INTENSIVE_2_INTEL InstanceClass = "MEMORY_INTENSIVE_2_INTEL" // Memory-intensive instances with higher network bandwith and local NVME drive, Intel Xeon Scalable (Ice Lake) processors. InstanceClass_X2IDN InstanceClass = "X2IDN" // Memory-intensive instances with higher network bandwith and single-threaded performance, Intel Xeon Scalable (Cascade Lake) processors. InstanceClass_MEMORY_INTENSIVE_2_XTZ_INTEL InstanceClass = "MEMORY_INTENSIVE_2_XTZ_INTEL" // Memory-intensive instances with higher network bandwith and single-threaded performance, Intel Xeon Scalable (Cascade Lake) processors. InstanceClass_X2IEZN InstanceClass = "X2IEZN" // Instances with customizable hardware acceleration, 1st generation. InstanceClass_FPGA1 InstanceClass = "FPGA1" // Instances with customizable hardware acceleration, 1st generation. InstanceClass_F1 InstanceClass = "F1" // Graphics-optimized instances, 3rd generation. InstanceClass_GRAPHICS3_SMALL InstanceClass = "GRAPHICS3_SMALL" // Graphics-optimized instances, 3rd generation. InstanceClass_G3S InstanceClass = "G3S" // Graphics-optimized instances, 3rd generation. InstanceClass_GRAPHICS3 InstanceClass = "GRAPHICS3" // Graphics-optimized instances, 3rd generation. InstanceClass_G3 InstanceClass = "G3" // Graphics-optimized instances with NVME drive for high performance computing, 4th generation. InstanceClass_GRAPHICS4_NVME_DRIVE_HIGH_PERFORMANCE InstanceClass = "GRAPHICS4_NVME_DRIVE_HIGH_PERFORMANCE" // Graphics-optimized instances with NVME drive for high performance computing, 4th generation. InstanceClass_G4DN InstanceClass = "G4DN" // Graphics-optimized instances based on AMD EPYC And Radeon Pro GPU (NAVI) with local NVME drive, 4th generation. InstanceClass_GRAPHICS4_AMD_NVME_DRIVE InstanceClass = "GRAPHICS4_AMD_NVME_DRIVE" // Graphics-optimized instances based on AMD EPYC And Radeon Pro GPU (NAVI) with local NVME drive, 4th generation. InstanceClass_G4AD InstanceClass = "G4AD" // Graphics-optimized instances, 5th generation. InstanceClass_GRAPHICS5 InstanceClass = "GRAPHICS5" // Graphics-optimized instances, 5th generation. InstanceClass_G5 InstanceClass = "G5" // Graphics-optimized instances powered by AWS Graviton2 Processors and NVIDIA T4G Tensor Core GPUs, 5th generation. InstanceClass_GRAPHICS5_GRAVITON2 InstanceClass = "GRAPHICS5_GRAVITON2" // Graphics-optimized instances powered by AWS Graviton2 Processors and NVIDIA T4G Tensor Core GPUs, 5th generation. InstanceClass_G5G InstanceClass = "G5G" // Parallel-processing optimized instances, 2nd generation. InstanceClass_PARALLEL2 InstanceClass = "PARALLEL2" // Parallel-processing optimized instances, 2nd generation. InstanceClass_P2 InstanceClass = "P2" // Parallel-processing optimized instances, 3nd generation. InstanceClass_PARALLEL3 InstanceClass = "PARALLEL3" // Parallel-processing optimized instances, 3rd generation. InstanceClass_P3 InstanceClass = "P3" // Parallel-processing optimized instances with local NVME drive for high performance computing, 3nd generation. InstanceClass_PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE InstanceClass = "PARALLEL3_NVME_DRIVE_HIGH_PERFORMANCE" // Parallel-processing optimized instances with local NVME drive for high performance computing, 3rd generation. InstanceClass_P3DN InstanceClass = "P3DN" // Parallel-processing optimized instances with local NVME drive, extended, 4th generation (in developer preview). InstanceClass_PARALLEL4_NVME_DRIVE_EXTENDED InstanceClass = "PARALLEL4_NVME_DRIVE_EXTENDED" // Parallel-processing optimized instances with local NVME drive, extended, 4th generation (in developer preview). InstanceClass_P4DE InstanceClass = "P4DE" // Parallel-processing optimized instances, 4th generation. InstanceClass_PARALLEL4 InstanceClass = "PARALLEL4" // Parallel-processing optimized instances, 4th generation. InstanceClass_P4D InstanceClass = "P4D" // Arm processor based instances, 1st generation. InstanceClass_ARM1 InstanceClass = "ARM1" // Arm processor based instances, 1st generation. InstanceClass_A1 InstanceClass = "A1" // Arm processor based instances, 2nd generation. InstanceClass_STANDARD6_GRAVITON InstanceClass = "STANDARD6_GRAVITON" // Arm processor based instances, 2nd generation. InstanceClass_M6G InstanceClass = "M6G" // Standard instances based on Intel (Ice Lake), 6th generation. InstanceClass_STANDARD6_INTEL InstanceClass = "STANDARD6_INTEL" // Standard instances based on Intel (Ice Lake), 6th generation. InstanceClass_M6I InstanceClass = "M6I" // Standard instances based on Intel (Ice Lake) with local NVME drive, 6th generation. InstanceClass_STANDARD6_INTEL_NVME_DRIVE InstanceClass = "STANDARD6_INTEL_NVME_DRIVE" // Standard instances based on Intel (Ice Lake) with local NVME drive, 6th generation. InstanceClass_M6ID InstanceClass = "M6ID" // Standard instances based on 3rd Gen AMD EPYC processors, 6th generation. InstanceClass_STANDARD6_AMD InstanceClass = "STANDARD6_AMD" // Standard instances based on 3rd Gen AMD EPYC processors, 6th generation. InstanceClass_M6A InstanceClass = "M6A" // Standard instances, 6th generation with Graviton2 processors and local NVME drive. InstanceClass_STANDARD6_GRAVITON2_NVME_DRIVE InstanceClass = "STANDARD6_GRAVITON2_NVME_DRIVE" // Standard instances, 6th generation with Graviton2 processors and local NVME drive. InstanceClass_M6GD InstanceClass = "M6GD" // Standard instances, 7th generation with Graviton3 processors. // // This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Ireland). InstanceClass_STANDARD7_GRAVITON InstanceClass = "STANDARD7_GRAVITON" // Standard instances, 7th generation with Graviton3 processors. // // This instance class is currently only available in US East (Ohio), US East (N. Virginia), US West (Oregon), and Europe (Ireland). InstanceClass_M7G InstanceClass = "M7G" // High memory and compute capacity instances, 1st generation. InstanceClass_HIGH_COMPUTE_MEMORY1 InstanceClass = "HIGH_COMPUTE_MEMORY1" // High memory and compute capacity instances, 1st generation. InstanceClass_Z1D InstanceClass = "Z1D" // Inferentia Chips based instances for machine learning inference applications, 1st generation. InstanceClass_INFERENCE1 InstanceClass = "INFERENCE1" // Inferentia Chips based instances for machine learning inference applications, 1st generation. InstanceClass_INF1 InstanceClass = "INF1" // Inferentia Chips based instances for machine learning inference applications, 2nd generation. InstanceClass_INFERENCE2 InstanceClass = "INFERENCE2" // Inferentia Chips based instances for machine learning inference applications, 2nd generation. InstanceClass_INF2 InstanceClass = "INF2" // Macintosh instances built on Apple Mac mini computers, 1st generation with Intel procesors. InstanceClass_MACINTOSH1_INTEL InstanceClass = "MACINTOSH1_INTEL" // Macintosh instances built on Apple Mac mini computers, 1st generation with Intel procesors. InstanceClass_MAC1 InstanceClass = "MAC1" // Multi-stream video transcoding instances for resolutions up to 4K UHD, 1st generation. InstanceClass_VIDEO_TRANSCODING1 InstanceClass = "VIDEO_TRANSCODING1" // Multi-stream video transcoding instances for resolutions up to 4K UHD, 1st generation. InstanceClass_VT1 InstanceClass = "VT1" // High performance computing based on AMD EPYC, 6th generation. InstanceClass_HIGH_PERFORMANCE_COMPUTING6_AMD InstanceClass = "HIGH_PERFORMANCE_COMPUTING6_AMD" // High performance computing based on AMD EPYC, 6th generation. InstanceClass_HPC6A InstanceClass = "HPC6A" // Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation. InstanceClass_DEEP_LEARNING1 InstanceClass = "DEEP_LEARNING1" // Deep learning instances powered by Gaudi accelerators from Habana Labs (an Intel company), 1st generation. InstanceClass_DL1 InstanceClass = "DL1" )
type InstanceInitiatedShutdownBehavior ¶
type InstanceInitiatedShutdownBehavior string
Provides the options for specifying the instance initiated shutdown behavior. See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior
const ( // The instance will stop when it initiates a shutdown. InstanceInitiatedShutdownBehavior_STOP InstanceInitiatedShutdownBehavior = "STOP" // The instance will be terminated when it initiates a shutdown. InstanceInitiatedShutdownBehavior_TERMINATE InstanceInitiatedShutdownBehavior = "TERMINATE" )
type InstanceProps ¶
type InstanceProps struct { // Type of instance to launch. InstanceType InstanceType `field:"required" json:"instanceType" yaml:"instanceType"` // AMI to launch. MachineImage IMachineImage `field:"required" json:"machineImage" yaml:"machineImage"` // VPC to launch the instance in. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` // Whether the instance could initiate connections to anywhere by default. // // This property is only used when you do not provide a security group. AllowAllOutbound *bool `field:"optional" json:"allowAllOutbound" yaml:"allowAllOutbound"` // Whether to associate a public IP address to the primary network interface attached to this instance. AssociatePublicIpAddress *bool `field:"optional" json:"associatePublicIpAddress" yaml:"associatePublicIpAddress"` // In which AZ to place the instance within the VPC. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. // // Each instance that is launched has an associated root device volume, // either an Amazon EBS volume or an instance store volume. // You can use block device mappings to specify additional EBS volumes or // instance store volumes to attach to an instance when it is launched. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html // BlockDevices *[]*BlockDevice `field:"optional" json:"blockDevices" yaml:"blockDevices"` // Whether "Detailed Monitoring" is enabled for this instance Keep in mind that Detailed Monitoring results in extra charges. // See: http://aws.amazon.com/cloudwatch/pricing/ // DetailedMonitoring *bool `field:"optional" json:"detailedMonitoring" yaml:"detailedMonitoring"` // Apply the given CloudFormation Init configuration to the instance at startup. Init CloudFormationInit `field:"optional" json:"init" yaml:"init"` // Use the given options for applying CloudFormation Init. // // Describes the configsets to use and the timeout to wait. InitOptions *ApplyCloudFormationInitOptions `field:"optional" json:"initOptions" yaml:"initOptions"` // The name of the instance. InstanceName *string `field:"optional" json:"instanceName" yaml:"instanceName"` // Name of SSH keypair to grant access to instance. KeyName *string `field:"optional" json:"keyName" yaml:"keyName"` // Defines a private IP address to associate with an instance. // // Private IP should be available within the VPC that the instance is build within. PrivateIpAddress *string `field:"optional" json:"privateIpAddress" yaml:"privateIpAddress"` // Propagate the EC2 instance tags to the EBS volumes. PropagateTagsToVolumeOnCreation *bool `field:"optional" json:"propagateTagsToVolumeOnCreation" yaml:"propagateTagsToVolumeOnCreation"` // Whether IMDSv2 should be required on this instance. RequireImdsv2 *bool `field:"optional" json:"requireImdsv2" yaml:"requireImdsv2"` // The length of time to wait for the resourceSignalCount. // // The maximum value is 43200 (12 hours). ResourceSignalTimeout awscdk.Duration `field:"optional" json:"resourceSignalTimeout" yaml:"resourceSignalTimeout"` // An IAM role to associate with the instance profile assigned to this Auto Scaling Group. // // The role must be assumable by the service principal `ec2.amazonaws.com`: // // Example: // role := iam.NewRole(this, jsii.String("MyRole"), &RoleProps{ // AssumedBy: iam.NewServicePrincipal(jsii.String("ec2.amazonaws.com")), // }) // Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` // Security Group to assign to this instance. SecurityGroup ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` // Specifies whether to enable an instance launched in a VPC to perform NAT. // // This controls whether source/destination checking is enabled on the instance. // A value of true means that checking is enabled, and false means that checking is disabled. // The value must be false for the instance to perform NAT. SourceDestCheck *bool `field:"optional" json:"sourceDestCheck" yaml:"sourceDestCheck"` // Add SSM session permissions to the instance role. // // Setting this to `true` adds the necessary permissions to connect // to the instance using SSM Session Manager. You can do this // from the AWS Console. // // NOTE: Setting this flag to `true` may not be enough by itself. // You must also use an AMI that comes with the SSM Agent, or install // the SSM Agent yourself. See // [Working with SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) // in the SSM Developer Guide. SsmSessionPermissions *bool `field:"optional" json:"ssmSessionPermissions" yaml:"ssmSessionPermissions"` // Specific UserData to use. // // The UserData may still be mutated after creation. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // Changes to the UserData force replacement. // // Depending the EC2 instance type, changing UserData either // restarts the instance or replaces the instance. // // - Instance store-backed instances are replaced. // - EBS-backed instances are restarted. // // By default, restarting does not execute the new UserData so you // will need a different mechanism to ensure the instance is restarted. // // Setting this to `true` will make the instance's Logical ID depend on the // UserData, which will cause CloudFormation to replace it if the UserData // changes. UserDataCausesReplacement *bool `field:"optional" json:"userDataCausesReplacement" yaml:"userDataCausesReplacement"` // Where to place the instance within the VPC. VpcSubnets *SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties of an EC2 Instance.
Example:
var vpc iVpc lb := elb.NewLoadBalancer(this, jsii.String("LB"), &LoadBalancerProps{ Vpc: Vpc, }) // instance to add as the target for load balancer. instance := ec2.NewInstance(this, jsii.String("targetInstance"), &InstanceProps{ Vpc: vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_MICRO), MachineImage: ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX_2, }), }) lb.AddTarget(elb.NewInstanceTarget(instance))
type InstanceRequireImdsv2Aspect ¶
type InstanceRequireImdsv2Aspect interface { awscdk.IAspect SuppressWarnings() *bool // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Adds a warning annotation to a node, unless `suppressWarnings` is true. Warn(node constructs.IConstruct, message *string) }
Aspect that applies IMDS configuration on EC2 Instance constructs.
This aspect configures IMDS on an EC2 instance by creating a Launch Template with the IMDS configuration and associating that Launch Template with the instance. If an Instance is already associated with a Launch Template, a warning will (optionally) be added to the construct node and it will be skipped.
To cover Instances already associated with Launch Templates, use `LaunchTemplateImdsAspect`.
Example:
aspect := ec2.NewInstanceRequireImdsv2Aspect() awscdk.Aspects_Of(this).Add(aspect)
func NewInstanceRequireImdsv2Aspect ¶
func NewInstanceRequireImdsv2Aspect(props *InstanceRequireImdsv2AspectProps) InstanceRequireImdsv2Aspect
type InstanceRequireImdsv2AspectProps ¶
type InstanceRequireImdsv2AspectProps struct { // Whether warnings that would be raised when an Instance is associated with an existing Launch Template should be suppressed or not. // // You can set this to `true` if `LaunchTemplateImdsAspect` is being used alongside this Aspect to // suppress false-positive warnings because any Launch Templates associated with Instances will still be covered. SuppressLaunchTemplateWarning *bool `field:"optional" json:"suppressLaunchTemplateWarning" yaml:"suppressLaunchTemplateWarning"` // Whether warning annotations from this Aspect should be suppressed or not. SuppressWarnings *bool `field:"optional" json:"suppressWarnings" yaml:"suppressWarnings"` }
Properties for `InstanceRequireImdsv2Aspect`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceRequireImdsv2AspectProps := &InstanceRequireImdsv2AspectProps{ SuppressLaunchTemplateWarning: jsii.Boolean(false), SuppressWarnings: jsii.Boolean(false), }
type InstanceSize ¶
type InstanceSize string
What size of instance to use.
Example:
// Example automatically generated from non-compiling source. May contain errors. var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_2_08_1(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), }), ServerlessV2MinCapacity: jsii.Number(6.5), ServerlessV2MaxCapacity: jsii.Number(64), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader1"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), }), rds.ClusterInstance_*ServerlessV2(jsii.String("reader2")), }, Vpc: Vpc, })
const ( // Instance size NANO (nano). InstanceSize_NANO InstanceSize = "NANO" // Instance size MICRO (micro). InstanceSize_MICRO InstanceSize = "MICRO" // Instance size SMALL (small). InstanceSize_SMALL InstanceSize = "SMALL" // Instance size MEDIUM (medium). InstanceSize_MEDIUM InstanceSize = "MEDIUM" // Instance size LARGE (large). InstanceSize_LARGE InstanceSize = "LARGE" // Instance size XLARGE (xlarge). InstanceSize_XLARGE InstanceSize = "XLARGE" // Instance size XLARGE2 (2xlarge). InstanceSize_XLARGE2 InstanceSize = "XLARGE2" // Instance size XLARGE3 (3xlarge). InstanceSize_XLARGE3 InstanceSize = "XLARGE3" // Instance size XLARGE4 (4xlarge). InstanceSize_XLARGE4 InstanceSize = "XLARGE4" // Instance size XLARGE6 (6xlarge). InstanceSize_XLARGE6 InstanceSize = "XLARGE6" // Instance size XLARGE8 (8xlarge). InstanceSize_XLARGE8 InstanceSize = "XLARGE8" // Instance size XLARGE9 (9xlarge). InstanceSize_XLARGE9 InstanceSize = "XLARGE9" // Instance size XLARGE10 (10xlarge). InstanceSize_XLARGE10 InstanceSize = "XLARGE10" // Instance size XLARGE12 (12xlarge). InstanceSize_XLARGE12 InstanceSize = "XLARGE12" // Instance size XLARGE16 (16xlarge). InstanceSize_XLARGE16 InstanceSize = "XLARGE16" // Instance size XLARGE18 (18xlarge). InstanceSize_XLARGE18 InstanceSize = "XLARGE18" // Instance size XLARGE24 (24xlarge). InstanceSize_XLARGE24 InstanceSize = "XLARGE24" // Instance size XLARGE32 (32xlarge). InstanceSize_XLARGE32 InstanceSize = "XLARGE32" // Instance size XLARGE48 (48xlarge). InstanceSize_XLARGE48 InstanceSize = "XLARGE48" // Instance size XLARGE56 (56xlarge). InstanceSize_XLARGE56 InstanceSize = "XLARGE56" // Instance size XLARGE56 (112xlarge). InstanceSize_XLARGE112 InstanceSize = "XLARGE112" // Instance size METAL (metal). InstanceSize_METAL InstanceSize = "METAL" )
type InstanceType ¶
type InstanceType interface { // The instance's CPU architecture. Architecture() InstanceArchitecture SameInstanceClassAs(other InstanceType) *bool // Return the instance type as a dotted string. ToString() *string }
Instance type for EC2 instances.
This class takes a literal string, good if you already know the identifier of the type you want.
Example:
var vpc vpc mySecurityGroup := ec2.NewSecurityGroup(this, jsii.String("SecurityGroup"), &SecurityGroupProps{ Vpc: Vpc, }) autoscaling.NewAutoScalingGroup(this, jsii.String("ASG"), &AutoScalingGroupProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_MICRO), MachineImage: ec2.MachineImage_LatestAmazonLinux(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX_2, }), SecurityGroup: mySecurityGroup, })
func InstanceType_Of ¶
func InstanceType_Of(instanceClass InstanceClass, instanceSize InstanceSize) InstanceType
Instance type for EC2 instances.
This class takes a combination of a class and size.
Be aware that not all combinations of class and size are available, and not all classes are available in all regions.
func NewInstanceType ¶
func NewInstanceType(instanceTypeIdentifier *string) InstanceType
type InterfaceVpcEndpoint ¶
type InterfaceVpcEndpoint interface { VpcEndpoint IInterfaceVpcEndpoint // Access to network connections. Connections() Connections // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string PolicyDocument() awsiam.PolicyDocument SetPolicyDocument(val awsiam.PolicyDocument) // The stack in which this resource is defined. Stack() awscdk.Stack // The date and time the interface VPC endpoint was created. VpcEndpointCreationTimestamp() *string // The DNS entries for the interface VPC endpoint. // // Each entry is a combination of the hosted zone ID and the DNS name. // The entries are ordered as follows: regional public DNS, zonal public DNS, private DNS, and wildcard DNS. // This order is not enforced for AWS Marketplace services. // // The following is an example. In the first entry, the hosted zone ID is Z1HUB23UULQXV // and the DNS name is vpce-01abc23456de78f9g-12abccd3.ec2.us-east-1.vpce.amazonaws.com. // // ["Z1HUB23UULQXV:vpce-01abc23456de78f9g-12abccd3.ec2.us-east-1.vpce.amazonaws.com", // "Z1HUB23UULQXV:vpce-01abc23456de78f9g-12abccd3-us-east-1a.ec2.us-east-1.vpce.amazonaws.com", // "Z1C12344VYDITB0:ec2.us-east-1.amazonaws.com"] // // If you update the PrivateDnsEnabled or SubnetIds properties, the DNS entries in the list will change. VpcEndpointDnsEntries() *[]*string // The interface VPC endpoint identifier. VpcEndpointId() *string // One or more network interfaces for the interface VPC endpoint. VpcEndpointNetworkInterfaceIds() *[]*string // Adds a statement to the policy document of the VPC endpoint. The statement must have a Principal. // // Not all interface VPC endpoints support policy. For more information // see https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html AddToPolicy(statement awsiam.PolicyStatement) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A interface VPC endpoint.
Example:
var vpc vpc ec2.NewInterfaceVpcEndpoint(this, jsii.String("VPC Endpoint"), &InterfaceVpcEndpointProps{ Vpc: Vpc, Service: ec2.NewInterfaceVpcEndpointService(jsii.String("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc"), jsii.Number(443)), // Choose which availability zones to place the VPC endpoint in, based on // available AZs Subnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("us-east-1a"), jsii.String("us-east-1c"), }, }, })
func NewInterfaceVpcEndpoint ¶
func NewInterfaceVpcEndpoint(scope constructs.Construct, id *string, props *InterfaceVpcEndpointProps) InterfaceVpcEndpoint
type InterfaceVpcEndpointAttributes ¶
type InterfaceVpcEndpointAttributes struct { // The port of the service of the interface VPC endpoint. Port *float64 `field:"required" json:"port" yaml:"port"` // The interface VPC endpoint identifier. VpcEndpointId *string `field:"required" json:"vpcEndpointId" yaml:"vpcEndpointId"` // The security groups associated with the interface VPC endpoint. // // If you wish to manage the network connections associated with this endpoint, // you will need to specify its security groups. SecurityGroups *[]ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` }
Construction properties for an ImportedInterfaceVpcEndpoint.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var securityGroup securityGroup interfaceVpcEndpointAttributes := &InterfaceVpcEndpointAttributes{ Port: jsii.Number(123), VpcEndpointId: jsii.String("vpcEndpointId"), // the properties below are optional SecurityGroups: []iSecurityGroup{ securityGroup, }, }
type InterfaceVpcEndpointAwsService ¶
type InterfaceVpcEndpointAwsService interface { IInterfaceVpcEndpointService // The name of the service. // // e.g. com.amazonaws.us-east-1.ecs Name() *string // The port of the service. Port() *float64 // Whether Private DNS is supported by default. PrivateDnsDefault() *bool // The short name of the service. // // e.g. ecs ShortName() *string }
An AWS service for an interface VPC endpoint.
Example:
// Add gateway endpoints when creating the VPC vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ GatewayEndpoints: map[string]gatewayVpcEndpointOptions{ "S3": &gatewayVpcEndpointOptions{ "service": ec2.GatewayVpcEndpointAwsService_S3(), }, }, }) // Alternatively gateway endpoints can be added on the VPC dynamoDbEndpoint := vpc.addGatewayEndpoint(jsii.String("DynamoDbEndpoint"), &gatewayVpcEndpointOptions{ Service: ec2.GatewayVpcEndpointAwsService_DYNAMODB(), }) // This allows to customize the endpoint policy dynamoDbEndpoint.AddToPolicy( iam.NewPolicyStatement(&PolicyStatementProps{ // Restrict to listing and describing tables Principals: []iPrincipal{ iam.NewAnyPrincipal(), }, Actions: []*string{ jsii.String("dynamodb:DescribeTable"), jsii.String("dynamodb:ListTables"), }, Resources: []*string{ jsii.String("*"), }, })) // Add an interface endpoint vpc.addInterfaceEndpoint(jsii.String("EcrDockerEndpoint"), &InterfaceVpcEndpointOptions{ Service: ec2.InterfaceVpcEndpointAwsService_ECR_DOCKER(), })
func InterfaceVpcEndpointAwsService_ACCESS_ANALYZER ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_ACCESS_ANALYZER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ACCOUNT_MANAGEMENT ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_ACCOUNT_MANAGEMENT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_AIRFLOW_API ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_AIRFLOW_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_AIRFLOW_ENV ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_AIRFLOW_ENV() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_AIRFLOW_OPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_AIRFLOW_OPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APIGATEWAY ¶
func InterfaceVpcEndpointAwsService_APIGATEWAY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APPLICATION_AUTOSCALING ¶ added in v2.35.0
func InterfaceVpcEndpointAwsService_APPLICATION_AUTOSCALING() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APPLICATION_MIGRATION_SERVICE ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_APPLICATION_MIGRATION_SERVICE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APPSTREAM_API ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_APPSTREAM_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APPSTREAM_STREAMING ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_APPSTREAM_STREAMING() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APP_MESH ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_APP_MESH() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APP_RUNNER ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_APP_RUNNER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APP_RUNNER_REQUESTS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_APP_RUNNER_REQUESTS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_APP_SYNC ¶ added in v2.81.0
func InterfaceVpcEndpointAwsService_APP_SYNC() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ATHENA ¶
func InterfaceVpcEndpointAwsService_ATHENA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_AUDIT_MANAGER ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_AUDIT_MANAGER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_AUTOSCALING ¶ added in v2.35.0
func InterfaceVpcEndpointAwsService_AUTOSCALING() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_AUTOSCALING_PLANS ¶ added in v2.35.0
func InterfaceVpcEndpointAwsService_AUTOSCALING_PLANS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_BACKUP ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_BACKUP() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_BACKUP_GATEWAY ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_BACKUP_GATEWAY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_BATCH ¶ added in v2.35.0
func InterfaceVpcEndpointAwsService_BATCH() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_BILLING_CONDUCTOR ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_BILLING_CONDUCTOR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_BRAKET ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_BRAKET() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDFORMATION ¶
func InterfaceVpcEndpointAwsService_CLOUDFORMATION() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDHSM ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_CLOUDHSM() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDTRAIL ¶
func InterfaceVpcEndpointAwsService_CLOUDTRAIL() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH ¶
func InterfaceVpcEndpointAwsService_CLOUDWATCH() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVENTS ¶
func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVENTS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVIDENTLY ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVIDENTLY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVIDENTLY_DATAPLANE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUDWATCH_EVIDENTLY_DATAPLANE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_LOGS ¶
func InterfaceVpcEndpointAwsService_CLOUDWATCH_LOGS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_MONITORING ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUDWATCH_MONITORING() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_RUM ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUDWATCH_RUM() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_RUM_DATAPLANE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUDWATCH_RUM_DATAPLANE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUDWATCH_SYNTHETICS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUDWATCH_SYNTHETICS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUD_CONTROL_API ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUD_CONTROL_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUD_CONTROL_API_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CLOUD_CONTROL_API_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CLOUD_DIRECTORY ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_CLOUD_DIRECTORY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEARTIFACT_API ¶ added in v2.35.0
func InterfaceVpcEndpointAwsService_CODEARTIFACT_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEARTIFACT_REPOSITORIES ¶ added in v2.35.0
func InterfaceVpcEndpointAwsService_CODEARTIFACT_REPOSITORIES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEBUILD ¶
func InterfaceVpcEndpointAwsService_CODEBUILD() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEBUILD_FIPS ¶
func InterfaceVpcEndpointAwsService_CODEBUILD_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODECOMMIT ¶
func InterfaceVpcEndpointAwsService_CODECOMMIT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODECOMMIT_FIPS ¶
func InterfaceVpcEndpointAwsService_CODECOMMIT_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODECOMMIT_GIT ¶
func InterfaceVpcEndpointAwsService_CODECOMMIT_GIT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODECOMMIT_GIT_FIPS ¶
func InterfaceVpcEndpointAwsService_CODECOMMIT_GIT_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEDEPLOY ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CODEDEPLOY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEDEPLOY_COMMANDS_SECURE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CODEDEPLOY_COMMANDS_SECURE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEGURU_PROFILER ¶
func InterfaceVpcEndpointAwsService_CODEGURU_PROFILER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEGURU_REVIEWER ¶
func InterfaceVpcEndpointAwsService_CODEGURU_REVIEWER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODEPIPELINE ¶
func InterfaceVpcEndpointAwsService_CODEPIPELINE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CODESTAR_CONNECTIONS ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_CODESTAR_CONNECTIONS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_COMPREHEND ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_COMPREHEND() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_COMPREHEND_MEDICAL ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_COMPREHEND_MEDICAL() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CONFIG ¶
func InterfaceVpcEndpointAwsService_CONFIG() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CONNECT_APP_INTEGRATIONS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CONNECT_APP_INTEGRATIONS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CONNECT_CASES ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_CONNECT_CASES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CONNECT_CONNECT_CAMPAIGNS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CONNECT_CONNECT_CAMPAIGNS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CONNECT_PROFILE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CONNECT_PROFILE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CONNECT_VOICEID ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CONNECT_VOICEID() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_CONNECT_WISDOM ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_CONNECT_WISDOM() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_DATABASE_MIGRATION_SERVICE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_DATABASE_MIGRATION_SERVICE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_DATABASE_MIGRATION_SERVICE_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_DATABASE_MIGRATION_SERVICE_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_DATASYNC ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_DATASYNC() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_DATA_EXCHANGE ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_DATA_EXCHANGE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_DEVOPS_GURU ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_DEVOPS_GURU() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EBS_DIRECT ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_EBS_DIRECT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EC2 ¶
func InterfaceVpcEndpointAwsService_EC2() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EC2_MESSAGES ¶
func InterfaceVpcEndpointAwsService_EC2_MESSAGES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ECR ¶
func InterfaceVpcEndpointAwsService_ECR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ECR_DOCKER ¶
func InterfaceVpcEndpointAwsService_ECR_DOCKER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ECS ¶
func InterfaceVpcEndpointAwsService_ECS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ECS_AGENT ¶
func InterfaceVpcEndpointAwsService_ECS_AGENT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ECS_TELEMETRY ¶
func InterfaceVpcEndpointAwsService_ECS_TELEMETRY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EKS ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_EKS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTICACHE ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_ELASTICACHE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTICACHE_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_ELASTICACHE_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTIC_BEANSTALK ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_ELASTIC_BEANSTALK() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTIC_BEANSTALK_HEALTH ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_ELASTIC_BEANSTALK_HEALTH() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTIC_DISASTER_RECOVERY ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_ELASTIC_DISASTER_RECOVERY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTIC_FILESYSTEM ¶
func InterfaceVpcEndpointAwsService_ELASTIC_FILESYSTEM() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTIC_FILESYSTEM_FIPS ¶
func InterfaceVpcEndpointAwsService_ELASTIC_FILESYSTEM_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTIC_INFERENCE_RUNTIME ¶
func InterfaceVpcEndpointAwsService_ELASTIC_INFERENCE_RUNTIME() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ELASTIC_LOAD_BALANCING ¶
func InterfaceVpcEndpointAwsService_ELASTIC_LOAD_BALANCING() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EMAIL_SMTP ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_EMAIL_SMTP() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EMR ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_EMR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EMR_EKS ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_EMR_EKS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EMR_SERVERLESS ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_EMR_SERVERLESS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_EVENTBRIDGE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_EVENTBRIDGE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FAULT_INJECTION_SIMULATOR ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_FAULT_INJECTION_SIMULATOR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FINSPACE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FINSPACE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FINSPACE_API ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FINSPACE_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FORECAST ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FORECAST() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FORECAST_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FORECAST_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FORECAST_QUERY ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FORECAST_QUERY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FORECAST_QUERY_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FORECAST_QUERY_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FRAUD_DETECTOR ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_FRAUD_DETECTOR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FSX ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FSX() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_FSX_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_FSX_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_GLUE ¶
func InterfaceVpcEndpointAwsService_GLUE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_GLUE_DATABREW ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_GLUE_DATABREW() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_GRAFANA ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_GRAFANA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_GRAFANA_WORKSPACE ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_GRAFANA_WORKSPACE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_GROUNDSTATION ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_GROUNDSTATION() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_HEALTHLAKE ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_HEALTHLAKE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IAM_IDENTITY_CENTER ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_IAM_IDENTITY_CENTER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IAM_ROLES_ANYWHERE ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_IAM_ROLES_ANYWHERE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IMAGE_BUILDER ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_IMAGE_BUILDER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_INSPECTOR ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_INSPECTOR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_CORE ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_IOT_CORE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_CORE_DEVICE_ADVISOR ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_IOT_CORE_DEVICE_ADVISOR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_CORE_FOR_LORAWAN ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_IOT_CORE_FOR_LORAWAN() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_GREENGRASS ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_IOT_GREENGRASS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_LORAWAN_CUPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_IOT_LORAWAN_CUPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_LORAWAN_LNS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_IOT_LORAWAN_LNS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_ROBORUNNER ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_IOT_ROBORUNNER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_SITEWISE_API ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_IOT_SITEWISE_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_SITEWISE_DATA ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_IOT_SITEWISE_DATA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_TWINMAKER_API ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_IOT_TWINMAKER_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_IOT_TWINMAKER_DATA ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_IOT_TWINMAKER_DATA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KENDRA ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_KENDRA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KENDRA_RANKING ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_KENDRA_RANKING() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KEYSPACES ¶
func InterfaceVpcEndpointAwsService_KEYSPACES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KEYSPACES_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_KEYSPACES_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KINESIS_FIREHOSE ¶
func InterfaceVpcEndpointAwsService_KINESIS_FIREHOSE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KINESIS_STREAMS ¶
func InterfaceVpcEndpointAwsService_KINESIS_STREAMS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KMS ¶
func InterfaceVpcEndpointAwsService_KMS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_KMS_FIPS ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_KMS_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LAKE_FORMATION ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LAKE_FORMATION() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LAMBDA ¶
func InterfaceVpcEndpointAwsService_LAMBDA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LEX_MODELS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LEX_MODELS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LEX_RUNTIME ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LEX_RUNTIME() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LICENSE_MANAGER ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LICENSE_MANAGER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LICENSE_MANAGER_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LICENSE_MANAGER_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LOOKOUT_EQUIPMENT ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LOOKOUT_EQUIPMENT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LOOKOUT_METRICS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LOOKOUT_METRICS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_LOOKOUT_VISION ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_LOOKOUT_VISION() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_MACIE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_MACIE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_MAINFRAME_MODERNIZATION ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_MAINFRAME_MODERNIZATION() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_MEMORY_DB ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_MEMORY_DB() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_MEMORY_DB_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_MEMORY_DB_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_MIGRATIONHUB_ORCHESTRATOR ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_MIGRATIONHUB_ORCHESTRATOR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_MIGRATIONHUB_REFACTOR_SPACES ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_MIGRATIONHUB_REFACTOR_SPACES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_MIGRATIONHUB_STRATEGY ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_MIGRATIONHUB_STRATEGY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_NIMBLE_STUDIO ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_NIMBLE_STUDIO() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_OMICS_ANALYTICS ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_OMICS_ANALYTICS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_OMICS_CONTROL_STORAGE ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_OMICS_CONTROL_STORAGE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_OMICS_STORAGE ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_OMICS_STORAGE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_OMICS_TAGS ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_OMICS_TAGS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_OMICS_WORKFLOWS ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_OMICS_WORKFLOWS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_PANORAMA ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_PANORAMA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_PINPOINT ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_PINPOINT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_POLLY ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_POLLY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_PRIVATE_5G ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_PRIVATE_5G() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_PRIVATE_CERTIFICATE_AUTHORITY ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_PRIVATE_CERTIFICATE_AUTHORITY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_PROMETHEUS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_PROMETHEUS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_PROMETHEUS_WORKSPACES ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_PROMETHEUS_WORKSPACES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_PROTON ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_PROTON() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_QLDB ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_QLDB() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_RDS ¶
func InterfaceVpcEndpointAwsService_RDS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_RDS_DATA ¶
func InterfaceVpcEndpointAwsService_RDS_DATA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_REDSHIFT ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_REDSHIFT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_REDSHIFT_DATA ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_REDSHIFT_DATA() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_REDSHIFT_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_REDSHIFT_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_REKOGNITION ¶
func InterfaceVpcEndpointAwsService_REKOGNITION() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_REKOGNITION_FIPS ¶
func InterfaceVpcEndpointAwsService_REKOGNITION_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_ROBOMAKER ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_ROBOMAKER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_S3 ¶ added in v2.35.0
func InterfaceVpcEndpointAwsService_S3() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_S3_MULTI_REGION_ACCESS_POINTS ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_S3_MULTI_REGION_ACCESS_POINTS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_S3_OUTPOSTS ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_S3_OUTPOSTS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SAGEMAKER_API ¶
func InterfaceVpcEndpointAwsService_SAGEMAKER_API() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SAGEMAKER_FEATURESTORE_RUNTIME ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_SAGEMAKER_FEATURESTORE_RUNTIME() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SAGEMAKER_METRICS ¶ added in v2.72.0
func InterfaceVpcEndpointAwsService_SAGEMAKER_METRICS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SAGEMAKER_NOTEBOOK ¶
func InterfaceVpcEndpointAwsService_SAGEMAKER_NOTEBOOK() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SAGEMAKER_RUNTIME ¶
func InterfaceVpcEndpointAwsService_SAGEMAKER_RUNTIME() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SAGEMAKER_RUNTIME_FIPS ¶
func InterfaceVpcEndpointAwsService_SAGEMAKER_RUNTIME_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SAGEMAKER_STUDIO ¶ added in v2.41.0
func InterfaceVpcEndpointAwsService_SAGEMAKER_STUDIO() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SECRETS_MANAGER ¶
func InterfaceVpcEndpointAwsService_SECRETS_MANAGER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SECURITYHUB ¶ added in v2.44.0
func InterfaceVpcEndpointAwsService_SECURITYHUB() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE_AWSCONNECTOR ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE_AWSCONNECTOR() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE_FIPS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_SERVER_MIGRATION_SERVICE_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SERVICE_CATALOG ¶
func InterfaceVpcEndpointAwsService_SERVICE_CATALOG() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SERVICE_CATALOG_APPREGISTRY ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_SERVICE_CATALOG_APPREGISTRY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SES ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_SES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SNOW_DEVICE_MANAGEMENT ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_SNOW_DEVICE_MANAGEMENT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SNS ¶
func InterfaceVpcEndpointAwsService_SNS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SQS ¶
func InterfaceVpcEndpointAwsService_SQS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SSM ¶
func InterfaceVpcEndpointAwsService_SSM() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SSM_CONTACTS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_SSM_CONTACTS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SSM_INCIDENTS ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_SSM_INCIDENTS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_SSM_MESSAGES ¶
func InterfaceVpcEndpointAwsService_SSM_MESSAGES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_STEP_FUNCTIONS ¶
func InterfaceVpcEndpointAwsService_STEP_FUNCTIONS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_STEP_FUNCTIONS_SYNC ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_STEP_FUNCTIONS_SYNC() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_STORAGE_GATEWAY ¶
func InterfaceVpcEndpointAwsService_STORAGE_GATEWAY() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_STS ¶
func InterfaceVpcEndpointAwsService_STS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_TEXTRACT ¶ added in v2.28.0
func InterfaceVpcEndpointAwsService_TEXTRACT() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_TEXTRACT_FIPS ¶ added in v2.28.0
func InterfaceVpcEndpointAwsService_TEXTRACT_FIPS() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_TRANSCRIBE ¶
func InterfaceVpcEndpointAwsService_TRANSCRIBE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_TRANSCRIBE_STREAMING ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_TRANSCRIBE_STREAMING() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_TRANSFER ¶
func InterfaceVpcEndpointAwsService_TRANSFER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_TRANSFER_SERVER ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_TRANSFER_SERVER() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_TRANSLATE ¶ added in v2.54.0
func InterfaceVpcEndpointAwsService_TRANSLATE() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_WORKSPACES ¶ added in v2.47.0
func InterfaceVpcEndpointAwsService_WORKSPACES() InterfaceVpcEndpointAwsService
func InterfaceVpcEndpointAwsService_XRAY ¶
func InterfaceVpcEndpointAwsService_XRAY() InterfaceVpcEndpointAwsService
func NewInterfaceVpcEndpointAwsService ¶
func NewInterfaceVpcEndpointAwsService(name *string, prefix *string, port *float64) InterfaceVpcEndpointAwsService
type InterfaceVpcEndpointOptions ¶
type InterfaceVpcEndpointOptions struct { // The service to use for this interface VPC endpoint. Service IInterfaceVpcEndpointService `field:"required" json:"service" yaml:"service"` // Limit to only those availability zones where the endpoint service can be created. // // Setting this to 'true' requires a lookup to be performed at synthesis time. Account // and region must be set on the containing stack for this to work. LookupSupportedAzs *bool `field:"optional" json:"lookupSupportedAzs" yaml:"lookupSupportedAzs"` // Whether to automatically allow VPC traffic to the endpoint. // // If enabled, all traffic to the endpoint from within the VPC will be // automatically allowed. This is done based on the VPC's CIDR range. Open *bool `field:"optional" json:"open" yaml:"open"` // Whether to associate a private hosted zone with the specified VPC. // // This // allows you to make requests to the service using its default DNS hostname. PrivateDnsEnabled *bool `field:"optional" json:"privateDnsEnabled" yaml:"privateDnsEnabled"` // The security groups to associate with this interface VPC endpoint. SecurityGroups *[]ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The subnets in which to create an endpoint network interface. // // At most one // per availability zone. Subnets *SubnetSelection `field:"optional" json:"subnets" yaml:"subnets"` }
Options to add an interface endpoint to a VPC.
Example:
// Add gateway endpoints when creating the VPC vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ GatewayEndpoints: map[string]gatewayVpcEndpointOptions{ "S3": &gatewayVpcEndpointOptions{ "service": ec2.GatewayVpcEndpointAwsService_S3(), }, }, }) // Alternatively gateway endpoints can be added on the VPC dynamoDbEndpoint := vpc.addGatewayEndpoint(jsii.String("DynamoDbEndpoint"), &gatewayVpcEndpointOptions{ Service: ec2.GatewayVpcEndpointAwsService_DYNAMODB(), }) // This allows to customize the endpoint policy dynamoDbEndpoint.AddToPolicy( iam.NewPolicyStatement(&PolicyStatementProps{ // Restrict to listing and describing tables Principals: []iPrincipal{ iam.NewAnyPrincipal(), }, Actions: []*string{ jsii.String("dynamodb:DescribeTable"), jsii.String("dynamodb:ListTables"), }, Resources: []*string{ jsii.String("*"), }, })) // Add an interface endpoint vpc.addInterfaceEndpoint(jsii.String("EcrDockerEndpoint"), &InterfaceVpcEndpointOptions{ Service: ec2.InterfaceVpcEndpointAwsService_ECR_DOCKER(), })
type InterfaceVpcEndpointProps ¶
type InterfaceVpcEndpointProps struct { // The service to use for this interface VPC endpoint. Service IInterfaceVpcEndpointService `field:"required" json:"service" yaml:"service"` // Limit to only those availability zones where the endpoint service can be created. // // Setting this to 'true' requires a lookup to be performed at synthesis time. Account // and region must be set on the containing stack for this to work. LookupSupportedAzs *bool `field:"optional" json:"lookupSupportedAzs" yaml:"lookupSupportedAzs"` // Whether to automatically allow VPC traffic to the endpoint. // // If enabled, all traffic to the endpoint from within the VPC will be // automatically allowed. This is done based on the VPC's CIDR range. Open *bool `field:"optional" json:"open" yaml:"open"` // Whether to associate a private hosted zone with the specified VPC. // // This // allows you to make requests to the service using its default DNS hostname. PrivateDnsEnabled *bool `field:"optional" json:"privateDnsEnabled" yaml:"privateDnsEnabled"` // The security groups to associate with this interface VPC endpoint. SecurityGroups *[]ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The subnets in which to create an endpoint network interface. // // At most one // per availability zone. Subnets *SubnetSelection `field:"optional" json:"subnets" yaml:"subnets"` // The VPC network in which the interface endpoint will be used. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` }
Construction properties for an InterfaceVpcEndpoint.
Example:
var vpc vpc ec2.NewInterfaceVpcEndpoint(this, jsii.String("VPC Endpoint"), &InterfaceVpcEndpointProps{ Vpc: Vpc, Service: ec2.NewInterfaceVpcEndpointService(jsii.String("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc"), jsii.Number(443)), // Choose which availability zones to place the VPC endpoint in, based on // available AZs Subnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("us-east-1a"), jsii.String("us-east-1c"), }, }, })
type InterfaceVpcEndpointService ¶
type InterfaceVpcEndpointService interface { IInterfaceVpcEndpointService // The name of the service. Name() *string // The port of the service. Port() *float64 // Whether Private DNS is supported by default. PrivateDnsDefault() *bool }
A custom-hosted service for an interface VPC endpoint.
Example:
var vpc vpc ec2.NewInterfaceVpcEndpoint(this, jsii.String("VPC Endpoint"), &InterfaceVpcEndpointProps{ Vpc: Vpc, Service: ec2.NewInterfaceVpcEndpointService(jsii.String("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc"), jsii.Number(443)), // Choose which availability zones to place the VPC endpoint in, based on // available AZs Subnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("us-east-1a"), jsii.String("us-east-1c"), }, }, })
func NewInterfaceVpcEndpointService ¶
func NewInterfaceVpcEndpointService(name *string, port *float64) InterfaceVpcEndpointService
type IpAddresses ¶ added in v2.48.0
type IpAddresses interface { }
An abstract Provider of IpAddresses.
Example:
vpc := ec2.NewVpc(this, jsii.String("TheVPC"), &VpcProps{ // 'IpAddresses' configures the IP range and size of the entire VPC. // The IP space will be divided based on configuration for the subnets. IpAddresses: ec2.IpAddresses_Cidr(jsii.String("10.0.0.0/21")), // 'maxAzs' configures the maximum number of availability zones to use. // If you want to specify the exact availability zones you want the VPC // to use, use `availabilityZones` instead. MaxAzs: jsii.Number(3), // 'subnetConfiguration' specifies the "subnet groups" to create. // Every subnet group will have a subnet for each AZ, so this // configuration will create `3 groups × 3 AZs = 9` subnets. SubnetConfiguration: []subnetConfiguration{ &subnetConfiguration{ // 'subnetType' controls Internet access, as described above. SubnetType: ec2.SubnetType_PUBLIC, // 'name' is used to name this particular subnet group. You will have to // use the name for subnet selection if you have more than one subnet // group of the same type. Name: jsii.String("Ingress"), // 'cidrMask' specifies the IP addresses in the range of of individual // subnets in the group. Each of the subnets in this group will contain // `2^(32 address bits - 24 subnet bits) - 2 reserved addresses = 254` // usable IP addresses. // // If 'cidrMask' is left out the available address space is evenly // divided across the remaining subnet groups. CidrMask: jsii.Number(24), }, &subnetConfiguration{ CidrMask: jsii.Number(24), Name: jsii.String("Application"), SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, &subnetConfiguration{ CidrMask: jsii.Number(28), Name: jsii.String("Database"), SubnetType: ec2.SubnetType_PRIVATE_ISOLATED, // 'reserved' can be used to reserve IP address space. No resources will // be created for this subnet, but the IP range will be kept available for // future creation of this subnet, or even for future subdivision. Reserved: jsii.Boolean(true), }, }, })
type LaunchTemplate ¶
type LaunchTemplate interface { awscdk.Resource IConnectable ILaunchTemplate awsiam.IGrantable // Allows specifying security group connections for the instance. Connections() Connections // The default version for the launch template. DefaultVersionNumber() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // Principal to grant permissions to. GrantPrincipal() awsiam.IPrincipal // The AMI ID of the image to use. ImageId() *string // Type of instance to launch. InstanceType() InstanceType // The latest version of the launch template. LatestVersionNumber() *string // The identifier of the Launch Template. // // Exactly one of `launchTemplateId` and `launchTemplateName` will be set. LaunchTemplateId() *string // The name of the Launch Template. // // Exactly one of `launchTemplateId` and `launchTemplateName` will be set. LaunchTemplateName() *string // The tree node. Node() constructs.Node // The type of OS the instance is running. OsType() OperatingSystemType // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // IAM Role assumed by instances that are launched from this template. Role() awsiam.IRole // The stack in which this resource is defined. Stack() awscdk.Stack // TagManager for tagging support. Tags() awscdk.TagManager // UserData executed by instances that are launched from this template. UserData() UserData // The version number of this launch template to use. VersionNumber() *string // Add the security group to the instance. AddSecurityGroup(securityGroup ISecurityGroup) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
This represents an EC2 LaunchTemplate.
Example:
// Example automatically generated from non-compiling source. May contain errors. sg1 := ec2.NewSecurityGroup(stack, jsii.String("sg1"), &SecurityGroupProps{ Vpc: vpc, }) sg2 := ec2.NewSecurityGroup(stack, jsii.String("sg2"), &SecurityGroupProps{ Vpc: vpc, }) launchTemplate := ec2.NewLaunchTemplate(stack, jsii.String("LaunchTemplate"), &LaunchTemplateProps{ MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), SecurityGroup: sg1, }) launchTemplate.AddSecurityGroup(sg2)
See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
func NewLaunchTemplate ¶
func NewLaunchTemplate(scope constructs.Construct, id *string, props *LaunchTemplateProps) LaunchTemplate
type LaunchTemplateAttributes ¶
type LaunchTemplateAttributes struct { // The identifier of the Launch Template. // // Exactly one of `launchTemplateId` and `launchTemplateName` may be set. LaunchTemplateId *string `field:"optional" json:"launchTemplateId" yaml:"launchTemplateId"` // The name of the Launch Template. // // Exactly one of `launchTemplateId` and `launchTemplateName` may be set. LaunchTemplateName *string `field:"optional" json:"launchTemplateName" yaml:"launchTemplateName"` // The version number of this launch template to use. VersionNumber *string `field:"optional" json:"versionNumber" yaml:"versionNumber"` }
Attributes for an imported LaunchTemplate.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateAttributes := &LaunchTemplateAttributes{ LaunchTemplateId: jsii.String("launchTemplateId"), LaunchTemplateName: jsii.String("launchTemplateName"), VersionNumber: jsii.String("versionNumber"), }
type LaunchTemplateHttpTokens ¶ added in v2.46.0
type LaunchTemplateHttpTokens string
The state of token usage for your instance metadata requests.
Example:
ec2.NewLaunchTemplate(this, jsii.String("LaunchTemplate"), &LaunchTemplateProps{ HttpEndpoint: jsii.Boolean(true), HttpProtocolIpv6: jsii.Boolean(true), HttpPutResponseHopLimit: jsii.Number(1), HttpTokens: ec2.LaunchTemplateHttpTokens_REQUIRED, InstanceMetadataTags: jsii.Boolean(true), })
const ( // If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. LaunchTemplateHttpTokens_OPTIONAL LaunchTemplateHttpTokens = "OPTIONAL" // If the state is required, you must send a signed token header with any instance metadata retrieval requests. // // In this state, // retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available. LaunchTemplateHttpTokens_REQUIRED LaunchTemplateHttpTokens = "REQUIRED" )
type LaunchTemplateProps ¶
type LaunchTemplateProps struct { // Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. // // Each instance that is launched has an associated root device volume, // either an Amazon EBS volume or an instance store volume. // You can use block device mappings to specify additional EBS volumes or // instance store volumes to attach to an instance when it is launched. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html // BlockDevices *[]*BlockDevice `field:"optional" json:"blockDevices" yaml:"blockDevices"` // CPU credit type for burstable EC2 instance types. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html // CpuCredits CpuCredits `field:"optional" json:"cpuCredits" yaml:"cpuCredits"` // If set to true, then detailed monitoring will be enabled on instances created with this launch template. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html // DetailedMonitoring *bool `field:"optional" json:"detailedMonitoring" yaml:"detailedMonitoring"` // If you set this parameter to true, you cannot terminate the instances launched with this launch template using the Amazon EC2 console, CLI, or API; // // otherwise, you can. DisableApiTermination *bool `field:"optional" json:"disableApiTermination" yaml:"disableApiTermination"` // Indicates whether the instances are optimized for Amazon EBS I/O. // // This optimization provides dedicated throughput // to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization // isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. EbsOptimized *bool `field:"optional" json:"ebsOptimized" yaml:"ebsOptimized"` // If you set this parameter to true, the instance is enabled for hibernation. HibernationConfigured *bool `field:"optional" json:"hibernationConfigured" yaml:"hibernationConfigured"` // Enables or disables the HTTP metadata endpoint on your instances. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpendpoint // HttpEndpoint *bool `field:"optional" json:"httpEndpoint" yaml:"httpEndpoint"` // Enables or disables the IPv6 endpoint for the instance metadata service. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpprotocolipv6 // HttpProtocolIpv6 *bool `field:"optional" json:"httpProtocolIpv6" yaml:"httpProtocolIpv6"` // The desired HTTP PUT response hop limit for instance metadata requests. // // The larger the number, the further instance metadata requests can travel. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httpputresponsehoplimit // HttpPutResponseHopLimit *float64 `field:"optional" json:"httpPutResponseHopLimit" yaml:"httpPutResponseHopLimit"` // The state of token usage for your instance metadata requests. // // The default state is `optional` if not specified. However, // if requireImdsv2 is true, the state must be `required`. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-httptokens // HttpTokens LaunchTemplateHttpTokens `field:"optional" json:"httpTokens" yaml:"httpTokens"` // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior // InstanceInitiatedShutdownBehavior InstanceInitiatedShutdownBehavior `field:"optional" json:"instanceInitiatedShutdownBehavior" yaml:"instanceInitiatedShutdownBehavior"` // Set to enabled to allow access to instance tags from the instance metadata. // // Set to disabled to turn off access to instance tags from the instance metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-metadataoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions-instancemetadatatags // InstanceMetadataTags *bool `field:"optional" json:"instanceMetadataTags" yaml:"instanceMetadataTags"` // Type of instance to launch. InstanceType InstanceType `field:"optional" json:"instanceType" yaml:"instanceType"` // Name of SSH keypair to grant access to instance. KeyName *string `field:"optional" json:"keyName" yaml:"keyName"` // Name for this launch template. LaunchTemplateName *string `field:"optional" json:"launchTemplateName" yaml:"launchTemplateName"` // The AMI that will be used by instances. MachineImage IMachineImage `field:"optional" json:"machineImage" yaml:"machineImage"` // If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; // // otherwise, it is not enabled for AWS Nitro Enclaves. NitroEnclaveEnabled *bool `field:"optional" json:"nitroEnclaveEnabled" yaml:"nitroEnclaveEnabled"` // Whether IMDSv2 should be required on launched instances. RequireImdsv2 *bool `field:"optional" json:"requireImdsv2" yaml:"requireImdsv2"` // An IAM role to associate with the instance profile that is used by instances. // // The role must be assumable by the service principal `ec2.amazonaws.com`: // // Example: // role := iam.NewRole(this, jsii.String("MyRole"), &RoleProps{ // AssumedBy: iam.NewServicePrincipal(jsii.String("ec2.amazonaws.com")), // }) // Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` // Security group to assign to instances created with the launch template. SecurityGroup ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` // If this property is defined, then the Launch Template's InstanceMarketOptions will be set to use Spot instances, and the options for the Spot instances will be as defined. SpotOptions *LaunchTemplateSpotOptions `field:"optional" json:"spotOptions" yaml:"spotOptions"` // The AMI that will be used by instances. UserData UserData `field:"optional" json:"userData" yaml:"userData"` }
Properties of a LaunchTemplate.
Example:
// Example automatically generated from non-compiling source. May contain errors. sg1 := ec2.NewSecurityGroup(stack, jsii.String("sg1"), &SecurityGroupProps{ Vpc: vpc, }) sg2 := ec2.NewSecurityGroup(stack, jsii.String("sg2"), &SecurityGroupProps{ Vpc: vpc, }) launchTemplate := ec2.NewLaunchTemplate(stack, jsii.String("LaunchTemplate"), &LaunchTemplateProps{ MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), SecurityGroup: sg1, }) launchTemplate.AddSecurityGroup(sg2)
type LaunchTemplateRequireImdsv2Aspect ¶
type LaunchTemplateRequireImdsv2Aspect interface { awscdk.IAspect SuppressWarnings() *bool // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Adds a warning annotation to a node, unless `suppressWarnings` is true. Warn(node constructs.IConstruct, message *string) }
Aspect that applies IMDS configuration on EC2 Launch Template constructs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateRequireImdsv2Aspect := awscdk.Aws_ec2.NewLaunchTemplateRequireImdsv2Aspect(&LaunchTemplateRequireImdsv2AspectProps{ SuppressWarnings: jsii.Boolean(false), })
func NewLaunchTemplateRequireImdsv2Aspect ¶
func NewLaunchTemplateRequireImdsv2Aspect(props *LaunchTemplateRequireImdsv2AspectProps) LaunchTemplateRequireImdsv2Aspect
type LaunchTemplateRequireImdsv2AspectProps ¶
type LaunchTemplateRequireImdsv2AspectProps struct { // Whether warning annotations from this Aspect should be suppressed or not. SuppressWarnings *bool `field:"optional" json:"suppressWarnings" yaml:"suppressWarnings"` }
Properties for `LaunchTemplateRequireImdsv2Aspect`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateRequireImdsv2AspectProps := &LaunchTemplateRequireImdsv2AspectProps{ SuppressWarnings: jsii.Boolean(false), }
type LaunchTemplateSpecialVersions ¶
type LaunchTemplateSpecialVersions interface { }
A class that provides convenient access to special version tokens for LaunchTemplate versions.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" launchTemplateSpecialVersions := awscdk.Aws_ec2.NewLaunchTemplateSpecialVersions()
func NewLaunchTemplateSpecialVersions ¶
func NewLaunchTemplateSpecialVersions() LaunchTemplateSpecialVersions
type LaunchTemplateSpotOptions ¶
type LaunchTemplateSpotOptions struct { // Spot Instances with a defined duration (also known as Spot blocks) are designed not to be interrupted and will run continuously for the duration you select. // // You can use a duration of 1, 2, 3, 4, 5, or 6 hours. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#fixed-duration-spot-instances // BlockDuration awscdk.Duration `field:"optional" json:"blockDuration" yaml:"blockDuration"` // The behavior when a Spot Instance is interrupted. InterruptionBehavior SpotInstanceInterruption `field:"optional" json:"interruptionBehavior" yaml:"interruptionBehavior"` // Maximum hourly price you're willing to pay for each Spot instance. // // The value is given // in dollars. ex: 0.01 for 1 cent per hour, or 0.001 for one-tenth of a cent per hour. MaxPrice *float64 `field:"optional" json:"maxPrice" yaml:"maxPrice"` // The Spot Instance request type. // // If you are using Spot Instances with an Auto Scaling group, use one-time requests, as the // Amazon EC2 Auto Scaling service handles requesting new Spot Instances whenever the group is // below its desired capacity. RequestType SpotRequestType `field:"optional" json:"requestType" yaml:"requestType"` // The end date of the request. // // For a one-time request, the request remains active until all instances // launch, the request is canceled, or this date is reached. If the request is persistent, it remains // active until it is canceled or this date and time is reached. ValidUntil awscdk.Expiration `field:"optional" json:"validUntil" yaml:"validUntil"` }
Interface for the Spot market instance options provided in a LaunchTemplate.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var expiration expiration launchTemplateSpotOptions := &LaunchTemplateSpotOptions{ BlockDuration: cdk.Duration_Minutes(jsii.Number(30)), InterruptionBehavior: awscdk.Aws_ec2.SpotInstanceInterruption_STOP, MaxPrice: jsii.Number(123), RequestType: awscdk.*Aws_ec2.SpotRequestType_ONE_TIME, ValidUntil: expiration, }
type LinuxUserDataOptions ¶
type LinuxUserDataOptions struct { // Shebang for the UserData script. Shebang *string `field:"optional" json:"shebang" yaml:"shebang"` }
Options when constructing UserData for Linux.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" linuxUserDataOptions := &LinuxUserDataOptions{ Shebang: jsii.String("shebang"), }
type LocationPackageOptions ¶
type LocationPackageOptions struct { // Identifier key for this package. // // You can use this to order package installs. Key *string `field:"optional" json:"key" yaml:"key"` // Restart the given service after this command has run. ServiceRestartHandles *[]InitServiceRestartHandle `field:"optional" json:"serviceRestartHandles" yaml:"serviceRestartHandles"` }
Options for InitPackage.rpm/InitPackage.msi.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var initServiceRestartHandle initServiceRestartHandle locationPackageOptions := &LocationPackageOptions{ Key: jsii.String("key"), ServiceRestartHandles: []*initServiceRestartHandle{ initServiceRestartHandle, }, }
type LogFormat ¶ added in v2.51.0
type LogFormat interface {
Value() *string
}
The following table describes all of the available fields for a flow log record.
Example:
vpc := ec2.NewVpc(this, jsii.String("Vpc")) vpc.addFlowLog(jsii.String("FlowLog"), &FlowLogOptions{ LogFormat: []logFormat{ ec2.*logFormat_DST_PORT(), ec2.*logFormat_SRC_PORT(), }, }) // If you just want to add a field to the default field vpc.addFlowLog(jsii.String("FlowLog"), &FlowLogOptions{ LogFormat: []*logFormat{ ec2.*logFormat_VERSION(), ec2.*logFormat_ALL_DEFAULT_FIELDS(), }, }) // If AWS CDK does not support the new fields vpc.addFlowLog(jsii.String("FlowLog"), &FlowLogOptions{ LogFormat: []*logFormat{ ec2.*logFormat_SRC_PORT(), ec2.*logFormat_Custom(jsii.String("${new-field}")), }, })
func LogFormat_ACCOUNT_ID ¶ added in v2.51.0
func LogFormat_ACCOUNT_ID() LogFormat
func LogFormat_ACTION ¶ added in v2.72.0
func LogFormat_ACTION() LogFormat
func LogFormat_ALL_DEFAULT_FIELDS ¶ added in v2.51.0
func LogFormat_ALL_DEFAULT_FIELDS() LogFormat
func LogFormat_AZ_ID ¶ added in v2.51.0
func LogFormat_AZ_ID() LogFormat
func LogFormat_BYTES ¶ added in v2.51.0
func LogFormat_BYTES() LogFormat
func LogFormat_Custom ¶ added in v2.51.0
A custom format string.
Gives full control over the format string fragment.
func LogFormat_DST_ADDR ¶ added in v2.51.0
func LogFormat_DST_ADDR() LogFormat
func LogFormat_DST_PORT ¶ added in v2.51.0
func LogFormat_DST_PORT() LogFormat
func LogFormat_END_TIMESTAMP ¶ added in v2.72.0
func LogFormat_END_TIMESTAMP() LogFormat
func LogFormat_FLOW_DIRECTION ¶ added in v2.51.0
func LogFormat_FLOW_DIRECTION() LogFormat
func LogFormat_Field ¶ added in v2.51.0
A custom field name.
If there is no ready-made constant for a new field yet, you can use this. The field name will automatically be wrapped in `${ ... }`.
func LogFormat_INSTANCE_ID ¶ added in v2.72.0
func LogFormat_INSTANCE_ID() LogFormat
func LogFormat_INTERFACE_ID ¶ added in v2.51.0
func LogFormat_INTERFACE_ID() LogFormat
func LogFormat_LOG_STATUS ¶ added in v2.72.0
func LogFormat_LOG_STATUS() LogFormat
func LogFormat_PACKETS ¶ added in v2.51.0
func LogFormat_PACKETS() LogFormat
func LogFormat_PKT_DST_ADDR ¶ added in v2.51.0
func LogFormat_PKT_DST_ADDR() LogFormat
func LogFormat_PKT_DST_AWS_SERVICE ¶ added in v2.51.0
func LogFormat_PKT_DST_AWS_SERVICE() LogFormat
func LogFormat_PKT_SRC_ADDR ¶ added in v2.51.0
func LogFormat_PKT_SRC_ADDR() LogFormat
func LogFormat_PKT_SRC_AWS_SERVICE ¶ added in v2.51.0
func LogFormat_PKT_SRC_AWS_SERVICE() LogFormat
func LogFormat_PROTOCOL ¶ added in v2.51.0
func LogFormat_PROTOCOL() LogFormat
func LogFormat_REGION ¶ added in v2.51.0
func LogFormat_REGION() LogFormat
func LogFormat_SRC_ADDR ¶ added in v2.51.0
func LogFormat_SRC_ADDR() LogFormat
func LogFormat_SRC_PORT ¶ added in v2.51.0
func LogFormat_SRC_PORT() LogFormat
func LogFormat_START_TIMESTAMP ¶ added in v2.72.0
func LogFormat_START_TIMESTAMP() LogFormat
func LogFormat_SUBLOCATION_ID ¶ added in v2.51.0
func LogFormat_SUBLOCATION_ID() LogFormat
func LogFormat_SUBLOCATION_TYPE ¶ added in v2.51.0
func LogFormat_SUBLOCATION_TYPE() LogFormat
func LogFormat_SUBNET_ID ¶ added in v2.72.0
func LogFormat_SUBNET_ID() LogFormat
func LogFormat_TCP_FLAGS ¶ added in v2.72.0
func LogFormat_TCP_FLAGS() LogFormat
func LogFormat_TRAFFIC_PATH ¶ added in v2.51.0
func LogFormat_TRAFFIC_PATH() LogFormat
func LogFormat_TRAFFIC_TYPE ¶ added in v2.72.0
func LogFormat_TRAFFIC_TYPE() LogFormat
func LogFormat_VERSION ¶ added in v2.51.0
func LogFormat_VERSION() LogFormat
func LogFormat_VPC_ID ¶ added in v2.72.0
func LogFormat_VPC_ID() LogFormat
func NewLogFormat ¶ added in v2.51.0
type LookupMachineImage ¶
type LookupMachineImage interface { IMachineImage // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
A machine image whose AMI ID will be searched using DescribeImages.
The most recent, available, launchable image matching the given filter criteria will be used. Looking up AMIs may take a long time; specify as many filter criteria as possible to narrow down the search.
The AMI selected will be cached in `cdk.context.json` and the same value will be used on future runs. To refresh the AMI lookup, you will have to evict the value from the cache using the `cdk context` command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData lookupMachineImage := awscdk.Aws_ec2.NewLookupMachineImage(&LookupMachineImageProps{ Name: jsii.String("name"), // the properties below are optional Filters: map[string][]*string{ "filtersKey": []*string{ jsii.String("filters"), }, }, Owners: []*string{ jsii.String("owners"), }, UserData: userData, Windows: jsii.Boolean(false), })
func NewLookupMachineImage ¶
func NewLookupMachineImage(props *LookupMachineImageProps) LookupMachineImage
type LookupMachineImageProps ¶
type LookupMachineImageProps struct { // Name of the image (may contain wildcards). Name *string `field:"required" json:"name" yaml:"name"` // Additional filters on the AMI. // See: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html // Filters *map[string]*[]*string `field:"optional" json:"filters" yaml:"filters"` // Owner account IDs or aliases. Owners *[]*string `field:"optional" json:"owners" yaml:"owners"` // Custom userdata for this image. UserData UserData `field:"optional" json:"userData" yaml:"userData"` // Look for Windows images. Windows *bool `field:"optional" json:"windows" yaml:"windows"` }
Properties for looking up an image.
Example:
// Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.MachineImage_LatestAmazonLinux(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, CpuType: ec2.AmazonLinuxCpuType_X86_64, }) // Pick a Windows edition to use windows := ec2.MachineImage_LatestWindows(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Read AMI id from SSM parameter store ssm := ec2.MachineImage_FromSsmParameter(jsii.String("/my/ami"), &SsmParameterImageOptions{ Os: ec2.OperatingSystemType_LINUX, }) // Look up the most recent image matching a set of AMI filters. // In this case, look up the NAT instance AMI, by using a wildcard // in the 'name' field: natAmi := ec2.MachineImage_Lookup(&LookupMachineImageProps{ Name: jsii.String("amzn-ami-vpc-nat-*"), Owners: []*string{ jsii.String("amazon"), }, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.MachineImage_GenericLinux(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), }) // For other custom (Windows) images, instantiate a `GenericWindowsImage` with // a map giving the AMI to in for each region: genericWindows := ec2.MachineImage_GenericWindows(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
type MachineImage ¶
type MachineImage interface { }
Factory functions for standard Amazon Machine Image objects.
Example:
var vpc vpc mySecurityGroup := ec2.NewSecurityGroup(this, jsii.String("SecurityGroup"), &SecurityGroupProps{ Vpc: Vpc, }) autoscaling.NewAutoScalingGroup(this, jsii.String("ASG"), &AutoScalingGroupProps{ Vpc: Vpc, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_MICRO), MachineImage: ec2.MachineImage_LatestAmazonLinux(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX_2, }), SecurityGroup: mySecurityGroup, })
type MachineImageConfig ¶
type MachineImageConfig struct { // The AMI ID of the image to use. ImageId *string `field:"required" json:"imageId" yaml:"imageId"` // Operating system type for this image. OsType OperatingSystemType `field:"required" json:"osType" yaml:"osType"` // Initial UserData for this image. UserData UserData `field:"required" json:"userData" yaml:"userData"` }
Configuration for a machine image.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData machineImageConfig := &MachineImageConfig{ ImageId: jsii.String("imageId"), OsType: awscdk.Aws_ec2.OperatingSystemType_LINUX, UserData: userData, }
type MultipartBody ¶
type MultipartBody interface { // Render body part as the string. // // Subclasses should not add leading nor trailing new line characters (\r \n). RenderBodyPart() *[]*string }
The base class for all classes which can be used as `MultipartUserData`.
Example:
multipartUserData := ec2.NewMultipartUserData() commandsUserData := ec2.UserData_ForLinux() multipartUserData.AddUserDataPart(commandsUserData, ec2.MultipartBody_SHELL_SCRIPT(), jsii.Boolean(true)) // Adding commands to the multipartUserData adds them to commandsUserData, and vice-versa. multipartUserData.AddCommands(jsii.String("touch /root/multi.txt")) commandsUserData.AddCommands(jsii.String("touch /root/userdata.txt"))
func MultipartBody_FromRawBody ¶
func MultipartBody_FromRawBody(opts *MultipartBodyOptions) MultipartBody
Constructs the raw `MultipartBody` using specified body, content type and transfer encoding.
When transfer encoding is specified (typically as Base64), it's caller responsibility to convert body to Base64 either by wrapping with `Fn.base64` or by converting it by other converters.
func MultipartBody_FromUserData ¶
func MultipartBody_FromUserData(userData UserData, contentType *string) MultipartBody
Constructs the new `MultipartBody` wrapping existing `UserData`. Modification to `UserData` are reflected in subsequent renders of the part.
For more information about content types see `MultipartBodyOptions.contentType`.
type MultipartBodyOptions ¶
type MultipartBodyOptions struct { // `Content-Type` header of this part. // // Some examples of content types: // * `text/x-shellscript; charset="utf-8"` (shell script) // * `text/cloud-boothook; charset="utf-8"` (shell script executed during boot phase) // // For Linux shell scripts use `text/x-shellscript`. ContentType *string `field:"required" json:"contentType" yaml:"contentType"` // The body of message. Body *string `field:"optional" json:"body" yaml:"body"` // `Content-Transfer-Encoding` header specifying part encoding. TransferEncoding *string `field:"optional" json:"transferEncoding" yaml:"transferEncoding"` }
Options when creating `MultipartBody`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" multipartBodyOptions := &MultipartBodyOptions{ ContentType: jsii.String("contentType"), // the properties below are optional Body: jsii.String("body"), TransferEncoding: jsii.String("transferEncoding"), }
type MultipartUserData ¶
type MultipartUserData interface { UserData // Add one or more commands to the user data. AddCommands(commands ...*string) // Adds commands to execute a file. AddExecuteFileCommand(params *ExecuteFileOptions) // Add one or more commands to the user data that will run when the script exits. AddOnExitCommands(commands ...*string) // Adds a part to the list of parts. AddPart(part MultipartBody) // Adds commands to download a file from S3. AddS3DownloadCommand(params *S3DownloadOptions) *string // Adds a command which will send a cfn-signal when the user data script ends. AddSignalOnExitCommand(resource awscdk.Resource) // Adds a multipart part based on a UserData object. // // If `makeDefault` is true, then the UserData added by this method // will also be the target of calls to the `add*Command` methods on // this MultipartUserData object. // // If `makeDefault` is false, then this is the same as calling: // // “`ts // declare const multiPart: ec2.MultipartUserData; // declare const userData: ec2.UserData; // declare const contentType: string; // // multiPart.addPart(ec2.MultipartBody.fromUserData(userData, contentType)); // “` // // An undefined `makeDefault` defaults to either: // - `true` if no default UserData has been set yet; or // - `false` if there is no default UserData set. AddUserDataPart(userData UserData, contentType *string, makeDefault *bool) // Render the UserData for use in a construct. Render() *string }
Mime multipart user data.
This class represents MIME multipart user data, as described in. [Specifying Multiple User Data Blocks Using a MIME Multi Part Archive](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#multi-part_user_data)
Example:
bootHookConf := ec2.UserData_ForLinux() bootHookConf.AddCommands(jsii.String("cloud-init-per once docker_options echo 'OPTIONS=\"${OPTIONS} --storage-opt dm.basesize=40G\"' >> /etc/sysconfig/docker")) setupCommands := ec2.UserData_ForLinux() setupCommands.AddCommands(jsii.String("sudo yum install awscli && echo Packages installed らと > /var/tmp/setup")) multipartUserData := ec2.NewMultipartUserData() // The docker has to be configured at early stage, so content type is overridden to boothook multipartUserData.AddPart(ec2.MultipartBody_FromUserData(bootHookConf, jsii.String("text/cloud-boothook; charset=\"us-ascii\""))) // Execute the rest of setup multipartUserData.AddPart(ec2.MultipartBody_FromUserData(setupCommands)) ec2.NewLaunchTemplate(this, jsii.String(""), &LaunchTemplateProps{ UserData: multipartUserData, BlockDevices: []blockDevice{ }, })
func NewMultipartUserData ¶
func NewMultipartUserData(opts *MultipartUserDataOptions) MultipartUserData
type MultipartUserDataOptions ¶
type MultipartUserDataOptions struct { // The string used to separate parts in multipart user data archive (it's like MIME boundary). // // This string should contain [a-zA-Z0-9()+,-./:=?] characters only, and should not be present in any part, or in text content of archive. PartsSeparator *string `field:"optional" json:"partsSeparator" yaml:"partsSeparator"` }
Options for creating `MultipartUserData`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" multipartUserDataOptions := &MultipartUserDataOptions{ PartsSeparator: jsii.String("partsSeparator"), }
type NamedPackageOptions ¶
type NamedPackageOptions struct { // Restart the given services after this command has run. ServiceRestartHandles *[]InitServiceRestartHandle `field:"optional" json:"serviceRestartHandles" yaml:"serviceRestartHandles"` // Specify the versions to install. Version *[]*string `field:"optional" json:"version" yaml:"version"` }
Options for InitPackage.yum/apt/rubyGem/python.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var initServiceRestartHandle initServiceRestartHandle namedPackageOptions := &NamedPackageOptions{ ServiceRestartHandles: []*initServiceRestartHandle{ initServiceRestartHandle, }, Version: []*string{ jsii.String("version"), }, }
type NatGatewayProps ¶
type NatGatewayProps struct { // EIP allocation IDs for the NAT gateways. EipAllocationIds *[]*string `field:"optional" json:"eipAllocationIds" yaml:"eipAllocationIds"` }
Properties for a NAT gateway.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" natGatewayProps := &NatGatewayProps{ EipAllocationIds: []*string{ jsii.String("eipAllocationIds"), }, }
type NatInstanceImage ¶
type NatInstanceImage interface { LookupMachineImage // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
Machine image representing the latest NAT instance image.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" natInstanceImage := awscdk.Aws_ec2.NewNatInstanceImage()
func NewNatInstanceImage ¶
func NewNatInstanceImage() NatInstanceImage
type NatInstanceProps ¶
type NatInstanceProps struct { // Instance type of the NAT instance. InstanceType InstanceType `field:"required" json:"instanceType" yaml:"instanceType"` // Direction to allow all traffic through the NAT instance by default. // // By default, inbound and outbound traffic is allowed. // // If you set this to another value than INBOUND_AND_OUTBOUND, you must // configure the NAT instance's security groups in another way, either by // passing in a fully configured Security Group using the `securityGroup` // property, or by configuring it using the `.securityGroup` or // `.connections` members after passing the NAT Instance Provider to a Vpc. DefaultAllowedTraffic NatTrafficDirection `field:"optional" json:"defaultAllowedTraffic" yaml:"defaultAllowedTraffic"` // Name of SSH keypair to grant access to instance. KeyName *string `field:"optional" json:"keyName" yaml:"keyName"` // The machine image (AMI) to use. // // By default, will do an AMI lookup for the latest NAT instance image. // // If you have a specific AMI ID you want to use, pass a `GenericLinuxImage`. For example: // // “`ts // ec2.NatProvider.instance({ // instanceType: new ec2.InstanceType('t3.micro'), // machineImage: new ec2.GenericLinuxImage({ // 'us-east-2': 'ami-0f9c61b5a562a16af' // }) // }) // “`. MachineImage IMachineImage `field:"optional" json:"machineImage" yaml:"machineImage"` // Security Group for NAT instances. SecurityGroup ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` }
Properties for a NAT instance.
Example:
// Configure the `natGatewayProvider` when defining a Vpc natGatewayProvider := ec2.NatProvider_Instance(&NatInstanceProps{ InstanceType: ec2.NewInstanceType(jsii.String("t3.small")), }) vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ NatGatewayProvider: NatGatewayProvider, // The 'natGateways' parameter now controls the number of NAT instances NatGateways: jsii.Number(2), })
type NatInstanceProvider ¶
type NatInstanceProvider interface { NatProvider IConnectable // Return list of gateways spawned by the provider. ConfiguredGateways() *[]*GatewayConfig // Manage the Security Groups associated with the NAT instances. Connections() Connections // The Security Group associated with the NAT instances. SecurityGroup() ISecurityGroup // Called by the VPC to configure NAT. // // Don't call this directly, the VPC will call it automatically. ConfigureNat(options *ConfigureNatOptions) // Configures subnet with the gateway. // // Don't call this directly, the VPC will call it automatically. ConfigureSubnet(subnet PrivateSubnet) }
NAT provider which uses NAT Instances.
Example:
// Configure the `natGatewayProvider` when defining a Vpc natGatewayProvider := ec2.NatProvider_Instance(&NatInstanceProps{ InstanceType: ec2.NewInstanceType(jsii.String("t3.small")), }) vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ NatGatewayProvider: NatGatewayProvider, // The 'natGateways' parameter now controls the number of NAT instances NatGateways: jsii.Number(2), })
func NatInstanceProvider_Instance ¶
func NatInstanceProvider_Instance(props *NatInstanceProps) NatInstanceProvider
Use NAT instances to provide NAT services for your VPC.
NAT instances are managed by you, but in return allow more configuration.
Be aware that instances created using this provider will not be automatically replaced if they are stopped for any reason. You should implement your own NatProvider based on AutoScaling groups if you need that. See: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html
func NatProvider_Instance ¶
func NatProvider_Instance(props *NatInstanceProps) NatInstanceProvider
Use NAT instances to provide NAT services for your VPC.
NAT instances are managed by you, but in return allow more configuration.
Be aware that instances created using this provider will not be automatically replaced if they are stopped for any reason. You should implement your own NatProvider based on AutoScaling groups if you need that. See: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html
func NewNatInstanceProvider ¶
func NewNatInstanceProvider(props *NatInstanceProps) NatInstanceProvider
type NatProvider ¶
type NatProvider interface { // Return list of gateways spawned by the provider. ConfiguredGateways() *[]*GatewayConfig // Called by the VPC to configure NAT. // // Don't call this directly, the VPC will call it automatically. ConfigureNat(options *ConfigureNatOptions) // Configures subnet with the gateway. // // Don't call this directly, the VPC will call it automatically. ConfigureSubnet(subnet PrivateSubnet) }
NAT providers.
Determines what type of NAT provider to create, either NAT gateways or NAT instance.
Example:
// Configure the `natGatewayProvider` when defining a Vpc natGatewayProvider := ec2.NatProvider_Instance(&NatInstanceProps{ InstanceType: ec2.NewInstanceType(jsii.String("t3.small")), }) vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ NatGatewayProvider: NatGatewayProvider, // The 'natGateways' parameter now controls the number of NAT instances NatGateways: jsii.Number(2), })
func NatInstanceProvider_Gateway ¶
func NatInstanceProvider_Gateway(props *NatGatewayProps) NatProvider
Use NAT Gateways to provide NAT services for your VPC.
NAT gateways are managed by AWS. See: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html
func NatProvider_Gateway ¶
func NatProvider_Gateway(props *NatGatewayProps) NatProvider
Use NAT Gateways to provide NAT services for your VPC.
NAT gateways are managed by AWS. See: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html
type NatTrafficDirection ¶
type NatTrafficDirection string
Direction of traffic to allow all by default.
Example:
var instanceType instanceType provider := ec2.NatProvider_Instance(&NatInstanceProps{ InstanceType: InstanceType, DefaultAllowedTraffic: ec2.NatTrafficDirection_OUTBOUND_ONLY, }) ec2.NewVpc(this, jsii.String("TheVPC"), &VpcProps{ NatGatewayProvider: provider, }) provider.connections.AllowFrom(ec2.Peer_Ipv4(jsii.String("1.2.3.4/8")), ec2.Port_Tcp(jsii.Number(80)))
const ( // Allow all outbound traffic and disallow all inbound traffic. NatTrafficDirection_OUTBOUND_ONLY NatTrafficDirection = "OUTBOUND_ONLY" // Allow all outbound and inbound traffic. NatTrafficDirection_INBOUND_AND_OUTBOUND NatTrafficDirection = "INBOUND_AND_OUTBOUND" // Disallow all outbound and inbound traffic. NatTrafficDirection_NONE NatTrafficDirection = "NONE" )
type NetworkAcl ¶
type NetworkAcl interface { awscdk.Resource INetworkAcl // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The ID of the NetworkACL. NetworkAclId() *string // The VPC ID for this NetworkACL. NetworkAclVpcId() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Add a new entry to the ACL. AddEntry(id *string, options *CommonNetworkAclEntryOptions) NetworkAclEntry // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Associate the ACL with a given set of subnets. AssociateWithSubnet(id *string, selection *SubnetSelection) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Define a new custom network ACL.
By default, will deny all inbound and outbound traffic unless entries are added explicitly allowing it.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var subnet subnet var subnetFilter subnetFilter var vpc vpc networkAcl := awscdk.Aws_ec2.NewNetworkAcl(this, jsii.String("MyNetworkAcl"), &NetworkAclProps{ Vpc: vpc, // the properties below are optional NetworkAclName: jsii.String("networkAclName"), SubnetSelection: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.*Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, })
func NewNetworkAcl ¶
func NewNetworkAcl(scope constructs.Construct, id *string, props *NetworkAclProps) NetworkAcl
type NetworkAclEntry ¶
type NetworkAclEntry interface { awscdk.Resource INetworkAclEntry // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The network ACL. NetworkAcl() INetworkAcl // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Define an entry in a Network ACL table.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var aclCidr aclCidr var aclTraffic aclTraffic var networkAcl networkAcl networkAclEntry := awscdk.Aws_ec2.NewNetworkAclEntry(this, jsii.String("MyNetworkAclEntry"), &NetworkAclEntryProps{ Cidr: aclCidr, NetworkAcl: networkAcl, RuleNumber: jsii.Number(123), Traffic: aclTraffic, // the properties below are optional Direction: awscdk.*Aws_ec2.TrafficDirection_EGRESS, NetworkAclEntryName: jsii.String("networkAclEntryName"), RuleAction: awscdk.*Aws_ec2.Action_ALLOW, })
func NewNetworkAclEntry ¶
func NewNetworkAclEntry(scope constructs.Construct, id *string, props *NetworkAclEntryProps) NetworkAclEntry
type NetworkAclEntryProps ¶
type NetworkAclEntryProps struct { // The CIDR range to allow or deny. Cidr AclCidr `field:"required" json:"cidr" yaml:"cidr"` // Rule number to assign to the entry, such as 100. // // ACL entries are processed in ascending order by rule number. // Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule. RuleNumber *float64 `field:"required" json:"ruleNumber" yaml:"ruleNumber"` // What kind of traffic this ACL rule applies to. Traffic AclTraffic `field:"required" json:"traffic" yaml:"traffic"` // Traffic direction, with respect to the subnet, this rule applies to. Direction TrafficDirection `field:"optional" json:"direction" yaml:"direction"` // The name of the NetworkAclEntry. // // It is not recommended to use an explicit group name. NetworkAclEntryName *string `field:"optional" json:"networkAclEntryName" yaml:"networkAclEntryName"` // Whether to allow or deny traffic that matches the rule; valid values are "allow" or "deny". // // Any traffic that is not explicitly allowed is automatically denied in a custom // ACL, all traffic is automatically allowed in a default ACL. RuleAction Action `field:"optional" json:"ruleAction" yaml:"ruleAction"` // The network ACL this entry applies to. NetworkAcl INetworkAcl `field:"required" json:"networkAcl" yaml:"networkAcl"` }
Properties to create NetworkAclEntry.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var aclCidr aclCidr var aclTraffic aclTraffic var networkAcl networkAcl networkAclEntryProps := &NetworkAclEntryProps{ Cidr: aclCidr, NetworkAcl: networkAcl, RuleNumber: jsii.Number(123), Traffic: aclTraffic, // the properties below are optional Direction: awscdk.Aws_ec2.TrafficDirection_EGRESS, NetworkAclEntryName: jsii.String("networkAclEntryName"), RuleAction: awscdk.*Aws_ec2.Action_ALLOW, }
type NetworkAclProps ¶
type NetworkAclProps struct { // The VPC in which to create the NetworkACL. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` // The name of the NetworkAcl. // // It is not recommended to use an explicit name. NetworkAclName *string `field:"optional" json:"networkAclName" yaml:"networkAclName"` // Subnets in the given VPC to associate the ACL with. // // More subnets can always be added later by calling // `associateWithSubnets()`. SubnetSelection *SubnetSelection `field:"optional" json:"subnetSelection" yaml:"subnetSelection"` }
Properties to create NetworkAcl.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var subnet subnet var subnetFilter subnetFilter var vpc vpc networkAclProps := &NetworkAclProps{ Vpc: vpc, // the properties below are optional NetworkAclName: jsii.String("networkAclName"), SubnetSelection: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }
type OperatingSystemType ¶
type OperatingSystemType string
The OS type of a particular image.
Example:
// Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.MachineImage_LatestAmazonLinux(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, CpuType: ec2.AmazonLinuxCpuType_X86_64, }) // Pick a Windows edition to use windows := ec2.MachineImage_LatestWindows(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Read AMI id from SSM parameter store ssm := ec2.MachineImage_FromSsmParameter(jsii.String("/my/ami"), &SsmParameterImageOptions{ Os: ec2.OperatingSystemType_LINUX, }) // Look up the most recent image matching a set of AMI filters. // In this case, look up the NAT instance AMI, by using a wildcard // in the 'name' field: natAmi := ec2.MachineImage_Lookup(&LookupMachineImageProps{ Name: jsii.String("amzn-ami-vpc-nat-*"), Owners: []*string{ jsii.String("amazon"), }, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.MachineImage_GenericLinux(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), }) // For other custom (Windows) images, instantiate a `GenericWindowsImage` with // a map giving the AMI to in for each region: genericWindows := ec2.MachineImage_GenericWindows(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
const ( OperatingSystemType_LINUX OperatingSystemType = "LINUX" OperatingSystemType_WINDOWS OperatingSystemType = "WINDOWS" // Used when the type of the operating system is not known (for example, for imported Auto-Scaling Groups). OperatingSystemType_UNKNOWN OperatingSystemType = "UNKNOWN" )
type Peer ¶
type Peer interface { }
Peer object factories (to be used in Security Group management).
The static methods on this object can be used to create peer objects which represent a connection partner in Security Group rules.
Use this object if you need to represent connection partners using plain IP addresses, or a prefix list ID.
If you want to address a connection partner by Security Group, you can just use the Security Group (or the construct that contains a Security Group) directly, as it already implements `IPeer`.
Example:
var instanceType instanceType provider := ec2.NatProvider_Instance(&NatInstanceProps{ InstanceType: InstanceType, DefaultAllowedTraffic: ec2.NatTrafficDirection_OUTBOUND_ONLY, }) ec2.NewVpc(this, jsii.String("TheVPC"), &VpcProps{ NatGatewayProvider: provider, }) provider.connections.AllowFrom(ec2.Peer_Ipv4(jsii.String("1.2.3.4/8")), ec2.Port_Tcp(jsii.Number(80)))
type PlacementGroup ¶ added in v2.74.0
type PlacementGroup interface { awscdk.Resource IPlacementGroup // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // The number of partitions. // // Valid only when Strategy is set to PARTITION. Partitions() *float64 // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The name of this placement group. PlacementGroupName() *string // Places instances on distinct hardware. // // Spread placement groups are recommended for applications // that have a small number of critical instances that should be kept separate from each other. // Launching instances in a spread level placement group reduces the risk of simultaneous failures // that might occur when instances share the same equipment. // Spread level placement groups provide access to distinct hardware, // and are therefore suitable for mixing instance types or launching instances over time. // If you start or launch an instance in a spread placement group and there is insufficient // unique hardware to fulfill the request, the request fails. Amazon EC2 makes more distinct hardware // available over time, so you can try your request again later. // Placement groups can spread instances across racks or hosts. // You can use host level spread placement groups only with AWS Outposts. SpreadLevel() PlacementGroupSpreadLevel // The stack in which this resource is defined. Stack() awscdk.Stack // Which strategy to use when launching instances. Strategy() PlacementGroupStrategy // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Defines a placement group.
Placement groups give you fine-grained control over where your instances are provisioned.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" placementGroup := awscdk.Aws_ec2.NewPlacementGroup(this, jsii.String("MyPlacementGroup"), &PlacementGroupProps{ Partitions: jsii.Number(123), PlacementGroupName: jsii.String("placementGroupName"), SpreadLevel: awscdk.*Aws_ec2.PlacementGroupSpreadLevel_HOST, Strategy: awscdk.*Aws_ec2.PlacementGroupStrategy_CLUSTER, })
func NewPlacementGroup ¶ added in v2.74.0
func NewPlacementGroup(scope constructs.Construct, id *string, props *PlacementGroupProps) PlacementGroup
type PlacementGroupProps ¶ added in v2.74.0
type PlacementGroupProps struct { // The number of partitions. // // Valid only when Strategy is set to partition. Partitions *float64 `field:"optional" json:"partitions" yaml:"partitions"` // the name of this placement group. PlacementGroupName *string `field:"optional" json:"placementGroupName" yaml:"placementGroupName"` // Places instances on distinct hardware. // // Spread placement groups are recommended for applications // that have a small number of critical instances that should be kept separate from each other. // Launching instances in a spread level placement group reduces the risk of simultaneous failures // that might occur when instances share the same equipment. // Spread level placement groups provide access to distinct hardware, // and are therefore suitable for mixing instance types or launching instances over time. // If you start or launch an instance in a spread placement group and there is insufficient // unique hardware to fulfill the request, the request fails. Amazon EC2 makes more distinct hardware // available over time, so you can try your request again later. // Placement groups can spread instances across racks or hosts. // You can use host level spread placement groups only with AWS Outposts. SpreadLevel PlacementGroupSpreadLevel `field:"optional" json:"spreadLevel" yaml:"spreadLevel"` // Which strategy to use when launching instances. Strategy PlacementGroupStrategy `field:"optional" json:"strategy" yaml:"strategy"` }
Props for a PlacementGroup.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" placementGroupProps := &PlacementGroupProps{ Partitions: jsii.Number(123), PlacementGroupName: jsii.String("placementGroupName"), SpreadLevel: awscdk.Aws_ec2.PlacementGroupSpreadLevel_HOST, Strategy: awscdk.*Aws_ec2.PlacementGroupStrategy_CLUSTER, }
type PlacementGroupSpreadLevel ¶ added in v2.74.0
type PlacementGroupSpreadLevel string
Determines how this placement group spreads instances.
const ( // Host spread level placement groups are only available with AWS Outposts. // // For host spread level placement groups, there are no restrictions for running instances per Outposts. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups-outpost.html // PlacementGroupSpreadLevel_HOST PlacementGroupSpreadLevel = "HOST" // Each instance is launched on a separate rack. // // Each has its own network and power source. // A rack spread placement group can span multiple Availability Zones in the same Region. // For rack spread level placement groups, you can have a maximum of seven running instances per Availability Zone per group. PlacementGroupSpreadLevel_RACK PlacementGroupSpreadLevel = "RACK" )
type PlacementGroupStrategy ¶ added in v2.74.0
type PlacementGroupStrategy string
Which strategy to use when launching instances.
const ( // Packs instances close together inside an Availability Zone. // // This strategy enables workloads to achieve the low-latency network // performance necessary for tightly-coupled node-to-node communication that // is typical of high-performance computing (HPC) applications. PlacementGroupStrategy_CLUSTER PlacementGroupStrategy = "CLUSTER" // Spreads your instances across logical partitions such that groups of instances in one partition do not share the underlying hardware with groups of instances in different partitions. // // This strategy is typically used by large distributed and replicated workloads, // such as Hadoop, Cassandra, and Kafka. PlacementGroupStrategy_PARTITION PlacementGroupStrategy = "PARTITION" // Strictly places a small group of instances across distinct underlying hardware to reduce correlated failures. PlacementGroupStrategy_SPREAD PlacementGroupStrategy = "SPREAD" )
type Port ¶
type Port interface { // Whether the rule containing this port range can be inlined into a securitygroup or not. CanInlineRule() *bool // Produce the ingress/egress rule JSON for the given connection. ToRuleJson() interface{} ToString() *string }
Interface for classes that provide the connection-specification parts of a security group rule.
Example:
var instanceType instanceType provider := ec2.NatProvider_Instance(&NatInstanceProps{ InstanceType: InstanceType, DefaultAllowedTraffic: ec2.NatTrafficDirection_OUTBOUND_ONLY, }) ec2.NewVpc(this, jsii.String("TheVPC"), &VpcProps{ NatGatewayProvider: provider, }) provider.connections.AllowFrom(ec2.Peer_Ipv4(jsii.String("1.2.3.4/8")), ec2.Port_Tcp(jsii.Number(80)))
func Port_IcmpTypeAndCode ¶
A specific combination of ICMP type and code. See: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml
func Port_TcpRange ¶
A TCP port range.
func Port_UdpRange ¶
A UDP port range.
type PortProps ¶
type PortProps struct { // The protocol for the range. Protocol Protocol `field:"required" json:"protocol" yaml:"protocol"` // String representation for this object. StringRepresentation *string `field:"required" json:"stringRepresentation" yaml:"stringRepresentation"` // The starting port for the range. FromPort *float64 `field:"optional" json:"fromPort" yaml:"fromPort"` // The ending port for the range. ToPort *float64 `field:"optional" json:"toPort" yaml:"toPort"` }
Properties to create a port range.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" portProps := &PortProps{ Protocol: awscdk.Aws_ec2.Protocol_ALL, StringRepresentation: jsii.String("stringRepresentation"), // the properties below are optional FromPort: jsii.Number(123), ToPort: jsii.Number(123), }
type PrefixList ¶ added in v2.78.0
type PrefixList interface { awscdk.Resource IPrefixList // The address family of the prefix list. AddressFamily() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // The owner ID of the prefix list. OwnerId() *string // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The ARN of the prefix list. PrefixListArn() *string // The ID of the prefix list. PrefixListId() *string // The name of the prefix list. PrefixListName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The version of the prefix list. Version() *float64 // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A managed prefix list.
Example:
ec2.NewPrefixList(this, jsii.String("EmptyPrefixList"), &PrefixListProps{ MaxEntries: jsii.Number(100), })
func NewPrefixList ¶ added in v2.78.0
func NewPrefixList(scope constructs.Construct, id *string, props *PrefixListProps) PrefixList
type PrefixListOptions ¶ added in v2.78.0
type PrefixListOptions struct { // The maximum number of entries for the prefix list. MaxEntries *float64 `field:"optional" json:"maxEntries" yaml:"maxEntries"` }
Options to add a prefix list.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" prefixListOptions := &PrefixListOptions{ MaxEntries: jsii.Number(123), }
type PrefixListProps ¶ added in v2.78.0
type PrefixListProps struct { // The maximum number of entries for the prefix list. MaxEntries *float64 `field:"optional" json:"maxEntries" yaml:"maxEntries"` // The address family of the prefix list. AddressFamily AddressFamily `field:"optional" json:"addressFamily" yaml:"addressFamily"` // The list of entries for the prefix list. Entries *[]*CfnPrefixList_EntryProperty `field:"optional" json:"entries" yaml:"entries"` // The name of the prefix list. PrefixListName *string `field:"optional" json:"prefixListName" yaml:"prefixListName"` }
Properties for creating a prefix list.
Example:
ec2.NewPrefixList(this, jsii.String("EmptyPrefixList"), &PrefixListProps{ MaxEntries: jsii.Number(100), })
type PrivateSubnet ¶
type PrivateSubnet interface { Subnet IPrivateSubnet // The Availability Zone the subnet is located in. AvailabilityZone() *string // Parts of this VPC subnet. DependencyElements() *[]constructs.IDependable // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // Dependable that can be depended upon to force internet connectivity established on the VPC. InternetConnectivityEstablished() constructs.IDependable // The IPv4 CIDR block for this subnet. Ipv4CidrBlock() *string // Network ACL associated with this Subnet. // // Upon creation, this is the default ACL which allows all traffic, except // explicit DENY entries that you add. // // You can replace it with a custom ACL which denies all traffic except // the explicit ALLOW entries that you add by creating a `NetworkAcl` // object and calling `associateNetworkAcl()`. NetworkAcl() INetworkAcl // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The routeTableId attached to this subnet. RouteTable() IRouteTable // The stack in which this resource is defined. Stack() awscdk.Stack SubnetAvailabilityZone() *string // The subnetId for this particular subnet. SubnetId() *string SubnetIpv6CidrBlocks() *[]*string SubnetNetworkAclAssociationId() *string // The Amazon Resource Name (ARN) of the Outpost for this subnet (if one exists). SubnetOutpostArn() *string SubnetVpcId() *string // Create a default route that points to a passed IGW, with a dependency on the IGW's attachment to the VPC. AddDefaultInternetRoute(gatewayId *string, gatewayAttachment constructs.IDependable) // Adds an entry to this subnets route table that points to the passed NATGatewayId. AddDefaultNatRoute(natGatewayId *string) // Adds an entry to this subnets route table. AddRoute(id *string, options *AddRouteOptions) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Associate a Network ACL with this subnet. AssociateNetworkAcl(id *string, networkAcl INetworkAcl) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Represents a private VPC subnet resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateSubnet := awscdk.Aws_ec2.NewPrivateSubnet(this, jsii.String("MyPrivateSubnet"), &PrivateSubnetProps{ AvailabilityZone: jsii.String("availabilityZone"), CidrBlock: jsii.String("cidrBlock"), VpcId: jsii.String("vpcId"), // the properties below are optional MapPublicIpOnLaunch: jsii.Boolean(false), })
func NewPrivateSubnet ¶
func NewPrivateSubnet(scope constructs.Construct, id *string, props *PrivateSubnetProps) PrivateSubnet
type PrivateSubnetAttributes ¶
type PrivateSubnetAttributes struct { // The subnetId for this particular subnet. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` // The Availability Zone the subnet is located in. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The IPv4 CIDR block associated with the subnet. Ipv4CidrBlock *string `field:"optional" json:"ipv4CidrBlock" yaml:"ipv4CidrBlock"` // The ID of the route table for this particular subnet. RouteTableId *string `field:"optional" json:"routeTableId" yaml:"routeTableId"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateSubnetAttributes := &PrivateSubnetAttributes{ SubnetId: jsii.String("subnetId"), // the properties below are optional AvailabilityZone: jsii.String("availabilityZone"), Ipv4CidrBlock: jsii.String("ipv4CidrBlock"), RouteTableId: jsii.String("routeTableId"), }
type PrivateSubnetProps ¶
type PrivateSubnetProps struct { // The availability zone for the subnet. AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // The CIDR notation for this subnet. CidrBlock *string `field:"required" json:"cidrBlock" yaml:"cidrBlock"` // The VPC which this subnet is part of. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // Controls if a public IP is associated to an instance at launch. MapPublicIpOnLaunch *bool `field:"optional" json:"mapPublicIpOnLaunch" yaml:"mapPublicIpOnLaunch"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" privateSubnetProps := &PrivateSubnetProps{ AvailabilityZone: jsii.String("availabilityZone"), CidrBlock: jsii.String("cidrBlock"), VpcId: jsii.String("vpcId"), // the properties below are optional MapPublicIpOnLaunch: jsii.Boolean(false), }
type Protocol ¶
type Protocol string
Protocol for use in Connection Rules.
https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
const ( Protocol_ALL Protocol = "ALL" Protocol_HOPOPT Protocol = "HOPOPT" Protocol_ICMP Protocol = "ICMP" Protocol_IGMP Protocol = "IGMP" Protocol_GGP Protocol = "GGP" Protocol_IPV4 Protocol = "IPV4" Protocol_ST Protocol = "ST" Protocol_TCP Protocol = "TCP" Protocol_CBT Protocol = "CBT" Protocol_EGP Protocol = "EGP" Protocol_IGP Protocol = "IGP" Protocol_BBN_RCC_MON Protocol = "BBN_RCC_MON" Protocol_NVP_II Protocol = "NVP_II" Protocol_PUP Protocol = "PUP" Protocol_EMCON Protocol = "EMCON" Protocol_XNET Protocol = "XNET" Protocol_CHAOS Protocol = "CHAOS" Protocol_UDP Protocol = "UDP" Protocol_MUX Protocol = "MUX" Protocol_DCN_MEAS Protocol = "DCN_MEAS" Protocol_HMP Protocol = "HMP" Protocol_PRM Protocol = "PRM" Protocol_XNS_IDP Protocol = "XNS_IDP" Protocol_TRUNK_1 Protocol = "TRUNK_1" Protocol_TRUNK_2 Protocol = "TRUNK_2" Protocol_LEAF_1 Protocol = "LEAF_1" Protocol_LEAF_2 Protocol = "LEAF_2" Protocol_RDP Protocol = "RDP" Protocol_IRTP Protocol = "IRTP" Protocol_ISO_TP4 Protocol = "ISO_TP4" Protocol_NETBLT Protocol = "NETBLT" Protocol_MFE_NSP Protocol = "MFE_NSP" Protocol_MERIT_INP Protocol = "MERIT_INP" Protocol_DCCP Protocol = "DCCP" Protocol_THREEPC Protocol = "THREEPC" Protocol_IDPR Protocol = "IDPR" Protocol_XTP Protocol = "XTP" Protocol_DDP Protocol = "DDP" Protocol_IDPR_CMTP Protocol = "IDPR_CMTP" Protocol_TPPLUSPLUS Protocol = "TPPLUSPLUS" Protocol_IL Protocol = "IL" Protocol_IPV6 Protocol = "IPV6" Protocol_SDRP Protocol = "SDRP" Protocol_IPV6_ROUTE Protocol = "IPV6_ROUTE" Protocol_IPV6_FRAG Protocol = "IPV6_FRAG" Protocol_IDRP Protocol = "IDRP" Protocol_RSVP Protocol = "RSVP" Protocol_GRE Protocol = "GRE" Protocol_DSR Protocol = "DSR" Protocol_BNA Protocol = "BNA" Protocol_ESP Protocol = "ESP" Protocol_AH Protocol = "AH" Protocol_I_NLSP Protocol = "I_NLSP" Protocol_SWIPE Protocol = "SWIPE" Protocol_NARP Protocol = "NARP" Protocol_MOBILE Protocol = "MOBILE" Protocol_TLSP Protocol = "TLSP" Protocol_SKIP Protocol = "SKIP" Protocol_ICMPV6 Protocol = "ICMPV6" Protocol_IPV6_NONXT Protocol = "IPV6_NONXT" Protocol_IPV6_OPTS Protocol = "IPV6_OPTS" Protocol_CFTP Protocol = "CFTP" Protocol_ANY_LOCAL Protocol = "ANY_LOCAL" Protocol_SAT_EXPAK Protocol = "SAT_EXPAK" Protocol_KRYPTOLAN Protocol = "KRYPTOLAN" Protocol_RVD Protocol = "RVD" Protocol_IPPC Protocol = "IPPC" Protocol_ANY_DFS Protocol = "ANY_DFS" Protocol_SAT_MON Protocol = "SAT_MON" Protocol_VISA Protocol = "VISA" Protocol_IPCV Protocol = "IPCV" Protocol_CPNX Protocol = "CPNX" Protocol_CPHB Protocol = "CPHB" Protocol_WSN Protocol = "WSN" Protocol_PVP Protocol = "PVP" Protocol_BR_SAT_MON Protocol = "BR_SAT_MON" Protocol_SUN_ND Protocol = "SUN_ND" Protocol_WB_MON Protocol = "WB_MON" Protocol_WB_EXPAK Protocol = "WB_EXPAK" Protocol_ISO_IP Protocol = "ISO_IP" Protocol_VMTP Protocol = "VMTP" Protocol_SECURE_VMTP Protocol = "SECURE_VMTP" Protocol_VINES Protocol = "VINES" Protocol_TTP Protocol = "TTP" Protocol_IPTM Protocol = "IPTM" Protocol_NSFNET_IGP Protocol = "NSFNET_IGP" Protocol_DGP Protocol = "DGP" Protocol_TCF Protocol = "TCF" Protocol_EIGRP Protocol = "EIGRP" Protocol_OSPFIGP Protocol = "OSPFIGP" Protocol_SPRITE_RPC Protocol = "SPRITE_RPC" Protocol_LARP Protocol = "LARP" Protocol_MTP Protocol = "MTP" Protocol_AX_25 Protocol = "AX_25" Protocol_IPIP Protocol = "IPIP" Protocol_MICP Protocol = "MICP" Protocol_SCC_SP Protocol = "SCC_SP" Protocol_ETHERIP Protocol = "ETHERIP" Protocol_ENCAP Protocol = "ENCAP" Protocol_ANY_ENC Protocol = "ANY_ENC" Protocol_GMTP Protocol = "GMTP" Protocol_IFMP Protocol = "IFMP" Protocol_PNNI Protocol = "PNNI" Protocol_PIM Protocol = "PIM" Protocol_ARIS Protocol = "ARIS" Protocol_SCPS Protocol = "SCPS" Protocol_QNX Protocol = "QNX" Protocol_A_N Protocol = "A_N" Protocol_IPCOMP Protocol = "IPCOMP" Protocol_SNP Protocol = "SNP" Protocol_COMPAQ_PEER Protocol = "COMPAQ_PEER" Protocol_IPX_IN_IP Protocol = "IPX_IN_IP" Protocol_VRRP Protocol = "VRRP" Protocol_PGM Protocol = "PGM" Protocol_ANY_0_HOP Protocol = "ANY_0_HOP" Protocol_L2_T_P Protocol = "L2_T_P" Protocol_DDX Protocol = "DDX" Protocol_IATP Protocol = "IATP" Protocol_STP Protocol = "STP" Protocol_SRP Protocol = "SRP" Protocol_UTI Protocol = "UTI" Protocol_SMP Protocol = "SMP" Protocol_SM Protocol = "SM" Protocol_PTP Protocol = "PTP" Protocol_ISIS_IPV4 Protocol = "ISIS_IPV4" Protocol_FIRE Protocol = "FIRE" Protocol_CRTP Protocol = "CRTP" Protocol_CRUDP Protocol = "CRUDP" Protocol_SSCOPMCE Protocol = "SSCOPMCE" Protocol_IPLT Protocol = "IPLT" Protocol_SPS Protocol = "SPS" Protocol_PIPE Protocol = "PIPE" Protocol_SCTP Protocol = "SCTP" Protocol_FC Protocol = "FC" Protocol_RSVP_E2E_IGNORE Protocol = "RSVP_E2E_IGNORE" Protocol_MOBILITY_HEADER Protocol = "MOBILITY_HEADER" Protocol_UDPLITE Protocol = "UDPLITE" Protocol_MPLS_IN_IP Protocol = "MPLS_IN_IP" Protocol_MANET Protocol = "MANET" Protocol_HIP Protocol = "HIP" Protocol_SHIM6 Protocol = "SHIM6" Protocol_WESP Protocol = "WESP" Protocol_ROHC Protocol = "ROHC" Protocol_ETHERNET Protocol = "ETHERNET" Protocol_EXPERIMENT_1 Protocol = "EXPERIMENT_1" Protocol_EXPERIMENT_2 Protocol = "EXPERIMENT_2" Protocol_RESERVED Protocol = "RESERVED" )
type PublicSubnet ¶
type PublicSubnet interface { Subnet IPublicSubnet // The Availability Zone the subnet is located in. AvailabilityZone() *string // Parts of this VPC subnet. DependencyElements() *[]constructs.IDependable // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // Dependable that can be depended upon to force internet connectivity established on the VPC. InternetConnectivityEstablished() constructs.IDependable // The IPv4 CIDR block for this subnet. Ipv4CidrBlock() *string // Network ACL associated with this Subnet. // // Upon creation, this is the default ACL which allows all traffic, except // explicit DENY entries that you add. // // You can replace it with a custom ACL which denies all traffic except // the explicit ALLOW entries that you add by creating a `NetworkAcl` // object and calling `associateNetworkAcl()`. NetworkAcl() INetworkAcl // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The routeTableId attached to this subnet. RouteTable() IRouteTable // The stack in which this resource is defined. Stack() awscdk.Stack SubnetAvailabilityZone() *string // The subnetId for this particular subnet. SubnetId() *string SubnetIpv6CidrBlocks() *[]*string SubnetNetworkAclAssociationId() *string // The Amazon Resource Name (ARN) of the Outpost for this subnet (if one exists). SubnetOutpostArn() *string SubnetVpcId() *string // Create a default route that points to a passed IGW, with a dependency on the IGW's attachment to the VPC. AddDefaultInternetRoute(gatewayId *string, gatewayAttachment constructs.IDependable) // Adds an entry to this subnets route table that points to the passed NATGatewayId. AddDefaultNatRoute(natGatewayId *string) // Creates a new managed NAT gateway attached to this public subnet. // // Also adds the EIP for the managed NAT. // // Returns: A ref to the the NAT Gateway ID. AddNatGateway(eipAllocationId *string) CfnNatGateway // Adds an entry to this subnets route table. AddRoute(id *string, options *AddRouteOptions) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Associate a Network ACL with this subnet. AssociateNetworkAcl(id *string, networkAcl INetworkAcl) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Represents a public VPC subnet resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" publicSubnet := awscdk.Aws_ec2.NewPublicSubnet(this, jsii.String("MyPublicSubnet"), &PublicSubnetProps{ AvailabilityZone: jsii.String("availabilityZone"), CidrBlock: jsii.String("cidrBlock"), VpcId: jsii.String("vpcId"), // the properties below are optional MapPublicIpOnLaunch: jsii.Boolean(false), })
func NewPublicSubnet ¶
func NewPublicSubnet(scope constructs.Construct, id *string, props *PublicSubnetProps) PublicSubnet
type PublicSubnetAttributes ¶
type PublicSubnetAttributes struct { // The subnetId for this particular subnet. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` // The Availability Zone the subnet is located in. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The IPv4 CIDR block associated with the subnet. Ipv4CidrBlock *string `field:"optional" json:"ipv4CidrBlock" yaml:"ipv4CidrBlock"` // The ID of the route table for this particular subnet. RouteTableId *string `field:"optional" json:"routeTableId" yaml:"routeTableId"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" publicSubnetAttributes := &PublicSubnetAttributes{ SubnetId: jsii.String("subnetId"), // the properties below are optional AvailabilityZone: jsii.String("availabilityZone"), Ipv4CidrBlock: jsii.String("ipv4CidrBlock"), RouteTableId: jsii.String("routeTableId"), }
type PublicSubnetProps ¶
type PublicSubnetProps struct { // The availability zone for the subnet. AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // The CIDR notation for this subnet. CidrBlock *string `field:"required" json:"cidrBlock" yaml:"cidrBlock"` // The VPC which this subnet is part of. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // Controls if a public IP is associated to an instance at launch. MapPublicIpOnLaunch *bool `field:"optional" json:"mapPublicIpOnLaunch" yaml:"mapPublicIpOnLaunch"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" publicSubnetProps := &PublicSubnetProps{ AvailabilityZone: jsii.String("availabilityZone"), CidrBlock: jsii.String("cidrBlock"), VpcId: jsii.String("vpcId"), // the properties below are optional MapPublicIpOnLaunch: jsii.Boolean(false), }
type RequestedSubnet ¶ added in v2.48.0
type RequestedSubnet struct { // The availability zone for the subnet. AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // Specify configuration parameters for a single subnet group in a VPC. Configuration *SubnetConfiguration `field:"required" json:"configuration" yaml:"configuration"` // Id for the Subnet construct. SubnetConstructId *string `field:"required" json:"subnetConstructId" yaml:"subnetConstructId"` }
Subnet requested for allocation.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" requestedSubnet := &RequestedSubnet{ AvailabilityZone: jsii.String("availabilityZone"), Configuration: &SubnetConfiguration{ Name: jsii.String("name"), SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, // the properties below are optional CidrMask: jsii.Number(123), MapPublicIpOnLaunch: jsii.Boolean(false), Reserved: jsii.Boolean(false), }, SubnetConstructId: jsii.String("subnetConstructId"), }
type RouterType ¶
type RouterType string
Type of router used in route.
Example:
vpc := ec2.NewVpc(this, jsii.String("VPC"), &VpcProps{ SubnetConfiguration: []subnetConfiguration{ &subnetConfiguration{ SubnetType: ec2.SubnetType_PUBLIC, Name: jsii.String("Public"), }, &subnetConfiguration{ SubnetType: ec2.SubnetType_PRIVATE_ISOLATED, Name: jsii.String("Isolated"), }, }, }) (vpc.IsolatedSubnets[0].(subnet)).AddRoute(jsii.String("StaticRoute"), &AddRouteOptions{ RouterId: vpc.InternetGatewayId, RouterType: ec2.RouterType_GATEWAY, DestinationCidrBlock: jsii.String("8.8.8.8/32"), })
const ( // Carrier gateway. RouterType_CARRIER_GATEWAY RouterType = "CARRIER_GATEWAY" // Egress-only Internet Gateway. RouterType_EGRESS_ONLY_INTERNET_GATEWAY RouterType = "EGRESS_ONLY_INTERNET_GATEWAY" // Internet Gateway. RouterType_GATEWAY RouterType = "GATEWAY" // Instance. RouterType_INSTANCE RouterType = "INSTANCE" // Local Gateway. RouterType_LOCAL_GATEWAY RouterType = "LOCAL_GATEWAY" // NAT Gateway. RouterType_NAT_GATEWAY RouterType = "NAT_GATEWAY" // Network Interface. RouterType_NETWORK_INTERFACE RouterType = "NETWORK_INTERFACE" // Transit Gateway. RouterType_TRANSIT_GATEWAY RouterType = "TRANSIT_GATEWAY" // VPC peering connection. RouterType_VPC_PEERING_CONNECTION RouterType = "VPC_PEERING_CONNECTION" // VPC Endpoint for gateway load balancers. RouterType_VPC_ENDPOINT RouterType = "VPC_ENDPOINT" )
type RuleScope ¶ added in v2.72.0
type RuleScope struct { // The construct ID to use for the rule. Id *string `field:"required" json:"id" yaml:"id"` // The SecurityGroup in which a rule should be scoped. Scope ISecurityGroup `field:"required" json:"scope" yaml:"scope"` }
The scope and id in which a given SecurityGroup rule should be defined.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var securityGroup securityGroup ruleScope := &RuleScope{ Id: jsii.String("id"), Scope: securityGroup, }
type S3DestinationOptions ¶ added in v2.31.0
type S3DestinationOptions struct { // The format for the flow log. FileFormat FlowLogFileFormat `field:"optional" json:"fileFormat" yaml:"fileFormat"` // Use Hive-compatible prefixes for flow logs stored in Amazon S3. HiveCompatiblePartitions *bool `field:"optional" json:"hiveCompatiblePartitions" yaml:"hiveCompatiblePartitions"` // Partition the flow log per hour. PerHourPartition *bool `field:"optional" json:"perHourPartition" yaml:"perHourPartition"` }
Options for writing logs to a S3 destination.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" s3DestinationOptions := &S3DestinationOptions{ FileFormat: awscdk.Aws_ec2.FlowLogFileFormat_PLAIN_TEXT, HiveCompatiblePartitions: jsii.Boolean(false), PerHourPartition: jsii.Boolean(false), }
type S3DownloadOptions ¶
type S3DownloadOptions struct { // Name of the S3 bucket to download from. Bucket awss3.IBucket `field:"required" json:"bucket" yaml:"bucket"` // The key of the file to download. BucketKey *string `field:"required" json:"bucketKey" yaml:"bucketKey"` // The name of the local file. LocalFile *string `field:"optional" json:"localFile" yaml:"localFile"` // The region of the S3 Bucket (needed for access via VPC Gateway). Region *string `field:"optional" json:"region" yaml:"region"` }
Options when downloading files from S3.
Example:
import "github.com/aws/aws-cdk-go/awscdk" var instance instance asset := awscdk.NewAsset(this, jsii.String("Asset"), &AssetProps{ Path: jsii.String("./configure.sh"), }) localPath := instance.UserData.AddS3DownloadCommand(&S3DownloadOptions{ Bucket: asset.Bucket, BucketKey: asset.S3ObjectKey, Region: jsii.String("us-east-1"), }) instance.UserData.AddExecuteFileCommand(&ExecuteFileOptions{ FilePath: localPath, Arguments: jsii.String("--verbose -y"), }) asset.GrantRead(instance.Role)
type SecurityGroup ¶
type SecurityGroup interface { awscdk.Resource ISecurityGroup // Whether the SecurityGroup has been configured to allow all outbound ipv6 traffic. AllowAllIpv6Outbound() *bool // Whether the SecurityGroup has been configured to allow all outbound traffic. AllowAllOutbound() *bool // Whether the rule can be inlined into a SecurityGroup or not. CanInlineRule() *bool // The network connections associated with this resource. Connections() Connections DefaultPort() Port // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The ID of the security group. SecurityGroupId() *string // The VPC ID this security group is part of. SecurityGroupVpcId() *string // The stack in which this resource is defined. Stack() awscdk.Stack // A unique identifier for this connection peer. UniqueId() *string // Add an egress rule for the current security group. // // `remoteRule` controls where the Rule object is created if the peer is also a // securityGroup and they are in different stack. If false (default) the // rule object is created under the current SecurityGroup object. If true and the // peer is also a SecurityGroup, the rule object is created under the remote // SecurityGroup object. AddEgressRule(peer IPeer, connection Port, description *string, remoteRule *bool) // Add an ingress rule for the current security group. // // `remoteRule` controls where the Rule object is created if the peer is also a // securityGroup and they are in different stack. If false (default) the // rule object is created under the current SecurityGroup object. If true and the // peer is also a SecurityGroup, the rule object is created under the remote // SecurityGroup object. AddIngressRule(peer IPeer, connection Port, description *string, remoteRule *bool) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Determine where to parent a new ingress/egress rule. // // A SecurityGroup rule is parented under the group it's related to, UNLESS // we're in a cross-stack scenario with another Security Group. In that case, // we respect the 'remoteRule' flag and will parent under the other security // group. // // This is necessary to avoid cyclic dependencies between stacks, since both // ingress and egress rules will reference both security groups, and a naive // parenting will lead to the following situation: // // ╔════════════════════╗ ╔════════════════════╗ // ║ ┌───────────┐ ║ ║ ┌───────────┐ ║ // ║ │ GroupA │◀────╬─┐ ┌───╬───▶│ GroupB │ ║ // ║ └───────────┘ ║ │ │ ║ └───────────┘ ║ // ║ ▲ ║ │ │ ║ ▲ ║ // ║ │ ║ │ │ ║ │ ║ // ║ │ ║ │ │ ║ │ ║ // ║ ┌───────────┐ ║ └───┼───╬────┌───────────┐ ║ // ║ │ EgressA │─────╬─────┘ ║ │ IngressB │ ║ // ║ └───────────┘ ║ ║ └───────────┘ ║ // ║ ║ ║ ║ // ╚════════════════════╝ ╚════════════════════╝ // // By having the ability to switch the parent, we avoid the cyclic reference by // keeping all rules in a single stack. // // If this happens, we also have to change the construct ID, because // otherwise we might have two objects with the same ID if we have // multiple reversed security group relationships. // // ╔═══════════════════════════════════╗ // ║┌───────────┐ ║ // ║│ GroupB │ ║ // ║└───────────┘ ║ // ║ ▲ ║ // ║ │ ┌───────────┐ ║ // ║ ├────"from A"──│ IngressB │ ║ // ║ │ └───────────┘ ║ // ║ │ ┌───────────┐ ║ // ║ ├─────"to B"───│ EgressA │ ║ // ║ │ └───────────┘ ║ // ║ │ ┌───────────┐ ║ // ║ └─────"to B"───│ EgressC │ ║ <-- oops // ║ └───────────┘ ║ // ╚═══════════════════════════════════╝. DetermineRuleScope(peer IPeer, connection Port, fromTo *string, remoteRule *bool) *RuleScope GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Produce the egress rule JSON for the given connection. ToEgressRuleConfig() interface{} // Produce the ingress rule JSON for the given connection. ToIngressRuleConfig() interface{} // Returns a string representation of this construct. ToString() *string }
Creates an Amazon EC2 security group within a VPC.
Security Groups act like a firewall with a set of rules, and are associated with any AWS resource that has or creates Elastic Network Interfaces (ENIs). A typical example of a resource that has a security group is an Instance (or Auto Scaling Group of instances)
If you are defining new infrastructure in CDK, there is a good chance you won't have to interact with this class at all. Like IAM Roles, Security Groups need to exist to control access between AWS resources, but CDK will automatically generate and populate them with least-privilege permissions for you so you can concentrate on your business logic.
All Constructs that require Security Groups will create one for you if you don't specify one at construction. After construction, you can selectively allow connections to and between constructs via--for example-- the `instance.connections` object. Think of it as "allowing connections to your instance", rather than "adding ingress rules a security group". See the [Allowing Connections](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-ec2-readme.html#allowing-connections) section in the library documentation for examples.
Direct manipulation of the Security Group through `addIngressRule` and `addEgressRule` is possible, but mutation through the `.connections` object is recommended. If you peer two constructs with security groups this way, appropriate rules will be created in both.
If you have an existing security group you want to use in your CDK application, you would import it like this:
```ts
const securityGroup = ec2.SecurityGroup.fromSecurityGroupId(this, 'SG', 'sg-12345', { mutable: false });
```.
Example:
var vpc vpc template := ec2.NewLaunchTemplate(this, jsii.String("LaunchTemplate"), &LaunchTemplateProps{ MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), SecurityGroup: ec2.NewSecurityGroup(this, jsii.String("LaunchTemplateSG"), &SecurityGroupProps{ Vpc: vpc, }), })
func NewSecurityGroup ¶
func NewSecurityGroup(scope constructs.Construct, id *string, props *SecurityGroupProps) SecurityGroup
type SecurityGroupImportOptions ¶
type SecurityGroupImportOptions struct { // Mark the SecurityGroup as having been created allowing all outbound ipv6 traffic. // // Only if this is set to false will egress rules for ipv6 be added to this security // group. Be aware, this would undo any potential "all outbound traffic" // default. AllowAllIpv6Outbound *bool `field:"optional" json:"allowAllIpv6Outbound" yaml:"allowAllIpv6Outbound"` // Mark the SecurityGroup as having been created allowing all outbound traffic. // // Only if this is set to false will egress rules be added to this security // group. Be aware, this would undo any potential "all outbound traffic" // default. AllowAllOutbound *bool `field:"optional" json:"allowAllOutbound" yaml:"allowAllOutbound"` // If a SecurityGroup is mutable CDK can add rules to existing groups. // // Beware that making a SecurityGroup immutable might lead to issue // due to missing ingress/egress rules for new resources. Mutable *bool `field:"optional" json:"mutable" yaml:"mutable"` }
Additional options for imported security groups.
Example:
securityGroup := ec2.SecurityGroup_FromSecurityGroupId(this, jsii.String("SG"), jsii.String("sg-12345"), &SecurityGroupImportOptions{ Mutable: jsii.Boolean(false), })
type SecurityGroupProps ¶
type SecurityGroupProps struct { // The VPC in which to create the security group. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` // Whether to allow all outbound ipv6 traffic by default. // // If this is set to true, there will only be a single egress rule which allows all // outbound ipv6 traffic. If this is set to false, no outbound traffic will be allowed by // default and all egress ipv6 traffic must be explicitly authorized. // // To allow all ipv4 traffic use allowAllOutbound. AllowAllIpv6Outbound *bool `field:"optional" json:"allowAllIpv6Outbound" yaml:"allowAllIpv6Outbound"` // Whether to allow all outbound traffic by default. // // If this is set to true, there will only be a single egress rule which allows all // outbound traffic. If this is set to false, no outbound traffic will be allowed by // default and all egress traffic must be explicitly authorized. // // To allow all ipv6 traffic use allowAllIpv6Outbound. AllowAllOutbound *bool `field:"optional" json:"allowAllOutbound" yaml:"allowAllOutbound"` // A description of the security group. Description *string `field:"optional" json:"description" yaml:"description"` // Whether to disable inline ingress and egress rule optimization. // // If this is set to true, ingress and egress rules will not be declared under the // SecurityGroup in cloudformation, but will be separate elements. // // Inlining rules is an optimization for producing smaller stack templates. Sometimes // this is not desirable, for example when security group access is managed via tags. // // The default value can be overriden globally by setting the context variable // '@aws-cdk/aws-ec2.securityGroupDisableInlineRules'. DisableInlineRules *bool `field:"optional" json:"disableInlineRules" yaml:"disableInlineRules"` // The name of the security group. // // For valid values, see the GroupName // parameter of the CreateSecurityGroup action in the Amazon EC2 API // Reference. // // It is not recommended to use an explicit group name. SecurityGroupName *string `field:"optional" json:"securityGroupName" yaml:"securityGroupName"` }
Example:
// Stack 1 var stack1 stack var stack2 stack sg1 := ec2.NewSecurityGroup(stack1, jsii.String("SG1"), &SecurityGroupProps{ AllowAllOutbound: jsii.Boolean(false), // if this is `true` then no egress rule will be created Vpc: Vpc, }) // Stack 2 sg2 := ec2.NewSecurityGroup(stack2, jsii.String("SG2"), &SecurityGroupProps{ AllowAllOutbound: jsii.Boolean(false), // if this is `true` then no egress rule will be created Vpc: Vpc, }) // `connections.allowTo` on `sg1` since we want the // rules to be created in Stack1 sg1.connections.AllowTo(sg2, ec2.Port_Tcp(jsii.Number(3333)))
type SelectedSubnets ¶
type SelectedSubnets struct { // The respective AZs of each subnet. AvailabilityZones *[]*string `field:"required" json:"availabilityZones" yaml:"availabilityZones"` // Whether any of the given subnets are from the VPC's public subnets. HasPublic *bool `field:"required" json:"hasPublic" yaml:"hasPublic"` // Dependency representing internet connectivity for these subnets. InternetConnectivityEstablished constructs.IDependable `field:"required" json:"internetConnectivityEstablished" yaml:"internetConnectivityEstablished"` // The subnet IDs. SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"` // Selected subnet objects. Subnets *[]ISubnet `field:"required" json:"subnets" yaml:"subnets"` // The subnet selection is not actually real yet. // // If this value is true, don't validate anything about the subnets. The count // or identities are not known yet, and the validation will most likely fail // which will prevent a successful lookup. IsPendingLookup *bool `field:"optional" json:"isPendingLookup" yaml:"isPendingLookup"` }
Result of selecting a subset of subnets from a VPC.
Example:
vpc := ec2.NewVpc(this, jsii.String("TheVPC"), &VpcProps{ IpAddresses: ec2.IpAddresses_Cidr(jsii.String("10.0.0.0/16")), }) // Iterate the private subnets selection := vpc.selectSubnets(&SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }) for _, subnet := range selection.Subnets {}
type ServiceManager ¶ added in v2.70.0
type ServiceManager string
The service manager that will be used by InitServices.
The value needs to match the service manager used by your operating system.
Example:
var vpc vpc var instanceType instanceType ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), Init: ec2.CloudFormationInit_FromElements(ec2.InitService_SystemdConfigFile(jsii.String("simpleserver"), &SystemdConfigFileOptions{ Command: jsii.String("/usr/bin/python3 -m http.server 8080"), Cwd: jsii.String("/var/www/html"), }), ec2.InitService_Enable(jsii.String("simpleserver"), &InitServiceOptions{ ServiceManager: ec2.ServiceManager_SYSTEMD, }), ec2.InitFile_FromString(jsii.String("/var/www/html/index.html"), jsii.String("Hello! It's working!"))), })
const ( // Use SysVinit. // // This is the default for Linux systems. ServiceManager_SYSVINIT ServiceManager = "SYSVINIT" // Use Windows. // // This is the default for Windows systems. ServiceManager_WINDOWS ServiceManager = "WINDOWS" // Use systemd. ServiceManager_SYSTEMD ServiceManager = "SYSTEMD" )
type SpotInstanceInterruption ¶
type SpotInstanceInterruption string
Provides the options for the types of interruption for spot instances.
const ( // The instance will stop when interrupted. SpotInstanceInterruption_STOP SpotInstanceInterruption = "STOP" // The instance will be terminated when interrupted. SpotInstanceInterruption_TERMINATE SpotInstanceInterruption = "TERMINATE" // The instance will hibernate when interrupted. SpotInstanceInterruption_HIBERNATE SpotInstanceInterruption = "HIBERNATE" )
type SpotRequestType ¶
type SpotRequestType string
The Spot Instance request type. See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html
const ( // A one-time Spot Instance request remains active until Amazon EC2 launches the Spot Instance, the request expires, or you cancel the request. // // If the Spot price exceeds your maximum price // or capacity is not available, your Spot Instance is terminated and the Spot Instance request // is closed. SpotRequestType_ONE_TIME SpotRequestType = "ONE_TIME" // A persistent Spot Instance request remains active until it expires or you cancel it, even if the request is fulfilled. // // If the Spot price exceeds your maximum price or capacity is not available, // your Spot Instance is interrupted. After your instance is interrupted, when your maximum price exceeds // the Spot price or capacity becomes available again, the Spot Instance is started if stopped or resumed // if hibernated. SpotRequestType_PERSISTENT SpotRequestType = "PERSISTENT" )
type SsmParameterImageOptions ¶
type SsmParameterImageOptions struct { // Whether the AMI ID is cached to be stable between deployments. // // By default, the newest image is used on each deployment. This will cause // instances to be replaced whenever a new version is released, and may cause // downtime if there aren't enough running instances in the AutoScalingGroup // to reschedule the tasks on. // // If set to true, the AMI ID will be cached in `cdk.context.json` and the // same value will be used on future runs. Your instances will not be replaced // but your AMI version will grow old over time. To refresh the AMI lookup, // you will have to evict the value from the cache using the `cdk context` // command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for // more information. // // Can not be set to `true` in environment-agnostic stacks. CachedInContext *bool `field:"optional" json:"cachedInContext" yaml:"cachedInContext"` // Operating system. Os OperatingSystemType `field:"optional" json:"os" yaml:"os"` // Custom UserData. UserData UserData `field:"optional" json:"userData" yaml:"userData"` }
Properties for GenericSsmParameterImage.
Example:
// Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.MachineImage_LatestAmazonLinux(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, CpuType: ec2.AmazonLinuxCpuType_X86_64, }) // Pick a Windows edition to use windows := ec2.MachineImage_LatestWindows(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Read AMI id from SSM parameter store ssm := ec2.MachineImage_FromSsmParameter(jsii.String("/my/ami"), &SsmParameterImageOptions{ Os: ec2.OperatingSystemType_LINUX, }) // Look up the most recent image matching a set of AMI filters. // In this case, look up the NAT instance AMI, by using a wildcard // in the 'name' field: natAmi := ec2.MachineImage_Lookup(&LookupMachineImageProps{ Name: jsii.String("amzn-ami-vpc-nat-*"), Owners: []*string{ jsii.String("amazon"), }, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.MachineImage_GenericLinux(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), }) // For other custom (Windows) images, instantiate a `GenericWindowsImage` with // a map giving the AMI to in for each region: genericWindows := ec2.MachineImage_GenericWindows(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
type Subnet ¶
type Subnet interface { awscdk.Resource ISubnet // The Availability Zone the subnet is located in. AvailabilityZone() *string // Parts of this VPC subnet. DependencyElements() *[]constructs.IDependable // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // Dependable that can be depended upon to force internet connectivity established on the VPC. InternetConnectivityEstablished() constructs.IDependable // The IPv4 CIDR block for this subnet. Ipv4CidrBlock() *string // Network ACL associated with this Subnet. // // Upon creation, this is the default ACL which allows all traffic, except // explicit DENY entries that you add. // // You can replace it with a custom ACL which denies all traffic except // the explicit ALLOW entries that you add by creating a `NetworkAcl` // object and calling `associateNetworkAcl()`. NetworkAcl() INetworkAcl // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The routeTableId attached to this subnet. RouteTable() IRouteTable // The stack in which this resource is defined. Stack() awscdk.Stack SubnetAvailabilityZone() *string // The subnetId for this particular subnet. SubnetId() *string SubnetIpv6CidrBlocks() *[]*string SubnetNetworkAclAssociationId() *string // The Amazon Resource Name (ARN) of the Outpost for this subnet (if one exists). SubnetOutpostArn() *string SubnetVpcId() *string // Create a default route that points to a passed IGW, with a dependency on the IGW's attachment to the VPC. AddDefaultInternetRoute(gatewayId *string, gatewayAttachment constructs.IDependable) // Adds an entry to this subnets route table that points to the passed NATGatewayId. AddDefaultNatRoute(natGatewayId *string) // Adds an entry to this subnets route table. AddRoute(id *string, options *AddRouteOptions) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Associate a Network ACL with this subnet. AssociateNetworkAcl(id *string, networkAcl INetworkAcl) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Represents a new VPC subnet resource.
Example:
var cluster cluster loadBalancedFargateService := ecsPatterns.NewApplicationLoadBalancedFargateService(this, jsii.String("Service"), &ApplicationLoadBalancedFargateServiceProps{ Cluster: Cluster, MemoryLimitMiB: jsii.Number(1024), DesiredCount: jsii.Number(1), Cpu: jsii.Number(512), TaskImageOptions: &ApplicationLoadBalancedTaskImageOptions{ Image: ecs.ContainerImage_FromRegistry(jsii.String("amazon/amazon-ecs-sample")), }, TaskSubnets: &SubnetSelection{ Subnets: []iSubnet{ ec2.Subnet_FromSubnetId(this, jsii.String("subnet"), jsii.String("VpcISOLATEDSubnet1Subnet80F07FA0")), }, }, })
func NewSubnet ¶
func NewSubnet(scope constructs.Construct, id *string, props *SubnetProps) Subnet
type SubnetAttributes ¶
type SubnetAttributes struct { // The subnetId for this particular subnet. SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"` // The Availability Zone the subnet is located in. AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The IPv4 CIDR block associated with the subnet. Ipv4CidrBlock *string `field:"optional" json:"ipv4CidrBlock" yaml:"ipv4CidrBlock"` // The ID of the route table for this particular subnet. RouteTableId *string `field:"optional" json:"routeTableId" yaml:"routeTableId"` }
Example:
// Supply all properties subnet1 := ec2.Subnet_FromSubnetAttributes(this, jsii.String("SubnetFromAttributes"), &SubnetAttributes{ SubnetId: jsii.String("s-1234"), AvailabilityZone: jsii.String("pub-az-4465"), RouteTableId: jsii.String("rt-145"), }) // Supply only subnet id subnet2 := ec2.Subnet_FromSubnetId(this, jsii.String("SubnetFromId"), jsii.String("s-1234"))
type SubnetConfiguration ¶
type SubnetConfiguration struct { // Logical name for the subnet group. // // This name can be used when selecting VPC subnets to distinguish // between different subnet groups of the same type. Name *string `field:"required" json:"name" yaml:"name"` // The type of Subnet to configure. // // The Subnet type will control the ability to route and connect to the // Internet. SubnetType SubnetType `field:"required" json:"subnetType" yaml:"subnetType"` // The number of leading 1 bits in the routing mask. // // The number of available IP addresses in each subnet of this group // will be equal to `2^(32 - cidrMask) - 2`. // // Valid values are `16--28`. CidrMask *float64 `field:"optional" json:"cidrMask" yaml:"cidrMask"` // Controls if a public IP is associated to an instance at launch. MapPublicIpOnLaunch *bool `field:"optional" json:"mapPublicIpOnLaunch" yaml:"mapPublicIpOnLaunch"` // Controls if subnet IP space needs to be reserved. // // When true, the IP space for the subnet is reserved but no actual // resources are provisioned. This space is only dependent on the // number of availability zones and on `cidrMask` - all other subnet // properties are ignored. Reserved *bool `field:"optional" json:"reserved" yaml:"reserved"` }
Specify configuration parameters for a single subnet group in a VPC.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" subnetConfiguration := &SubnetConfiguration{ Name: jsii.String("name"), SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, // the properties below are optional CidrMask: jsii.Number(123), MapPublicIpOnLaunch: jsii.Boolean(false), Reserved: jsii.Boolean(false), }
type SubnetFilter ¶
type SubnetFilter interface { // Executes the subnet filtering logic, returning a filtered set of subnets. SelectSubnets(_subnets *[]ISubnet) *[]ISubnet }
Contains logic which chooses a set of subnets from a larger list, in conjunction with SubnetSelection, to determine where to place AWS resources such as VPC endpoints, EC2 instances, etc.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" subnetFilter := awscdk.Aws_ec2.SubnetFilter_AvailabilityZones([]*string{ jsii.String("availabilityZones"), })
func SubnetFilter_AvailabilityZones ¶
func SubnetFilter_AvailabilityZones(availabilityZones *[]*string) SubnetFilter
Chooses subnets which are in one of the given availability zones.
func SubnetFilter_ByCidrMask ¶
func SubnetFilter_ByCidrMask(mask *float64) SubnetFilter
Chooses subnets which have the provided CIDR netmask.
func SubnetFilter_ByIds ¶
func SubnetFilter_ByIds(subnetIds *[]*string) SubnetFilter
Chooses subnets by id.
func SubnetFilter_ContainsIpAddresses ¶
func SubnetFilter_ContainsIpAddresses(ipv4addrs *[]*string) SubnetFilter
Chooses subnets which contain any of the specified IP addresses.
func SubnetFilter_OnePerAz ¶
func SubnetFilter_OnePerAz() SubnetFilter
Chooses subnets such that there is at most one per availability zone.
type SubnetIpamOptions ¶ added in v2.48.0
type SubnetIpamOptions struct { // Cidr Allocations for Subnets. AllocatedSubnets *[]*AllocatedSubnet `field:"required" json:"allocatedSubnets" yaml:"allocatedSubnets"` }
Cidr Allocated Subnets.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" subnetIpamOptions := &SubnetIpamOptions{ AllocatedSubnets: []allocatedSubnet{ &allocatedSubnet{ Cidr: jsii.String("cidr"), }, }, }
type SubnetNetworkAclAssociation ¶
type SubnetNetworkAclAssociation interface { awscdk.Resource ISubnetNetworkAclAssociation // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // ID for the current Network ACL. NetworkAcl() INetworkAcl // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // ID of the Subnet. Subnet() ISubnet // ID for the current SubnetNetworkAclAssociation. SubnetNetworkAclAssociationAssociationId() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var networkAcl networkAcl var subnet subnet subnetNetworkAclAssociation := awscdk.Aws_ec2.NewSubnetNetworkAclAssociation(this, jsii.String("MySubnetNetworkAclAssociation"), &SubnetNetworkAclAssociationProps{ NetworkAcl: networkAcl, Subnet: subnet, // the properties below are optional SubnetNetworkAclAssociationName: jsii.String("subnetNetworkAclAssociationName"), })
func NewSubnetNetworkAclAssociation ¶
func NewSubnetNetworkAclAssociation(scope constructs.Construct, id *string, props *SubnetNetworkAclAssociationProps) SubnetNetworkAclAssociation
type SubnetNetworkAclAssociationProps ¶
type SubnetNetworkAclAssociationProps struct { // The Network ACL this association is defined for. NetworkAcl INetworkAcl `field:"required" json:"networkAcl" yaml:"networkAcl"` // ID of the Subnet. Subnet ISubnet `field:"required" json:"subnet" yaml:"subnet"` // The name of the SubnetNetworkAclAssociation. // // It is not recommended to use an explicit name. SubnetNetworkAclAssociationName *string `field:"optional" json:"subnetNetworkAclAssociationName" yaml:"subnetNetworkAclAssociationName"` }
Properties to create a SubnetNetworkAclAssociation.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var networkAcl networkAcl var subnet subnet subnetNetworkAclAssociationProps := &SubnetNetworkAclAssociationProps{ NetworkAcl: networkAcl, Subnet: subnet, // the properties below are optional SubnetNetworkAclAssociationName: jsii.String("subnetNetworkAclAssociationName"), }
type SubnetProps ¶
type SubnetProps struct { // The availability zone for the subnet. AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // The CIDR notation for this subnet. CidrBlock *string `field:"required" json:"cidrBlock" yaml:"cidrBlock"` // The VPC which this subnet is part of. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // Controls if a public IP is associated to an instance at launch. MapPublicIpOnLaunch *bool `field:"optional" json:"mapPublicIpOnLaunch" yaml:"mapPublicIpOnLaunch"` }
Specify configuration parameters for a VPC subnet.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" subnetProps := &SubnetProps{ AvailabilityZone: jsii.String("availabilityZone"), CidrBlock: jsii.String("cidrBlock"), VpcId: jsii.String("vpcId"), // the properties below are optional MapPublicIpOnLaunch: jsii.Boolean(false), }
type SubnetSelection ¶
type SubnetSelection struct { // Select subnets only in the given AZs. AvailabilityZones *[]*string `field:"optional" json:"availabilityZones" yaml:"availabilityZones"` // If true, return at most one subnet per AZ. OnePerAz *bool `field:"optional" json:"onePerAz" yaml:"onePerAz"` // List of provided subnet filters. SubnetFilters *[]SubnetFilter `field:"optional" json:"subnetFilters" yaml:"subnetFilters"` // Select the subnet group with the given name. // // Select the subnet group with the given name. This only needs // to be used if you have multiple subnet groups of the same type // and you need to distinguish between them. Otherwise, prefer // `subnetType`. // // This field does not select individual subnets, it selects all subnets that // share the given subnet group name. This is the name supplied in // `subnetConfiguration`. // // At most one of `subnetType` and `subnetGroupName` can be supplied. SubnetGroupName *string `field:"optional" json:"subnetGroupName" yaml:"subnetGroupName"` // Explicitly select individual subnets. // // Use this if you don't want to automatically use all subnets in // a group, but have a need to control selection down to // individual subnets. // // Cannot be specified together with `subnetType` or `subnetGroupName`. Subnets *[]ISubnet `field:"optional" json:"subnets" yaml:"subnets"` // Select all subnets of the given type. // // At most one of `subnetType` and `subnetGroupName` can be supplied. SubnetType SubnetType `field:"optional" json:"subnetType" yaml:"subnetType"` }
Customize subnets that are selected for placement of ENIs.
Constructs that allow customization of VPC placement use parameters of this type to provide placement settings.
By default, the instances are placed in the private subnets.
Example:
var vpc vpc cluster := docdb.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ MasterUser: &Login{ Username: jsii.String("myuser"), // NOTE: 'admin' is reserved by DocumentDB ExcludeCharacters: jsii.String("\"@/:"), // optional, defaults to the set "\"@/" and is also used for eventually created rotations SecretName: jsii.String("/myapp/mydocdb/masteruser"), }, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_MEMORY5, ec2.InstanceSize_LARGE), VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PUBLIC, }, Vpc: Vpc, })
type SubnetType ¶
type SubnetType string
The type of Subnet.
Example:
// Example automatically generated from non-compiling source. May contain errors. var vpc vpc cluster := rds.NewDatabaseCluster(stack, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_03_0(), }), Instances: jsii.Number(2), InstanceProps: &InstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PUBLIC, }, Vpc: *Vpc, }, })
const ( // Isolated Subnets do not route traffic to the Internet (in this VPC), and as such, do not require NAT gateways. // // Isolated subnets can only connect to or be connected to from other // instances in the same VPC. A default VPC configuration will not include // isolated subnets. // // This can be good for subnets with RDS or Elasticache instances, // or which route Internet traffic through a peer VPC. SubnetType_PRIVATE_ISOLATED SubnetType = "PRIVATE_ISOLATED" // Subnet that routes to the internet, but not vice versa. // // Instances in a private subnet can connect to the Internet, but will not // allow connections to be initiated from the Internet. Egress to the internet will // need to be provided. // NAT Gateway(s) are the default solution to providing this subnet type the ability to route Internet traffic. // If a NAT Gateway is not required or desired, set `natGateways:0` or use // `SubnetType.PRIVATE_ISOLATED` instead. // // By default, a NAT gateway is created in every public subnet for maximum availability. // Be aware that you will be charged for NAT gateways. // // Normally a Private subnet will use a NAT gateway in the same AZ, but // if `natGateways` is used to reduce the number of NAT gateways, a NAT // gateway from another AZ will be used instead. SubnetType_PRIVATE_WITH_EGRESS SubnetType = "PRIVATE_WITH_EGRESS" // Subnet that routes to the internet (via a NAT gateway), but not vice versa. // // Instances in a private subnet can connect to the Internet, but will not // allow connections to be initiated from the Internet. NAT Gateway(s) are // required with this subnet type to route the Internet traffic through. // If a NAT Gateway is not required or desired, use `SubnetType.PRIVATE_ISOLATED` instead. // // By default, a NAT gateway is created in every public subnet for maximum availability. // Be aware that you will be charged for NAT gateways. // // Normally a Private subnet will use a NAT gateway in the same AZ, but // if `natGateways` is used to reduce the number of NAT gateways, a NAT // gateway from another AZ will be used instead. // Deprecated: use `PRIVATE_WITH_EGRESS`. SubnetType_PRIVATE_WITH_NAT SubnetType = "PRIVATE_WITH_NAT" // Subnet connected to the Internet. // // Instances in a Public subnet can connect to the Internet and can be // connected to from the Internet as long as they are launched with public // IPs (controlled on the AutoScalingGroup or other constructs that launch // instances). // // Public subnets route outbound traffic via an Internet Gateway. SubnetType_PUBLIC SubnetType = "PUBLIC" )
type SystemdConfigFileOptions ¶ added in v2.70.0
type SystemdConfigFileOptions struct { // The command to run to start this service. Command *string `field:"required" json:"command" yaml:"command"` // Start the service after the networking part of the OS comes up. AfterNetwork *bool `field:"optional" json:"afterNetwork" yaml:"afterNetwork"` // The working directory for the command. Cwd *string `field:"optional" json:"cwd" yaml:"cwd"` // A description of this service. Description *string `field:"optional" json:"description" yaml:"description"` // The group to execute the process under. Group *string `field:"optional" json:"group" yaml:"group"` // Keep the process running all the time. // // Restarts the process when it exits for any reason other // than the machine shutting down. KeepRunning *bool `field:"optional" json:"keepRunning" yaml:"keepRunning"` // The user to execute the process under. User *string `field:"optional" json:"user" yaml:"user"` }
Options for creating a SystemD configuration file.
Example:
var vpc vpc var instanceType instanceType ec2.NewInstance(this, jsii.String("Instance"), &InstanceProps{ Vpc: Vpc, InstanceType: InstanceType, MachineImage: ec2.MachineImage_LatestAmazonLinux2022(), Init: ec2.CloudFormationInit_FromElements(ec2.InitService_SystemdConfigFile(jsii.String("simpleserver"), &SystemdConfigFileOptions{ Command: jsii.String("/usr/bin/python3 -m http.server 8080"), Cwd: jsii.String("/var/www/html"), }), ec2.InitService_Enable(jsii.String("simpleserver"), &InitServiceOptions{ ServiceManager: ec2.ServiceManager_SYSTEMD, }), ec2.InitFile_FromString(jsii.String("/var/www/html/index.html"), jsii.String("Hello! It's working!"))), })
type TrafficDirection ¶
type TrafficDirection string
Direction of traffic the AclEntry applies to.
const ( // Traffic leaving the subnet. TrafficDirection_EGRESS TrafficDirection = "EGRESS" // Traffic entering the subnet. TrafficDirection_INGRESS TrafficDirection = "INGRESS" )
type TransportProtocol ¶
type TransportProtocol string
Transport protocol for client VPN.
const ( // Transmission Control Protocol (TCP). TransportProtocol_TCP TransportProtocol = "TCP" // User Datagram Protocol (UDP). TransportProtocol_UDP TransportProtocol = "UDP" )
type UserData ¶
type UserData interface { // Add one or more commands to the user data. AddCommands(commands ...*string) // Adds commands to execute a file. AddExecuteFileCommand(params *ExecuteFileOptions) // Add one or more commands to the user data that will run when the script exits. AddOnExitCommands(commands ...*string) // Adds commands to download a file from S3. // // Returns: : The local path that the file will be downloaded to. AddS3DownloadCommand(params *S3DownloadOptions) *string // Adds a command which will send a cfn-signal when the user data script ends. AddSignalOnExitCommand(resource awscdk.Resource) // Render the UserData for use in a construct. Render() *string }
Instance User Data.
Example:
multipartUserData := ec2.NewMultipartUserData() commandsUserData := ec2.UserData_ForLinux() multipartUserData.AddUserDataPart(commandsUserData, ec2.MultipartBody_SHELL_SCRIPT(), jsii.Boolean(true)) // Adding commands to the multipartUserData adds them to commandsUserData, and vice-versa. multipartUserData.AddCommands(jsii.String("touch /root/multi.txt")) commandsUserData.AddCommands(jsii.String("touch /root/userdata.txt"))
func MultipartUserData_Custom ¶
Create a userdata object with custom content.
func MultipartUserData_ForLinux ¶
func MultipartUserData_ForLinux(options *LinuxUserDataOptions) UserData
Create a userdata object for Linux hosts.
func MultipartUserData_ForOperatingSystem ¶
func MultipartUserData_ForOperatingSystem(os OperatingSystemType) UserData
func MultipartUserData_ForWindows ¶
func MultipartUserData_ForWindows(options *WindowsUserDataOptions) UserData
Create a userdata object for Windows hosts.
func UserData_Custom ¶
Create a userdata object with custom content.
func UserData_ForLinux ¶
func UserData_ForLinux(options *LinuxUserDataOptions) UserData
Create a userdata object for Linux hosts.
func UserData_ForOperatingSystem ¶
func UserData_ForOperatingSystem(os OperatingSystemType) UserData
func UserData_ForWindows ¶
func UserData_ForWindows(options *WindowsUserDataOptions) UserData
Create a userdata object for Windows hosts.
type Volume ¶
type Volume interface { awscdk.Resource IVolume // The availability zone that the EBS Volume is contained within (ex: us-west-2a). AvailabilityZone() *string // The customer-managed encryption key that is used to encrypt the Volume. EncryptionKey() awskms.IKey // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The EBS Volume's ID. VolumeId() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grants permission to attach this Volume to an instance. // // CAUTION: Granting an instance permission to attach to itself using this method will lead to // an unresolvable circular reference between the instance role and the instance. // Use `IVolume.grantAttachVolumeToSelf` to grant an instance permission to attach this // volume to itself. GrantAttachVolume(grantee awsiam.IGrantable, instances *[]IInstance) awsiam.Grant // Grants permission to attach the Volume by a ResourceTag condition. // // If you are looking to // grant an Instance, AutoScalingGroup, EC2-Fleet, SpotFleet, ECS host, etc the ability to attach // this volume to **itself** then this is the method you want to use. // // This is implemented by adding a Tag with key `VolumeGrantAttach-<suffix>` to the given // constructs and this Volume, and then conditioning the Grant such that the grantee is only // given the ability to AttachVolume if both the Volume and the destination Instance have that // tag applied to them. GrantAttachVolumeByResourceTag(grantee awsiam.IGrantable, constructs *[]constructs.Construct, tagKeySuffix *string) awsiam.Grant // Grants permission to detach this Volume from an instance CAUTION: Granting an instance permission to detach from itself using this method will lead to an unresolvable circular reference between the instance role and the instance. // // Use `IVolume.grantDetachVolumeFromSelf` to grant an instance permission to detach this // volume from itself. GrantDetachVolume(grantee awsiam.IGrantable, instances *[]IInstance) awsiam.Grant // Grants permission to detach the Volume by a ResourceTag condition. // // This is implemented via the same mechanism as `IVolume.grantAttachVolumeByResourceTag`, // and is subject to the same conditions. GrantDetachVolumeByResourceTag(grantee awsiam.IGrantable, constructs *[]constructs.Construct, tagKeySuffix *string) awsiam.Grant // Returns a string representation of this construct. ToString() *string ValidateProps(props *VolumeProps) }
Creates a new EBS Volume in AWS EC2.
Example:
var instance instance var role role volume := ec2.NewVolume(this, jsii.String("Volume"), &VolumeProps{ AvailabilityZone: jsii.String("us-west-2a"), Size: awscdk.Size_Gibibytes(jsii.Number(500)), Encrypted: jsii.Boolean(true), }) volume.grantAttachVolume(role, []iInstance{ instance, })
func NewVolume ¶
func NewVolume(scope constructs.Construct, id *string, props *VolumeProps) Volume
type VolumeAttributes ¶
type VolumeAttributes struct { // The availability zone that the EBS Volume is contained within (ex: us-west-2a). AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // The EBS Volume's ID. VolumeId *string `field:"required" json:"volumeId" yaml:"volumeId"` // The customer-managed encryption key that is used to encrypt the Volume. EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` }
Attributes required to import an existing EBS Volume into the Stack.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var key key volumeAttributes := &VolumeAttributes{ AvailabilityZone: jsii.String("availabilityZone"), VolumeId: jsii.String("volumeId"), // the properties below are optional EncryptionKey: key, }
type VolumeProps ¶
type VolumeProps struct { // The Availability Zone in which to create the volume. AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"` // Indicates whether the volume is auto-enabled for I/O operations. // // By default, Amazon EBS disables I/O to the volume from attached EC2 // instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and // you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O. AutoEnableIo *bool `field:"optional" json:"autoEnableIo" yaml:"autoEnableIo"` // Indicates whether Amazon EBS Multi-Attach is enabled. // // See [Considerations and limitations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html#considerations) // for the constraints of multi-attach. EnableMultiAttach *bool `field:"optional" json:"enableMultiAttach" yaml:"enableMultiAttach"` // Specifies whether the volume should be encrypted. // // The effect of setting the encryption state to true depends on the volume origin // (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, // see [Encryption by Default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) // in the Amazon Elastic Compute Cloud User Guide. // // Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see // [Supported Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). Encrypted *bool `field:"optional" json:"encrypted" yaml:"encrypted"` // The customer-managed encryption key that is used to encrypt the Volume. // // The encrypted property must // be true if this is provided. // // Note: If using an `aws-kms.IKey` created from a `aws-kms.Key.fromKeyArn()` here, // then the KMS key **must** have the following in its Key policy; otherwise, the Volume // will fail to create. // // { // "Effect": "Allow", // "Principal": { "AWS": "<arn for your account-user> ex: arn:aws:iam::00000000000:root" }, // "Resource": "*", // "Action": [ // "kms:DescribeKey", // "kms:GenerateDataKeyWithoutPlainText", // ], // "Condition": { // "StringEquals": { // "kms:ViaService": "ec2.<Region>.amazonaws.com", (eg: ec2.us-east-1.amazonaws.com) // "kms:CallerAccount": "0000000000" (your account ID) // } // } // }. EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // The number of I/O operations per second (IOPS) to provision for the volume. // // The maximum ratio is 50 IOPS/GiB for PROVISIONED_IOPS_SSD, // and 500 IOPS/GiB for both PROVISIONED_IOPS_SSD_IO2 and GENERAL_PURPOSE_SSD_GP3. // See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html // for more information. // // This parameter is valid only for PROVISIONED_IOPS_SSD, PROVISIONED_IOPS_SSD_IO2 and GENERAL_PURPOSE_SSD_GP3 volumes. Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // Policy to apply when the volume is removed from the stack. RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // The size of the volume, in GiBs. // // You must specify either a snapshot ID or a volume size. // See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html // for details on the allowable size for each type of volume. Size awscdk.Size `field:"optional" json:"size" yaml:"size"` // The snapshot from which to create the volume. // // You must specify either a snapshot ID or a volume size. SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"` // The throughput that the volume supports, in MiB/s Takes a minimum of 125 and maximum of 1000. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-throughput // Throughput *float64 `field:"optional" json:"throughput" yaml:"throughput"` // The value of the physicalName property of this resource. VolumeName *string `field:"optional" json:"volumeName" yaml:"volumeName"` // The type of the volume; // // what type of storage to use to form the EBS Volume. VolumeType EbsDeviceVolumeType `field:"optional" json:"volumeType" yaml:"volumeType"` }
Properties of an EBS Volume.
Example:
var instance instance var role role volume := ec2.NewVolume(this, jsii.String("Volume"), &VolumeProps{ AvailabilityZone: jsii.String("us-west-2a"), Size: awscdk.Size_Gibibytes(jsii.Number(500)), Encrypted: jsii.Boolean(true), }) volume.grantAttachVolume(role, []iInstance{ instance, })
type Vpc ¶
type Vpc interface { awscdk.Resource IVpc // AZs for this VPC. AvailabilityZones() *[]*string // Indicates if instances launched in this VPC will have public DNS hostnames. DnsHostnamesEnabled() *bool // Indicates if DNS support is enabled for this VPC. DnsSupportEnabled() *bool // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // If this is set to true, don't error out on trying to select subnets. IncompleteSubnetDefinition() *bool SetIncompleteSubnetDefinition(val *bool) // Dependencies for internet connectivity. InternetConnectivityEstablished() constructs.IDependable // Internet Gateway for the VPC. // // Note that in case the VPC is configured only // with ISOLATED subnets, this attribute will be `undefined`. InternetGatewayId() *string // List of isolated subnets in this VPC. IsolatedSubnets() *[]ISubnet // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // List of private subnets in this VPC. PrivateSubnets() *[]ISubnet // List of public subnets in this VPC. PublicSubnets() *[]ISubnet // The stack in which this resource is defined. Stack() awscdk.Stack // Arn of this VPC. VpcArn() *string // CIDR range for this VPC. VpcCidrBlock() *string VpcCidrBlockAssociations() *[]*string VpcDefaultNetworkAcl() *string VpcDefaultSecurityGroup() *string // Identifier for this VPC. VpcId() *string VpcIpv6CidrBlocks() *[]*string // Returns the id of the VPN Gateway (if enabled). VpnGatewayId() *string // Adds a new client VPN endpoint to this VPC. AddClientVpnEndpoint(id *string, options *ClientVpnEndpointOptions) ClientVpnEndpoint // Adds a new flow log to this VPC. AddFlowLog(id *string, options *FlowLogOptions) FlowLog // Adds a new gateway endpoint to this VPC. AddGatewayEndpoint(id *string, options *GatewayVpcEndpointOptions) GatewayVpcEndpoint // Adds a new interface endpoint to this VPC. AddInterfaceEndpoint(id *string, options *InterfaceVpcEndpointOptions) InterfaceVpcEndpoint // Adds a new VPN connection to this VPC. AddVpnConnection(id *string, options *VpnConnectionOptions) VpnConnection // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Adds a VPN Gateway to this VPC. EnableVpnGateway(options *EnableVpnGatewayOptions) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Return the subnets appropriate for the placement strategy. SelectSubnetObjects(selection *SubnetSelection) *[]ISubnet // Returns IDs of selected subnets. SelectSubnets(selection *SubnetSelection) *SelectedSubnets // Returns a string representation of this construct. ToString() *string }
Define an AWS Virtual Private Cloud.
See the package-level documentation of this package for an overview of the various dimensions in which you can configure your VPC.
For example:
```ts
const vpc = new ec2.Vpc(this, 'TheVPC', { ipAddresses: ec2.IpAddresses.cidr('10.0.0.0/16'), })
// Iterate the private subnets
const selection = vpc.selectSubnets({ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS });
for (const subnet of selection.subnets) { // ... }
```.
Example:
import "github.com/aws/aws-cdk-go/awscdk" vpc := ec2.NewVpc(this, jsii.String("Vpc"), &VpcProps{ IpAddresses: ec2.IpAddresses_Cidr(jsii.String("10.0.0.0/16")), }) vpcConnector := apprunner.NewVpcConnector(this, jsii.String("VpcConnector"), &VpcConnectorProps{ Vpc: Vpc, VpcSubnets: vpc.selectSubnets(&SubnetSelection{ SubnetType: ec2.SubnetType_PUBLIC, }), VpcConnectorName: jsii.String("MyVpcConnector"), }) apprunner.NewService(this, jsii.String("Service"), &ServiceProps{ Source: apprunner.Source_FromEcrPublic(&EcrPublicProps{ ImageConfiguration: &ImageConfiguration{ Port: jsii.Number(8000), }, ImageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"), }), VpcConnector: VpcConnector, })
func NewVpc ¶
Vpc creates a VPC that spans a whole region.
It will automatically divide the provided VPC CIDR range, and create public and private subnets per Availability Zone. Network routing for the public subnets will be configured to allow outbound access directly via an Internet Gateway. Network routing for the private subnets will be configured to allow outbound access via a set of resilient NAT Gateways (one per AZ).
type VpcAttributes ¶
type VpcAttributes struct { // List of availability zones for the subnets in this VPC. AvailabilityZones *[]*string `field:"required" json:"availabilityZones" yaml:"availabilityZones"` // VPC's identifier. VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"` // List of isolated subnet IDs. // // Must be undefined or match the availability zones in length and order. IsolatedSubnetIds *[]*string `field:"optional" json:"isolatedSubnetIds" yaml:"isolatedSubnetIds"` // List of IPv4 CIDR blocks for the isolated subnets. // // Must be undefined or have an entry for every isolated subnet group. IsolatedSubnetIpv4CidrBlocks *[]*string `field:"optional" json:"isolatedSubnetIpv4CidrBlocks" yaml:"isolatedSubnetIpv4CidrBlocks"` // List of names for the isolated subnets. // // Must be undefined or have a name for every isolated subnet group. IsolatedSubnetNames *[]*string `field:"optional" json:"isolatedSubnetNames" yaml:"isolatedSubnetNames"` // List of IDs of route tables for the isolated subnets. // // Must be undefined or have a name for every isolated subnet group. IsolatedSubnetRouteTableIds *[]*string `field:"optional" json:"isolatedSubnetRouteTableIds" yaml:"isolatedSubnetRouteTableIds"` // List of private subnet IDs. // // Must be undefined or match the availability zones in length and order. PrivateSubnetIds *[]*string `field:"optional" json:"privateSubnetIds" yaml:"privateSubnetIds"` // List of IPv4 CIDR blocks for the private subnets. // // Must be undefined or have an entry for every private subnet group. PrivateSubnetIpv4CidrBlocks *[]*string `field:"optional" json:"privateSubnetIpv4CidrBlocks" yaml:"privateSubnetIpv4CidrBlocks"` // List of names for the private subnets. // // Must be undefined or have a name for every private subnet group. PrivateSubnetNames *[]*string `field:"optional" json:"privateSubnetNames" yaml:"privateSubnetNames"` // List of IDs of route tables for the private subnets. // // Must be undefined or have a name for every private subnet group. PrivateSubnetRouteTableIds *[]*string `field:"optional" json:"privateSubnetRouteTableIds" yaml:"privateSubnetRouteTableIds"` // List of public subnet IDs. // // Must be undefined or match the availability zones in length and order. PublicSubnetIds *[]*string `field:"optional" json:"publicSubnetIds" yaml:"publicSubnetIds"` // List of IPv4 CIDR blocks for the public subnets. // // Must be undefined or have an entry for every public subnet group. PublicSubnetIpv4CidrBlocks *[]*string `field:"optional" json:"publicSubnetIpv4CidrBlocks" yaml:"publicSubnetIpv4CidrBlocks"` // List of names for the public subnets. // // Must be undefined or have a name for every public subnet group. PublicSubnetNames *[]*string `field:"optional" json:"publicSubnetNames" yaml:"publicSubnetNames"` // List of IDs of route tables for the public subnets. // // Must be undefined or have a name for every public subnet group. PublicSubnetRouteTableIds *[]*string `field:"optional" json:"publicSubnetRouteTableIds" yaml:"publicSubnetRouteTableIds"` // The region the VPC is in. Region *string `field:"optional" json:"region" yaml:"region"` // VPC's CIDR range. VpcCidrBlock *string `field:"optional" json:"vpcCidrBlock" yaml:"vpcCidrBlock"` // VPN gateway's identifier. VpnGatewayId *string `field:"optional" json:"vpnGatewayId" yaml:"vpnGatewayId"` }
Properties that reference an external Vpc.
Example:
vpc := ec2.Vpc_FromVpcAttributes(this, jsii.String("VPC"), &VpcAttributes{ VpcId: jsii.String("vpc-1234"), AvailabilityZones: []*string{ jsii.String("us-east-1a"), jsii.String("us-east-1b"), }, // Either pass literals for all IDs PublicSubnetIds: []*string{ jsii.String("s-12345"), jsii.String("s-67890"), }, // OR: import a list of known length PrivateSubnetIds: awscdk.Fn_ImportListValue(jsii.String("PrivateSubnetIds"), jsii.Number(2)), // OR: split an imported string to a list of known length IsolatedSubnetIds: awscdk.Fn_Split(jsii.String(","), ssm.StringParameter_ValueForStringParameter(this, jsii.String("MyParameter")), jsii.Number(2)), })
type VpcEndpoint ¶
type VpcEndpoint interface { awscdk.Resource IVpcEndpoint // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string PolicyDocument() awsiam.PolicyDocument SetPolicyDocument(val awsiam.PolicyDocument) // The stack in which this resource is defined. Stack() awscdk.Stack // The VPC endpoint identifier. VpcEndpointId() *string // Adds a statement to the policy document of the VPC endpoint. The statement must have a Principal. // // Not all interface VPC endpoints support policy. For more information // see https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html AddToPolicy(statement awsiam.PolicyStatement) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
type VpcEndpointService ¶
type VpcEndpointService interface { awscdk.Resource IVpcEndpointService // Whether to require manual acceptance of new connections to the service. AcceptanceRequired() *bool // One or more Principal ARNs to allow inbound connections to. AllowedPrincipals() *[]awsiam.ArnPrincipal // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The id of the VPC Endpoint Service, like vpce-svc-xxxxxxxxxxxxxxxx. VpcEndpointServiceId() *string // One or more network load balancers to host the service. VpcEndpointServiceLoadBalancers() *[]IVpcEndpointServiceLoadBalancer // The service name of the VPC Endpoint Service that clients use to connect to, like com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxxxxxxxxx. VpcEndpointServiceName() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A VPC endpoint service.
Example:
var networkLoadBalancer1 networkLoadBalancer var networkLoadBalancer2 networkLoadBalancer ec2.NewVpcEndpointService(this, jsii.String("EndpointService"), &VpcEndpointServiceProps{ VpcEndpointServiceLoadBalancers: []iVpcEndpointServiceLoadBalancer{ networkLoadBalancer1, networkLoadBalancer2, }, AcceptanceRequired: jsii.Boolean(true), AllowedPrincipals: []arnPrincipal{ iam.NewArnPrincipal(jsii.String("arn:aws:iam::123456789012:root")), }, })
func NewVpcEndpointService ¶
func NewVpcEndpointService(scope constructs.Construct, id *string, props *VpcEndpointServiceProps) VpcEndpointService
type VpcEndpointServiceProps ¶
type VpcEndpointServiceProps struct { // One or more load balancers to host the VPC Endpoint Service. VpcEndpointServiceLoadBalancers *[]IVpcEndpointServiceLoadBalancer `field:"required" json:"vpcEndpointServiceLoadBalancers" yaml:"vpcEndpointServiceLoadBalancers"` // Whether requests from service consumers to connect to the service through an endpoint must be accepted. AcceptanceRequired *bool `field:"optional" json:"acceptanceRequired" yaml:"acceptanceRequired"` // IAM users, IAM roles, or AWS accounts to allow inbound connections from. // // These principals can connect to your service using VPC endpoints. Takes a // list of one or more ArnPrincipal. AllowedPrincipals *[]awsiam.ArnPrincipal `field:"optional" json:"allowedPrincipals" yaml:"allowedPrincipals"` }
Construction properties for a VpcEndpointService.
Example:
var networkLoadBalancer1 networkLoadBalancer var networkLoadBalancer2 networkLoadBalancer ec2.NewVpcEndpointService(this, jsii.String("EndpointService"), &VpcEndpointServiceProps{ VpcEndpointServiceLoadBalancers: []iVpcEndpointServiceLoadBalancer{ networkLoadBalancer1, networkLoadBalancer2, }, AcceptanceRequired: jsii.Boolean(true), AllowedPrincipals: []arnPrincipal{ iam.NewArnPrincipal(jsii.String("arn:aws:iam::123456789012:root")), }, })
type VpcEndpointType ¶
type VpcEndpointType string
The type of VPC endpoint.
const ( // Interface. // // An interface endpoint is an elastic network interface with a private IP // address that serves as an entry point for traffic destined to a supported // service. VpcEndpointType_INTERFACE VpcEndpointType = "INTERFACE" // Gateway. // // A gateway endpoint is a gateway that is a target for a specified route in // your route table, used for traffic destined to a supported AWS service. VpcEndpointType_GATEWAY VpcEndpointType = "GATEWAY" )
type VpcIpamOptions ¶ added in v2.48.0
type VpcIpamOptions struct { // Cidr Block for Vpc. CidrBlock *string `field:"optional" json:"cidrBlock" yaml:"cidrBlock"` // ipv4 IPAM Pool Id. Ipv4IpamPoolId *string `field:"optional" json:"ipv4IpamPoolId" yaml:"ipv4IpamPoolId"` // Cidr Mask for Vpc. Ipv4NetmaskLength *float64 `field:"optional" json:"ipv4NetmaskLength" yaml:"ipv4NetmaskLength"` }
Cidr Allocated Vpc.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpcIpamOptions := &VpcIpamOptions{ CidrBlock: jsii.String("cidrBlock"), Ipv4IpamPoolId: jsii.String("ipv4IpamPoolId"), Ipv4NetmaskLength: jsii.Number(123), }
type VpcLookupOptions ¶
type VpcLookupOptions struct { // Whether to match the default VPC. IsDefault *bool `field:"optional" json:"isDefault" yaml:"isDefault"` // The ID of the AWS account that owns the VPC. OwnerAccountId *string `field:"optional" json:"ownerAccountId" yaml:"ownerAccountId"` // Optional to override inferred region. Region *string `field:"optional" json:"region" yaml:"region"` // Whether to look up whether a VPN Gateway is attached to the looked up VPC. // // You can set this to `false` if you know the VPC does not have a VPN Gateway // attached, in order to avoid an API call. // // If you change this property from `false` to `true` or undefined, you may // need to clear the corresponding context entry in `cdk.context.json` in // order to trigger a new lookup. ReturnVpnGateways *bool `field:"optional" json:"returnVpnGateways" yaml:"returnVpnGateways"` // Optional tag for subnet group name. // // If not provided, we'll look at the aws-cdk:subnet-name tag. // If the subnet does not have the specified tag, // we'll use its type as the name. SubnetGroupNameTag *string `field:"optional" json:"subnetGroupNameTag" yaml:"subnetGroupNameTag"` // Tags on the VPC. // // The VPC must have all of these tags. Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"` // The ID of the VPC. // // If given, will import exactly this VPC. VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"` // The name of the VPC. // // If given, will import the VPC with this name. VpcName *string `field:"optional" json:"vpcName" yaml:"vpcName"` }
Properties for looking up an existing VPC.
The combination of properties must specify filter down to exactly one non-default VPC, otherwise an error is raised.
Example:
// create a cloud9 ec2 environment in a new VPC vpc := ec2.NewVpc(this, jsii.String("VPC"), &VpcProps{ MaxAzs: jsii.Number(3), }) cloud9.NewEc2Environment(this, jsii.String("Cloud9Env"), &Ec2EnvironmentProps{ Vpc: Vpc, ImageId: cloud9.ImageId_AMAZON_LINUX_2, }) // or create the cloud9 environment in the default VPC with specific instanceType defaultVpc := ec2.Vpc_FromLookup(this, jsii.String("DefaultVPC"), &VpcLookupOptions{ IsDefault: jsii.Boolean(true), }) cloud9.NewEc2Environment(this, jsii.String("Cloud9Env2"), &Ec2EnvironmentProps{ Vpc: defaultVpc, InstanceType: ec2.NewInstanceType(jsii.String("t3.large")), ImageId: cloud9.ImageId_AMAZON_LINUX_2, }) // or specify in a different subnetSelection c9env := cloud9.NewEc2Environment(this, jsii.String("Cloud9Env3"), &Ec2EnvironmentProps{ Vpc: Vpc, SubnetSelection: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, ImageId: cloud9.ImageId_AMAZON_LINUX_2, }) // print the Cloud9 IDE URL in the output // print the Cloud9 IDE URL in the output awscdk.NewCfnOutput(this, jsii.String("URL"), &CfnOutputProps{ Value: c9env.IdeUrl, })
type VpcProps ¶
type VpcProps struct { // Availability zones this VPC spans. // // Specify this option only if you do not specify `maxAzs`. AvailabilityZones *[]*string `field:"optional" json:"availabilityZones" yaml:"availabilityZones"` // The CIDR range to use for the VPC, e.g. '10.0.0.0/16'. // // Should be a minimum of /28 and maximum size of /16. The range will be // split across all subnets per Availability Zone. // Deprecated: Use ipAddresses instead. Cidr *string `field:"optional" json:"cidr" yaml:"cidr"` // The default tenancy of instances launched into the VPC. // // By setting this to dedicated tenancy, instances will be launched on // hardware dedicated to a single AWS customer, unless specifically specified // at instance launch time. Please note, not all instance types are usable // with Dedicated tenancy. DefaultInstanceTenancy DefaultInstanceTenancy `field:"optional" json:"defaultInstanceTenancy" yaml:"defaultInstanceTenancy"` // Indicates whether the instances launched in the VPC get public DNS hostnames. // // If this attribute is true, instances in the VPC get public DNS hostnames, // but only if the enableDnsSupport attribute is also set to true. EnableDnsHostnames *bool `field:"optional" json:"enableDnsHostnames" yaml:"enableDnsHostnames"` // Indicates whether the DNS resolution is supported for the VPC. // // If this attribute is false, the Amazon-provided DNS server in the VPC that // resolves public DNS hostnames to IP addresses is not enabled. If this // attribute is true, queries to the Amazon provided DNS server at the // 169.254.169.253 IP address, or the reserved IP address at the base of the // VPC IPv4 network range plus two will succeed. EnableDnsSupport *bool `field:"optional" json:"enableDnsSupport" yaml:"enableDnsSupport"` // Flow logs to add to this VPC. FlowLogs *map[string]*FlowLogOptions `field:"optional" json:"flowLogs" yaml:"flowLogs"` // Gateway endpoints to add to this VPC. GatewayEndpoints *map[string]*GatewayVpcEndpointOptions `field:"optional" json:"gatewayEndpoints" yaml:"gatewayEndpoints"` // The Provider to use to allocate IP Space to your VPC. // // Options include static allocation or from a pool. IpAddresses IIpAddresses `field:"optional" json:"ipAddresses" yaml:"ipAddresses"` // Define the maximum number of AZs to use in this region. // // If the region has more AZs than you want to use (for example, because of // EIP limits), pick a lower number here. The AZs will be sorted and picked // from the start of the list. // // If you pick a higher number than the number of AZs in the region, all AZs // in the region will be selected. To use "all AZs" available to your // account, use a high number (such as 99). // // Be aware that environment-agnostic stacks will be created with access to // only 2 AZs, so to use more than 2 AZs, be sure to specify the account and // region on your stack. // // Specify this option only if you do not specify `availabilityZones`. MaxAzs *float64 `field:"optional" json:"maxAzs" yaml:"maxAzs"` // What type of NAT provider to use. // // Select between NAT gateways or NAT instances. NAT gateways // may not be available in all AWS regions. NatGatewayProvider NatProvider `field:"optional" json:"natGatewayProvider" yaml:"natGatewayProvider"` // The number of NAT Gateways/Instances to create. // // The type of NAT gateway or instance will be determined by the // `natGatewayProvider` parameter. // // You can set this number lower than the number of Availability Zones in your // VPC in order to save on NAT cost. Be aware you may be charged for // cross-AZ data traffic instead. NatGateways *float64 `field:"optional" json:"natGateways" yaml:"natGateways"` // Configures the subnets which will have NAT Gateways/Instances. // // You can pick a specific group of subnets by specifying the group name; // the picked subnets must be public subnets. // // Only necessary if you have more than one public subnet group. NatGatewaySubnets *SubnetSelection `field:"optional" json:"natGatewaySubnets" yaml:"natGatewaySubnets"` // Define the number of AZs to reserve. // // When specified, the IP space is reserved for the azs but no actual // resources are provisioned. ReservedAzs *float64 `field:"optional" json:"reservedAzs" yaml:"reservedAzs"` // If set to true then the default inbound & outbound rules will be removed from the default security group. RestrictDefaultSecurityGroup *bool `field:"optional" json:"restrictDefaultSecurityGroup" yaml:"restrictDefaultSecurityGroup"` // Configure the subnets to build for each AZ. // // Each entry in this list configures a Subnet Group; each group will contain a // subnet for each Availability Zone. // // For example, if you want 1 public subnet, 1 private subnet, and 1 isolated // subnet in each AZ provide the following: // // “`ts // new ec2.Vpc(this, 'VPC', { // subnetConfiguration: [ // { // cidrMask: 24, // name: 'ingress', // subnetType: ec2.SubnetType.PUBLIC, // }, // { // cidrMask: 24, // name: 'application', // subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, // }, // { // cidrMask: 28, // name: 'rds', // subnetType: ec2.SubnetType.PRIVATE_ISOLATED, // } // ] // }); // “`. SubnetConfiguration *[]*SubnetConfiguration `field:"optional" json:"subnetConfiguration" yaml:"subnetConfiguration"` // The VPC name. // // Since the VPC resource doesn't support providing a physical name, the value provided here will be recorded in the `Name` tag. VpcName *string `field:"optional" json:"vpcName" yaml:"vpcName"` // VPN connections to this VPC. VpnConnections *map[string]*VpnConnectionOptions `field:"optional" json:"vpnConnections" yaml:"vpnConnections"` // Indicates whether a VPN gateway should be created and attached to this VPC. VpnGateway *bool `field:"optional" json:"vpnGateway" yaml:"vpnGateway"` // The private Autonomous System Number (ASN) for the VPN gateway. VpnGatewayAsn *float64 `field:"optional" json:"vpnGatewayAsn" yaml:"vpnGatewayAsn"` // Where to propagate VPN routes. VpnRoutePropagation *[]*SubnetSelection `field:"optional" json:"vpnRoutePropagation" yaml:"vpnRoutePropagation"` }
Configuration for Vpc.
Example:
import "github.com/aws/aws-cdk-go/awscdk" vpc := ec2.NewVpc(this, jsii.String("Vpc"), &VpcProps{ IpAddresses: ec2.IpAddresses_Cidr(jsii.String("10.0.0.0/16")), }) vpcConnector := apprunner.NewVpcConnector(this, jsii.String("VpcConnector"), &VpcConnectorProps{ Vpc: Vpc, VpcSubnets: vpc.selectSubnets(&SubnetSelection{ SubnetType: ec2.SubnetType_PUBLIC, }), VpcConnectorName: jsii.String("MyVpcConnector"), }) apprunner.NewService(this, jsii.String("Service"), &ServiceProps{ Source: apprunner.Source_FromEcrPublic(&EcrPublicProps{ ImageConfiguration: &ImageConfiguration{ Port: jsii.Number(8000), }, ImageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"), }), VpcConnector: VpcConnector, })
type VpnConnection ¶
type VpnConnection interface { VpnConnectionBase // The ASN of the customer gateway. CustomerGatewayAsn() *float64 // The id of the customer gateway. CustomerGatewayId() *string // The ip address of the customer gateway. CustomerGatewayIp() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The id of the VPN connection. VpnId() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Return the given named metric for this VPNConnection. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The bytes received through the VPN tunnel. // // Sum over 5 minutes. MetricTunnelDataIn(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The bytes sent through the VPN tunnel. // // Sum over 5 minutes. MetricTunnelDataOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The state of the tunnel. 0 indicates DOWN and 1 indicates UP. // // Average over 5 minutes. MetricTunnelState(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Returns a string representation of this construct. ToString() *string }
Define a VPN Connection.
Example:
// Across all tunnels in the account/region allDataOut := ec2.VpnConnection_MetricAllTunnelDataOut() // For a specific vpn connection vpnConnection := vpc.addVpnConnection(jsii.String("Dynamic"), &VpnConnectionOptions{ Ip: jsii.String("1.2.3.4"), }) state := vpnConnection.metricTunnelState()
func NewVpnConnection ¶
func NewVpnConnection(scope constructs.Construct, id *string, props *VpnConnectionProps) VpnConnection
type VpnConnectionAttributes ¶ added in v2.43.0
type VpnConnectionAttributes struct { // The ASN of the customer gateway. CustomerGatewayAsn *float64 `field:"required" json:"customerGatewayAsn" yaml:"customerGatewayAsn"` // The id of the customer gateway. CustomerGatewayId *string `field:"required" json:"customerGatewayId" yaml:"customerGatewayId"` // The ip address of the customer gateway. CustomerGatewayIp *string `field:"required" json:"customerGatewayIp" yaml:"customerGatewayIp"` // The id of the VPN connection. VpnId *string `field:"required" json:"vpnId" yaml:"vpnId"` }
Attributes of an imported VpnConnection.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpnConnectionAttributes := &VpnConnectionAttributes{ CustomerGatewayAsn: jsii.Number(123), CustomerGatewayId: jsii.String("customerGatewayId"), CustomerGatewayIp: jsii.String("customerGatewayIp"), VpnId: jsii.String("vpnId"), }
type VpnConnectionBase ¶ added in v2.43.0
type VpnConnectionBase interface { awscdk.Resource IVpnConnection // The ASN of the customer gateway. CustomerGatewayAsn() *float64 // The id of the customer gateway. CustomerGatewayId() *string // The ip address of the customer gateway. CustomerGatewayIp() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The id of the VPN connection. VpnId() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Return the given named metric for this VPNConnection. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The bytes received through the VPN tunnel. // // Sum over 5 minutes. MetricTunnelDataIn(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The bytes sent through the VPN tunnel. // // Sum over 5 minutes. MetricTunnelDataOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The state of the tunnel. 0 indicates DOWN and 1 indicates UP. // // Average over 5 minutes. MetricTunnelState(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Returns a string representation of this construct. ToString() *string }
Base class for Vpn connections.
type VpnConnectionOptions ¶
type VpnConnectionOptions struct { // The ip address of the customer gateway. Ip *string `field:"required" json:"ip" yaml:"ip"` // The ASN of the customer gateway. Asn *float64 `field:"optional" json:"asn" yaml:"asn"` // The static routes to be routed from the VPN gateway to the customer gateway. StaticRoutes *[]*string `field:"optional" json:"staticRoutes" yaml:"staticRoutes"` // The tunnel options for the VPN connection. // // At most two elements (one per tunnel). // Duplicates not allowed. TunnelOptions *[]*VpnTunnelOption `field:"optional" json:"tunnelOptions" yaml:"tunnelOptions"` }
Example:
vpc := ec2.NewVpc(this, jsii.String("MyVpc"), &VpcProps{ VpnConnections: map[string]vpnConnectionOptions{ "dynamic": &vpnConnectionOptions{ // Dynamic routing (BGP) "ip": jsii.String("1.2.3.4"), }, "static": &vpnConnectionOptions{ // Static routing "ip": jsii.String("4.5.6.7"), "staticRoutes": []*string{ jsii.String("192.168.10.0/24"), jsii.String("192.168.20.0/24"), }, }, }, })
type VpnConnectionProps ¶
type VpnConnectionProps struct { // The ip address of the customer gateway. Ip *string `field:"required" json:"ip" yaml:"ip"` // The ASN of the customer gateway. Asn *float64 `field:"optional" json:"asn" yaml:"asn"` // The static routes to be routed from the VPN gateway to the customer gateway. StaticRoutes *[]*string `field:"optional" json:"staticRoutes" yaml:"staticRoutes"` // The tunnel options for the VPN connection. // // At most two elements (one per tunnel). // Duplicates not allowed. TunnelOptions *[]*VpnTunnelOption `field:"optional" json:"tunnelOptions" yaml:"tunnelOptions"` // The VPC to connect to. Vpc IVpc `field:"required" json:"vpc" yaml:"vpc"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var secretValue secretValue var vpc vpc vpnConnectionProps := &VpnConnectionProps{ Ip: jsii.String("ip"), Vpc: vpc, // the properties below are optional Asn: jsii.Number(123), StaticRoutes: []*string{ jsii.String("staticRoutes"), }, TunnelOptions: []vpnTunnelOption{ &vpnTunnelOption{ PreSharedKey: jsii.String("preSharedKey"), PreSharedKeySecret: secretValue, TunnelInsideCidr: jsii.String("tunnelInsideCidr"), }, }, }
type VpnConnectionType ¶
type VpnConnectionType string
The VPN connection type.
const ( // The IPsec 1 VPN connection type. VpnConnectionType_IPSEC_1 VpnConnectionType = "IPSEC_1" // Dummy member TODO: remove once https://github.com/aws/jsii/issues/231 is fixed. VpnConnectionType_DUMMY VpnConnectionType = "DUMMY" )
type VpnGateway ¶
type VpnGateway interface { awscdk.Resource IVpnGateway // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The virtual private gateway Id. GatewayId() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
The VPN Gateway that shall be added to the VPC.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpnGateway := awscdk.Aws_ec2.NewVpnGateway(this, jsii.String("MyVpnGateway"), &VpnGatewayProps{ Type: jsii.String("type"), // the properties below are optional AmazonSideAsn: jsii.Number(123), })
func NewVpnGateway ¶
func NewVpnGateway(scope constructs.Construct, id *string, props *VpnGatewayProps) VpnGateway
type VpnGatewayProps ¶
type VpnGatewayProps struct { // Default type ipsec.1. Type *string `field:"required" json:"type" yaml:"type"` // Explicitly specify an Asn or let aws pick an Asn for you. AmazonSideAsn *float64 `field:"optional" json:"amazonSideAsn" yaml:"amazonSideAsn"` }
The VpnGateway Properties.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" vpnGatewayProps := &VpnGatewayProps{ Type: jsii.String("type"), // the properties below are optional AmazonSideAsn: jsii.Number(123), }
type VpnTunnelOption ¶
type VpnTunnelOption struct { // // Allowed characters are // alphanumeric characters period `.` and underscores `_`. Must be between 8 // and 64 characters in length and cannot start with zero (0). // Deprecated: Use `preSharedKeySecret` instead. PreSharedKey *string `field:"optional" json:"preSharedKey" yaml:"preSharedKey"` // // Allowed characters are // alphanumeric characters period `.` and underscores `_`. Must be between 8 // and 64 characters in length and cannot start with zero (0). PreSharedKeySecret awscdk.SecretValue `field:"optional" json:"preSharedKeySecret" yaml:"preSharedKeySecret"` // The range of inside IP addresses for the tunnel. // // Any specified CIDR blocks must be // unique across all VPN connections that use the same virtual private gateway. // A size /30 CIDR block from the 169.254.0.0/16 range. TunnelInsideCidr *string `field:"optional" json:"tunnelInsideCidr" yaml:"tunnelInsideCidr"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var secretValue secretValue vpnTunnelOption := &VpnTunnelOption{ PreSharedKey: jsii.String("preSharedKey"), PreSharedKeySecret: secretValue, TunnelInsideCidr: jsii.String("tunnelInsideCidr"), }
type WindowsImage ¶
type WindowsImage interface { GenericSSMParameterImage // Name of the SSM parameter we're looking up. ParameterName() *string // Return the image to use in the given context. GetImage(scope constructs.Construct) *MachineImageConfig }
Select the latest version of the indicated Windows version.
This Machine Image automatically updates to the latest version on every deployment. Be aware this will cause your instances to be replaced when a new version of the image becomes available. Do not store stateful information on the instance if you are using this image.
The AMI ID is selected using the values published to the SSM parameter store.
Example:
// Pick a Windows edition to use windows := ec2.NewWindowsImage(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.NewGenericLinuxImage(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
func NewWindowsImage ¶
func NewWindowsImage(version WindowsVersion, props *WindowsImageProps) WindowsImage
type WindowsImageProps ¶
type WindowsImageProps struct { // Initial user data. UserData UserData `field:"optional" json:"userData" yaml:"userData"` }
Configuration options for WindowsImage.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var userData userData windowsImageProps := &WindowsImageProps{ UserData: userData, }
type WindowsUserDataOptions ¶ added in v2.46.0
type WindowsUserDataOptions struct { // Set to true to set this userdata to persist through an instance reboot; // // allowing // it to run on every instance start. // By default, UserData is run only once during the first instance launch. // // For more information, see: // https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/ // https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html#user-data-scripts Persist *bool `field:"optional" json:"persist" yaml:"persist"` }
Options when constructing UserData for Windows.
Example:
windowsUserData := ec2.UserData_ForWindows(&WindowsUserDataOptions{ Persist: jsii.Boolean(true), })
type WindowsVersion ¶
type WindowsVersion string
The Windows version to use for the WindowsImage.
Example:
// Pick a Windows edition to use windows := ec2.NewWindowsImage(ec2.WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE) // Pick the right Amazon Linux edition. All arguments shown are optional // and will default to these values when omitted. amznLinux := ec2.NewAmazonLinuxImage(&AmazonLinuxImageProps{ Generation: ec2.AmazonLinuxGeneration_AMAZON_LINUX, Edition: ec2.AmazonLinuxEdition_STANDARD, Virtualization: ec2.AmazonLinuxVirt_HVM, Storage: ec2.AmazonLinuxStorage_GENERAL_PURPOSE, }) // For other custom (Linux) images, instantiate a `GenericLinuxImage` with // a map giving the AMI to in for each region: linux := ec2.NewGenericLinuxImage(map[string]*string{ "us-east-1": jsii.String("ami-97785bed"), "eu-west-1": jsii.String("ami-12345678"), })
const ( WindowsVersion_WINDOWS_SERVER_2008_SP2_ENGLISH_64BIT_SQL_2008_SP4_EXPRESS WindowsVersion = "WINDOWS_SERVER_2008_SP2_ENGLISH_64BIT_SQL_2008_SP4_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_CHINESE_SIMPLIFIED_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_CHINESE_SIMPLIFIED_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_CHINESE_TRADITIONAL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_CHINESE_TRADITIONAL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_DUTCH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_DUTCH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_HUNGARIAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_HUNGARIAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_CONTAINERS WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_CONTAINERS" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_WEB WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_WEB" WindowsVersion_WINDOWS_SERVER_2016_GERMAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_GERMAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_32BIT_BASE WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_32BIT_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_WEB WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_WEB" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_EXPRESS WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_SP1_PORTUGUESE_BRAZIL_64BIT_CORE WindowsVersion = "WINDOWS_SERVER_2012_R2_SP1_PORTUGUESE_BRAZIL_64BIT_CORE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_ITALIAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_ITALIAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_EXPRESS WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_EXPRESS" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_DEEP_LEARNING WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_DEEP_LEARNING" WindowsVersion_WINDOWS_SERVER_2019_ITALIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_ITALIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_KOREAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_KOREAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_FQL_2016_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_FQL_2016_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2016_KOREAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_KOREAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_KOREAN_FULL_SQL_2016_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_KOREAN_FULL_SQL_2016_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_PORTUGUESE_PORTUGAL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_PORTUGUESE_PORTUGAL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_WEB WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_WEB" WindowsVersion_WINDOWS_SERVER_2019_FRENCH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_FRENCH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_KOREAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_KOREAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_CHINESE_HONG_KONG_SAR_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_CHINESE_HONG_KONG_SAR_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_CHINESE_PRC_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_CHINESE_PRC_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_FRENCH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_FRENCH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_CONTAINERS WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_CONTAINERS" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_RUSSIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_RUSSIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_CHINESE_SIMPLIFIED_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_CHINESE_SIMPLIFIED_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2019_HUNGARIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_HUNGARIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2007_R2_SP1_LANGUAGE_PACKS_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2007_R2_SP1_LANGUAGE_PACKS_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2008_SP2_ENGLISH_32BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_SP2_ENGLISH_32BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2012_SP4_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2012_SP4_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2012_RTM_CHINESE_TRADITIONAL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_CHINESE_TRADITIONAL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2008_R2_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2008_R2_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2016_POLISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_POLISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_DEEP_LEARNING WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_DEEP_LEARNING" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_GERMAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_GERMAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_RUSSIAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_RUSSIAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_CHINESE_TRADITIONAL_HONG_KONG_SAR_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_CHINESE_TRADITIONAL_HONG_KONG_SAR_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_HUNGARIAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_HUNGARIAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_HYPERV WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_HYPERV" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_ENGLISH_64BIT_SQL_2005_SP4_EXPRESS WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_ENGLISH_64BIT_SQL_2005_SP4_EXPRESS" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2012_SP4_EXPRESS WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2012_SP4_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_GERMAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_GERMAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2008_R2_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2008_R2_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_EXPRESS WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_EXPRESS" WindowsVersion_WINDOWS_SERVER_2019_JAPANESE_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_JAPANESE_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_RUSSIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_RUSSIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ITALIAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ITALIAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2008_R2_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2008_R2_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_HYPERV WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_HYPERV" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2019_CHINESE_TRADITIONAL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_CHINESE_TRADITIONAL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_CORE_BASE WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_CORE_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_CORE_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_CORE_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_2008_SP2_ENGLISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_SP2_ENGLISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_FRENCH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_FRENCH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_POLISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_POLISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2012_SP4_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2012_SP4_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_2012_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_2012_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2019_TURKISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_TURKISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_WEB WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_WEB" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_WEB WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_WEB" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_BRAZIL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_BRAZIL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_SWEDISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_SWEDISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_EXPRESS WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_EXPRESS" WindowsVersion_WINDOWS_SERVER_2016_ITALIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_ITALIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_SPANISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_SPANISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_STANDARD WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_STANDARD" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_64BIT_SQL_2005_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_64BIT_SQL_2005_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2008_R2_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2008_R2_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2007_R2_SP3_WEB WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2007_R2_SP3_WEB" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2016_PORTUGUESE_BRAZIL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_PORTUGUESE_BRAZIL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_ENGLISH_32BIT_BASE WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_ENGLISH_32BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_CZECH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_CZECH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2012_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2012_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_WEB WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_WEB" WindowsVersion_WINDOWS_SERVER_2016_SWEDISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_SWEDISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_TURKISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_TURKISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_CORE_SQL_2012_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_CORE_SQL_2012_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_LANGUAGE_PACKS_64BIT_SQL_2008_R2_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_LANGUAGE_PACKS_64BIT_SQL_2008_R2_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_RTM_CZECH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_CZECH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_TURKISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_TURKISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_DUTCH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_DUTCH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2016_HUNGARIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_HUNGARIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_KOREAN_FULL_SQL_2016_SP1_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_KOREAN_FULL_SQL_2016_SP1_STANDARD" WindowsVersion_WINDOWS_SERVER_2019_SPANISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_SPANISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_ENGLISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_ENGLISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_LANGUAGE_PACKS_64BIT_SQL_2008_R2_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_LANGUAGE_PACKS_64BIT_SQL_2008_R2_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_SP2_PORTUGUESE_BRAZIL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_SP2_PORTUGUESE_BRAZIL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_WEB WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_WEB" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2017_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_1709_ENGLISH_CORE_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_1709_ENGLISH_CORE_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_1803_ENGLISH_CORE_BASE WindowsVersion = "WINDOWS_SERVER_1803_ENGLISH_CORE_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_WEB WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_WEB" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2008_SP2_ENGLISH_64BIT_SQL_2008_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2008_SP2_ENGLISH_64BIT_SQL_2008_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_PORTUGUESE_BRAZIL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_PORTUGUESE_BRAZIL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_WEB WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_WEB" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_P3 WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_P3" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_CHINESE_TRADITIONAL_HONG_KONG_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_CHINESE_TRADITIONAL_HONG_KONG_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2012_RTM_CHINESE_SIMPLIFIED_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_CHINESE_SIMPLIFIED_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2012_SP4_WEB WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2012_SP4_WEB" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP3_WEB WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP3_WEB" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_EXPRESS WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_EXPRESS" WindowsVersion_WINDOWS_SERVER_1803_ENGLISH_CORE_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_1803_ENGLISH_CORE_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2012_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2012_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_CORE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_CORE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2014_SP3_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_2014_SP3_WEB WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_2014_SP3_WEB" WindowsVersion_WINDOWS_SERVER_2012_RTM_SWEDISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_SWEDISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_CHINESE_SIMPLIFIED_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_CHINESE_SIMPLIFIED_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_POLISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_POLISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2008_R2_SP3_WEB WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2008_R2_SP3_WEB" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_PORTUGUESE_BRAZIL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_PORTUGUESE_BRAZIL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2016_SP1_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2016_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2016_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_BASE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_WEB WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_WEB" WindowsVersion_WINDOWS_SERVER_2019_GERMAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_GERMAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_ENGLISH_64BIT_SQL_2005_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_ENGLISH_64BIT_SQL_2005_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2008_R2_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_JAPANESE_64BIT_SQL_2008_R2_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP1_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2012_RTM_ENGLISH_64BIT_SQL_2014_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2008_R2_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2008_R2_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2016_FRENCH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_FRENCH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2019_CZECH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_CZECH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_1809_ENGLISH_CORE_BASE WindowsVersion = "WINDOWS_SERVER_1809_ENGLISH_CORE_BASE" WindowsVersion_WINDOWS_SERVER_1809_ENGLISH_CORE_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_1809_ENGLISH_CORE_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_64BIT_SQL_2005_SP4_EXPRESS WindowsVersion = "WINDOWS_SERVER_2003_R2_SP2_LANGUAGE_PACKS_64BIT_SQL_2005_SP4_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_TURKISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_TURKISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2012_SP4_WEB WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2012_SP4_WEB" WindowsVersion_WINDOWS_SERVER_2012_RTM_POLISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_POLISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_SPANISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_SPANISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP1_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2019_ENGLISH_FULL_SQL_2016_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_1709_ENGLISH_CORE_BASE WindowsVersion = "WINDOWS_SERVER_1709_ENGLISH_CORE_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_61BIT_SQL_2012_RTM_SP2_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_61BIT_SQL_2012_RTM_SP2_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_STANDARD WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2012_SP4_STANDARD" WindowsVersion_WINDOWS_SERVER_2008_SP2_PORTUGUESE_BRAZIL_32BIT_BASE WindowsVersion = "WINDOWS_SERVER_2008_SP2_PORTUGUESE_BRAZIL_32BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2012_SP4_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2012_SP4_EXPRESS" WindowsVersion_WINDOWS_SERVER_2012_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_PORTUGUESE_PORTUGAL_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_CZECH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_CZECH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP1_STANDARD" WindowsVersion_WINDOWS_SERVER_2019_DUTCH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_DUTCH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_CORE WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_CORE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_SQL_2016_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_KOREAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_KOREAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_DUTCH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_DUTCH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_64BIT_SQL_2012_SP4_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_64BIT_SQL_2012_SP4_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP1_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_EXPRESS WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_EXPRESS" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_STANDARD" WindowsVersion_WINDOWS_SERVER_2019_PORTUGUESE_BRAZIL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_PORTUGUESE_BRAZIL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SQL_2008_R2_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SHAREPOINT_2010_SP2_FOUNDATION WindowsVersion = "WINDOWS_SERVER_2008_R2_SP1_ENGLISH_64BIT_SHAREPOINT_2010_SP2_FOUNDATION" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_P3 WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_P3" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP3_STANDARD WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_JAPANESE_64BIT_SQL_2014_SP3_STANDARD" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_SPANISH_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_SPANISH_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP3_EXPRESS WindowsVersion = "WINDOWS_SERVER_2012_RTM_JAPANESE_64BIT_SQL_2014_SP3_EXPRESS" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_CORE_SQL_2016_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP2_STANDARD WindowsVersion = "WINDOWS_SERVER_2016_JAPANESE_FULL_SQL_2016_SP2_STANDARD" WindowsVersion_WINDOWS_SERVER_2019_PORTUGUESE_PORTUGAL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_PORTUGUESE_PORTUGAL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2019_SWEDISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2019_SWEDISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_HYPERV WindowsVersion = "WINDOWS_SERVER_2012_R2_RTM_ENGLISH_64BIT_HYPERV" WindowsVersion_WINDOWS_SERVER_2012_RTM_KOREAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_KOREAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2012_RTM_RUSSIAN_64BIT_BASE WindowsVersion = "WINDOWS_SERVER_2012_RTM_RUSSIAN_64BIT_BASE" WindowsVersion_WINDOWS_SERVER_2016_CHINESE_TRADITIONAL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2016_CHINESE_TRADITIONAL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_WEB WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2016_SP2_WEB" WindowsVersion_WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_EXPRESS WindowsVersion = "WINDOWS_SERVER_2016_ENGLISH_FULL_SQL_2017_EXPRESS" WindowsVersion_WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2019_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2019_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2022_PORTUGUESE_BRAZIL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_PORTUGUESE_BRAZIL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ITALIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_ITALIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_2022_RUSSIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_RUSSIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_EXPRESS WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_EXPRESS" WindowsVersion_WINDOWS_SERVER_2022_POLISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_POLISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_CORE_BASE WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_CORE_BASE" WindowsVersion_WINDOWS_SERVER_2022_HUNGARIAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_HUNGARIAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_EXPRESS WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_EXPRESS" WindowsVersion_WINDOWS_SERVER_2022_GERMAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_GERMAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_CORE_CONTAINERSLATEST WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_CORE_CONTAINERSLATEST" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_STANDARD WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_STANDARD" WindowsVersion_WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2017_WEB WindowsVersion = "WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2017_WEB" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_WEB WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_WEB" WindowsVersion_WINDOWS_SERVER_2022_JAPANESE_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_JAPANESE_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_KOREAN_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_KOREAN_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2017_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2017_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2019_STANDARD WindowsVersion = "WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2019_STANDARD" WindowsVersion_WINDOWS_SERVER_2022_CHINESE_SIMPLIFIED_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_CHINESE_SIMPLIFIED_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_WEB WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_WEB" WindowsVersion_WINDOWS_SERVER_2022_SPANISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_SPANISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_CORE_ECS_OPTIMIZED WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_CORE_ECS_OPTIMIZED" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_STANDARD WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_STANDARD" WindowsVersion_WINDOWS_SERVER_2022_CHINESE_TRADITIONAL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_CHINESE_TRADITIONAL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2019_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2022_FRENCH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_FRENCH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2017_STANDARD WindowsVersion = "WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2017_STANDARD" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2019_WEB WindowsVersion = "WINDOWS_SERVER_2022_JAPANESE_FULL_SQL_2019_WEB" WindowsVersion_WINDOWS_SERVER_2022_TURKISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_TURKISH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_ENTERPRISE WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_SQL_2017_ENTERPRISE" WindowsVersion_WINDOWS_SERVER_2022_PORTUGUESE_PORTUGAL_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_PORTUGUESE_PORTUGAL_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_CZECH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_CZECH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_ENGLISH_FULL_ECS_OPTIMIZED WindowsVersion = "WINDOWS_SERVER_2022_ENGLISH_FULL_ECS_OPTIMIZED" WindowsVersion_WINDOWS_SERVER_2022_DUTCH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_DUTCH_FULL_BASE" WindowsVersion_WINDOWS_SERVER_2022_SWEDISH_FULL_BASE WindowsVersion = "WINDOWS_SERVER_2022_SWEDISH_FULL_BASE" )
Source Files ¶
- AclCidr.go
- AclCidrConfig.go
- AclCidr__checks.go
- AclIcmp.go
- AclPortRange.go
- AclTraffic.go
- AclTrafficConfig.go
- AclTraffic__checks.go
- Action.go
- AddRouteOptions.go
- AddressFamily.go
- AllocateCidrRequest.go
- AllocatedSubnet.go
- AmazonLinux2022ImageSsmParameter.go
- AmazonLinux2022ImageSsmParameterProps.go
- AmazonLinux2022ImageSsmParameter__checks.go
- AmazonLinux2022Kernel.go
- AmazonLinux2022Kernel__checks.go
- AmazonLinux2023ImageSsmParameter.go
- AmazonLinux2023ImageSsmParameterProps.go
- AmazonLinux2023ImageSsmParameter__checks.go
- AmazonLinux2023Kernel.go
- AmazonLinux2023Kernel__checks.go
- AmazonLinux2ImageSsmParameter.go
- AmazonLinux2ImageSsmParameterProps.go
- AmazonLinux2ImageSsmParameter__checks.go
- AmazonLinux2Kernel.go
- AmazonLinux2Kernel__checks.go
- AmazonLinuxCpuType.go
- AmazonLinuxEdition.go
- AmazonLinuxGeneration.go
- AmazonLinuxImage.go
- AmazonLinuxImageProps.go
- AmazonLinuxImageSsmParameterBase.go
- AmazonLinuxImageSsmParameterBaseOptions.go
- AmazonLinuxImageSsmParameterBaseProps.go
- AmazonLinuxImageSsmParameterBase__checks.go
- AmazonLinuxImageSsmParameterCommonOptions.go
- AmazonLinuxImage__checks.go
- AmazonLinuxKernel.go
- AmazonLinuxStorage.go
- AmazonLinuxVirt.go
- ApplyCloudFormationInitOptions.go
- AttachInitOptions.go
- AwsIpamProps.go
- BastionHostLinux.go
- BastionHostLinuxProps.go
- BastionHostLinux__checks.go
- BlockDevice.go
- BlockDeviceVolume.go
- BlockDeviceVolume__checks.go
- CfnCapacityReservation.go
- CfnCapacityReservationFleet.go
- CfnCapacityReservationFleetProps.go
- CfnCapacityReservationFleet_InstanceTypeSpecificationProperty.go
- CfnCapacityReservationFleet_TagSpecificationProperty.go
- CfnCapacityReservationFleet__checks.go
- CfnCapacityReservationProps.go
- CfnCapacityReservation_TagSpecificationProperty.go
- CfnCapacityReservation__checks.go
- CfnCarrierGateway.go
- CfnCarrierGatewayProps.go
- CfnCarrierGateway__checks.go
- CfnClientVpnAuthorizationRule.go
- CfnClientVpnAuthorizationRuleProps.go
- CfnClientVpnAuthorizationRule__checks.go
- CfnClientVpnEndpoint.go
- CfnClientVpnEndpointProps.go
- CfnClientVpnEndpoint_CertificateAuthenticationRequestProperty.go
- CfnClientVpnEndpoint_ClientAuthenticationRequestProperty.go
- CfnClientVpnEndpoint_ClientConnectOptionsProperty.go
- CfnClientVpnEndpoint_ClientLoginBannerOptionsProperty.go
- CfnClientVpnEndpoint_ConnectionLogOptionsProperty.go
- CfnClientVpnEndpoint_DirectoryServiceAuthenticationRequestProperty.go
- CfnClientVpnEndpoint_FederatedAuthenticationRequestProperty.go
- CfnClientVpnEndpoint_TagSpecificationProperty.go
- CfnClientVpnEndpoint__checks.go
- CfnClientVpnRoute.go
- CfnClientVpnRouteProps.go
- CfnClientVpnRoute__checks.go
- CfnClientVpnTargetNetworkAssociation.go
- CfnClientVpnTargetNetworkAssociationProps.go
- CfnClientVpnTargetNetworkAssociation__checks.go
- CfnCustomerGateway.go
- CfnCustomerGatewayProps.go
- CfnCustomerGateway__checks.go
- CfnDHCPOptions.go
- CfnDHCPOptionsProps.go
- CfnDHCPOptions__checks.go
- CfnEC2Fleet.go
- CfnEC2FleetProps.go
- CfnEC2Fleet_AcceleratorCountRequestProperty.go
- CfnEC2Fleet_AcceleratorTotalMemoryMiBRequestProperty.go
- CfnEC2Fleet_BaselineEbsBandwidthMbpsRequestProperty.go
- CfnEC2Fleet_CapacityRebalanceProperty.go
- CfnEC2Fleet_CapacityReservationOptionsRequestProperty.go
- CfnEC2Fleet_FleetLaunchTemplateConfigRequestProperty.go
- CfnEC2Fleet_FleetLaunchTemplateOverridesRequestProperty.go
- CfnEC2Fleet_FleetLaunchTemplateSpecificationRequestProperty.go
- CfnEC2Fleet_InstanceRequirementsRequestProperty.go
- CfnEC2Fleet_MaintenanceStrategiesProperty.go
- CfnEC2Fleet_MemoryGiBPerVCpuRequestProperty.go
- CfnEC2Fleet_MemoryMiBRequestProperty.go
- CfnEC2Fleet_NetworkBandwidthGbpsRequestProperty.go
- CfnEC2Fleet_NetworkInterfaceCountRequestProperty.go
- CfnEC2Fleet_OnDemandOptionsRequestProperty.go
- CfnEC2Fleet_PlacementProperty.go
- CfnEC2Fleet_SpotOptionsRequestProperty.go
- CfnEC2Fleet_TagSpecificationProperty.go
- CfnEC2Fleet_TargetCapacitySpecificationRequestProperty.go
- CfnEC2Fleet_TotalLocalStorageGBRequestProperty.go
- CfnEC2Fleet_VCpuCountRangeRequestProperty.go
- CfnEC2Fleet__checks.go
- CfnEIP.go
- CfnEIPAssociation.go
- CfnEIPAssociationProps.go
- CfnEIPAssociation__checks.go
- CfnEIPProps.go
- CfnEIP__checks.go
- CfnEgressOnlyInternetGateway.go
- CfnEgressOnlyInternetGatewayProps.go
- CfnEgressOnlyInternetGateway__checks.go
- CfnEnclaveCertificateIamRoleAssociation.go
- CfnEnclaveCertificateIamRoleAssociationProps.go
- CfnEnclaveCertificateIamRoleAssociation__checks.go
- CfnFlowLog.go
- CfnFlowLogProps.go
- CfnFlowLog_DestinationOptionsProperty.go
- CfnFlowLog__checks.go
- CfnGatewayRouteTableAssociation.go
- CfnGatewayRouteTableAssociationProps.go
- CfnGatewayRouteTableAssociation__checks.go
- CfnHost.go
- CfnHostProps.go
- CfnHost__checks.go
- CfnIPAM.go
- CfnIPAMAllocation.go
- CfnIPAMAllocationProps.go
- CfnIPAMAllocation__checks.go
- CfnIPAMPool.go
- CfnIPAMPoolCidr.go
- CfnIPAMPoolCidrProps.go
- CfnIPAMPoolCidr__checks.go
- CfnIPAMPoolProps.go
- CfnIPAMPool_ProvisionedCidrProperty.go
- CfnIPAMPool__checks.go
- CfnIPAMProps.go
- CfnIPAMResourceDiscovery.go
- CfnIPAMResourceDiscoveryAssociation.go
- CfnIPAMResourceDiscoveryAssociationProps.go
- CfnIPAMResourceDiscoveryAssociation__checks.go
- CfnIPAMResourceDiscoveryProps.go
- CfnIPAMResourceDiscovery_IpamOperatingRegionProperty.go
- CfnIPAMResourceDiscovery__checks.go
- CfnIPAMScope.go
- CfnIPAMScopeProps.go
- CfnIPAMScope__checks.go
- CfnIPAM_IpamOperatingRegionProperty.go
- CfnIPAM__checks.go
- CfnInstance.go
- CfnInstanceProps.go
- CfnInstance_AssociationParameterProperty.go
- CfnInstance_BlockDeviceMappingProperty.go
- CfnInstance_CpuOptionsProperty.go
- CfnInstance_CreditSpecificationProperty.go
- CfnInstance_EbsProperty.go
- CfnInstance_ElasticGpuSpecificationProperty.go
- CfnInstance_ElasticInferenceAcceleratorProperty.go
- CfnInstance_EnclaveOptionsProperty.go
- CfnInstance_HibernationOptionsProperty.go
- CfnInstance_InstanceIpv6AddressProperty.go
- CfnInstance_LaunchTemplateSpecificationProperty.go
- CfnInstance_LicenseSpecificationProperty.go
- CfnInstance_NetworkInterfaceProperty.go
- CfnInstance_NoDeviceProperty.go
- CfnInstance_PrivateDnsNameOptionsProperty.go
- CfnInstance_PrivateIpAddressSpecificationProperty.go
- CfnInstance_SsmAssociationProperty.go
- CfnInstance_VolumeProperty.go
- CfnInstance__checks.go
- CfnInternetGateway.go
- CfnInternetGatewayProps.go
- CfnInternetGateway__checks.go
- CfnKeyPair.go
- CfnKeyPairProps.go
- CfnKeyPair__checks.go
- CfnLaunchTemplate.go
- CfnLaunchTemplateProps.go
- CfnLaunchTemplate_AcceleratorCountProperty.go
- CfnLaunchTemplate_AcceleratorTotalMemoryMiBProperty.go
- CfnLaunchTemplate_BaselineEbsBandwidthMbpsProperty.go
- CfnLaunchTemplate_BlockDeviceMappingProperty.go
- CfnLaunchTemplate_CapacityReservationSpecificationProperty.go
- CfnLaunchTemplate_CapacityReservationTargetProperty.go
- CfnLaunchTemplate_CpuOptionsProperty.go
- CfnLaunchTemplate_CreditSpecificationProperty.go
- CfnLaunchTemplate_EbsProperty.go
- CfnLaunchTemplate_ElasticGpuSpecificationProperty.go
- CfnLaunchTemplate_EnclaveOptionsProperty.go
- CfnLaunchTemplate_HibernationOptionsProperty.go
- CfnLaunchTemplate_IamInstanceProfileProperty.go
- CfnLaunchTemplate_InstanceMarketOptionsProperty.go
- CfnLaunchTemplate_InstanceRequirementsProperty.go
- CfnLaunchTemplate_Ipv4PrefixSpecificationProperty.go
- CfnLaunchTemplate_Ipv6AddProperty.go
- CfnLaunchTemplate_Ipv6PrefixSpecificationProperty.go
- CfnLaunchTemplate_LaunchTemplateDataProperty.go
- CfnLaunchTemplate_LaunchTemplateElasticInferenceAcceleratorProperty.go
- CfnLaunchTemplate_LaunchTemplateTagSpecificationProperty.go
- CfnLaunchTemplate_LicenseSpecificationProperty.go
- CfnLaunchTemplate_MaintenanceOptionsProperty.go
- CfnLaunchTemplate_MemoryGiBPerVCpuProperty.go
- CfnLaunchTemplate_MemoryMiBProperty.go
- CfnLaunchTemplate_MetadataOptionsProperty.go
- CfnLaunchTemplate_MonitoringProperty.go
- CfnLaunchTemplate_NetworkBandwidthGbpsProperty.go
- CfnLaunchTemplate_NetworkInterfaceCountProperty.go
- CfnLaunchTemplate_NetworkInterfaceProperty.go
- CfnLaunchTemplate_PlacementProperty.go
- CfnLaunchTemplate_PrivateDnsNameOptionsProperty.go
- CfnLaunchTemplate_PrivateIpAddProperty.go
- CfnLaunchTemplate_SpotOptionsProperty.go
- CfnLaunchTemplate_TagSpecificationProperty.go
- CfnLaunchTemplate_TotalLocalStorageGBProperty.go
- CfnLaunchTemplate_VCpuCountProperty.go
- CfnLaunchTemplate__checks.go
- CfnLocalGatewayRoute.go
- CfnLocalGatewayRouteProps.go
- CfnLocalGatewayRouteTable.go
- CfnLocalGatewayRouteTableProps.go
- CfnLocalGatewayRouteTableVPCAssociation.go
- CfnLocalGatewayRouteTableVPCAssociationProps.go
- CfnLocalGatewayRouteTableVPCAssociation__checks.go
- CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation.go
- CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociationProps.go
- CfnLocalGatewayRouteTableVirtualInterfaceGroupAssociation__checks.go
- CfnLocalGatewayRouteTable__checks.go
- CfnLocalGatewayRoute__checks.go
- CfnNatGateway.go
- CfnNatGatewayProps.go
- CfnNatGateway__checks.go
- CfnNetworkAcl.go
- CfnNetworkAclEntry.go
- CfnNetworkAclEntryProps.go
- CfnNetworkAclEntry_IcmpProperty.go
- CfnNetworkAclEntry_PortRangeProperty.go
- CfnNetworkAclEntry__checks.go
- CfnNetworkAclProps.go
- CfnNetworkAcl__checks.go
- CfnNetworkInsightsAccessScope.go
- CfnNetworkInsightsAccessScopeAnalysis.go
- CfnNetworkInsightsAccessScopeAnalysisProps.go
- CfnNetworkInsightsAccessScopeAnalysis__checks.go
- CfnNetworkInsightsAccessScopeProps.go
- CfnNetworkInsightsAccessScope_AccessScopePathRequestProperty.go
- CfnNetworkInsightsAccessScope_PacketHeaderStatementRequestProperty.go
- CfnNetworkInsightsAccessScope_PathStatementRequestProperty.go
- CfnNetworkInsightsAccessScope_ResourceStatementRequestProperty.go
- CfnNetworkInsightsAccessScope_ThroughResourcesStatementRequestProperty.go
- CfnNetworkInsightsAccessScope__checks.go
- CfnNetworkInsightsAnalysis.go
- CfnNetworkInsightsAnalysisProps.go
- CfnNetworkInsightsAnalysis_AdditionalDetailProperty.go
- CfnNetworkInsightsAnalysis_AlternatePathHintProperty.go
- CfnNetworkInsightsAnalysis_AnalysisAclRuleProperty.go
- CfnNetworkInsightsAnalysis_AnalysisComponentProperty.go
- CfnNetworkInsightsAnalysis_AnalysisLoadBalancerListenerProperty.go
- CfnNetworkInsightsAnalysis_AnalysisLoadBalancerTargetProperty.go
- CfnNetworkInsightsAnalysis_AnalysisPacketHeaderProperty.go
- CfnNetworkInsightsAnalysis_AnalysisRouteTableRouteProperty.go
- CfnNetworkInsightsAnalysis_AnalysisSecurityGroupRuleProperty.go
- CfnNetworkInsightsAnalysis_ExplanationProperty.go
- CfnNetworkInsightsAnalysis_PathComponentProperty.go
- CfnNetworkInsightsAnalysis_PortRangeProperty.go
- CfnNetworkInsightsAnalysis_TransitGatewayRouteTableRouteProperty.go
- CfnNetworkInsightsAnalysis__checks.go
- CfnNetworkInsightsPath.go
- CfnNetworkInsightsPathProps.go
- CfnNetworkInsightsPath_FilterPortRangeProperty.go
- CfnNetworkInsightsPath_PathFilterProperty.go
- CfnNetworkInsightsPath__checks.go
- CfnNetworkInterface.go
- CfnNetworkInterfaceAttachment.go
- CfnNetworkInterfaceAttachmentProps.go
- CfnNetworkInterfaceAttachment__checks.go
- CfnNetworkInterfacePermission.go
- CfnNetworkInterfacePermissionProps.go
- CfnNetworkInterfacePermission__checks.go
- CfnNetworkInterfaceProps.go
- CfnNetworkInterface_InstanceIpv6AddressProperty.go
- CfnNetworkInterface_PrivateIpAddressSpecificationProperty.go
- CfnNetworkInterface__checks.go
- CfnNetworkPerformanceMetricSubscription.go
- CfnNetworkPerformanceMetricSubscriptionProps.go
- CfnNetworkPerformanceMetricSubscription__checks.go
- CfnPlacementGroup.go
- CfnPlacementGroupProps.go
- CfnPlacementGroup__checks.go
- CfnPrefixList.go
- CfnPrefixListProps.go
- CfnPrefixList_EntryProperty.go
- CfnPrefixList__checks.go
- CfnRoute.go
- CfnRouteProps.go
- CfnRouteTable.go
- CfnRouteTableProps.go
- CfnRouteTable__checks.go
- CfnRoute__checks.go
- CfnSecurityGroup.go
- CfnSecurityGroupEgress.go
- CfnSecurityGroupEgressProps.go
- CfnSecurityGroupEgress__checks.go
- CfnSecurityGroupIngress.go
- CfnSecurityGroupIngressProps.go
- CfnSecurityGroupIngress__checks.go
- CfnSecurityGroupProps.go
- CfnSecurityGroup_EgressProperty.go
- CfnSecurityGroup_IngressProperty.go
- CfnSecurityGroup__checks.go
- CfnSpotFleet.go
- CfnSpotFleetProps.go
- CfnSpotFleet_AcceleratorCountRequestProperty.go
- CfnSpotFleet_AcceleratorTotalMemoryMiBRequestProperty.go
- CfnSpotFleet_BaselineEbsBandwidthMbpsRequestProperty.go
- CfnSpotFleet_BlockDeviceMappingProperty.go
- CfnSpotFleet_ClassicLoadBalancerProperty.go
- CfnSpotFleet_ClassicLoadBalancersConfigProperty.go
- CfnSpotFleet_EbsBlockDeviceProperty.go
- CfnSpotFleet_FleetLaunchTemplateSpecificationProperty.go
- CfnSpotFleet_GroupIdentifierProperty.go
- CfnSpotFleet_IamInstanceProfileSpecificationProperty.go
- CfnSpotFleet_InstanceIpv6AddressProperty.go
- CfnSpotFleet_InstanceNetworkInterfaceSpecificationProperty.go
- CfnSpotFleet_InstanceRequirementsRequestProperty.go
- CfnSpotFleet_LaunchTemplateConfigProperty.go
- CfnSpotFleet_LaunchTemplateOverridesProperty.go
- CfnSpotFleet_LoadBalancersConfigProperty.go
- CfnSpotFleet_MemoryGiBPerVCpuRequestProperty.go
- CfnSpotFleet_MemoryMiBRequestProperty.go
- CfnSpotFleet_NetworkBandwidthGbpsRequestProperty.go
- CfnSpotFleet_NetworkInterfaceCountRequestProperty.go
- CfnSpotFleet_PrivateIpAddressSpecificationProperty.go
- CfnSpotFleet_SpotCapacityRebalanceProperty.go
- CfnSpotFleet_SpotFleetLaunchSpecificationProperty.go
- CfnSpotFleet_SpotFleetMonitoringProperty.go
- CfnSpotFleet_SpotFleetRequestConfigDataProperty.go
- CfnSpotFleet_SpotFleetTagSpecificationProperty.go
- CfnSpotFleet_SpotMaintenanceStrategiesProperty.go
- CfnSpotFleet_SpotPlacementProperty.go
- CfnSpotFleet_TargetGroupProperty.go
- CfnSpotFleet_TargetGroupsConfigProperty.go
- CfnSpotFleet_TotalLocalStorageGBRequestProperty.go
- CfnSpotFleet_VCpuCountRangeRequestProperty.go
- CfnSpotFleet__checks.go
- CfnSubnet.go
- CfnSubnetCidrBlock.go
- CfnSubnetCidrBlockProps.go
- CfnSubnetCidrBlock__checks.go
- CfnSubnetNetworkAclAssociation.go
- CfnSubnetNetworkAclAssociationProps.go
- CfnSubnetNetworkAclAssociation__checks.go
- CfnSubnetProps.go
- CfnSubnetRouteTableAssociation.go
- CfnSubnetRouteTableAssociationProps.go
- CfnSubnetRouteTableAssociation__checks.go
- CfnSubnet_PrivateDnsNameOptionsOnLaunchProperty.go
- CfnSubnet__checks.go
- CfnTrafficMirrorFilter.go
- CfnTrafficMirrorFilterProps.go
- CfnTrafficMirrorFilterRule.go
- CfnTrafficMirrorFilterRuleProps.go
- CfnTrafficMirrorFilterRule_TrafficMirrorPortRangeProperty.go
- CfnTrafficMirrorFilterRule__checks.go
- CfnTrafficMirrorFilter__checks.go
- CfnTrafficMirrorSession.go
- CfnTrafficMirrorSessionProps.go
- CfnTrafficMirrorSession__checks.go
- CfnTrafficMirrorTarget.go
- CfnTrafficMirrorTargetProps.go
- CfnTrafficMirrorTarget__checks.go
- CfnTransitGateway.go
- CfnTransitGatewayAttachment.go
- CfnTransitGatewayAttachmentProps.go
- CfnTransitGatewayAttachment_OptionsProperty.go
- CfnTransitGatewayAttachment__checks.go
- CfnTransitGatewayConnect.go
- CfnTransitGatewayConnectProps.go
- CfnTransitGatewayConnect_TransitGatewayConnectOptionsProperty.go
- CfnTransitGatewayConnect__checks.go
- CfnTransitGatewayMulticastDomain.go
- CfnTransitGatewayMulticastDomainAssociation.go
- CfnTransitGatewayMulticastDomainAssociationProps.go
- CfnTransitGatewayMulticastDomainAssociation__checks.go
- CfnTransitGatewayMulticastDomainProps.go
- CfnTransitGatewayMulticastDomain_OptionsProperty.go
- CfnTransitGatewayMulticastDomain__checks.go
- CfnTransitGatewayMulticastGroupMember.go
- CfnTransitGatewayMulticastGroupMemberProps.go
- CfnTransitGatewayMulticastGroupMember__checks.go
- CfnTransitGatewayMulticastGroupSource.go
- CfnTransitGatewayMulticastGroupSourceProps.go
- CfnTransitGatewayMulticastGroupSource__checks.go
- CfnTransitGatewayPeeringAttachment.go
- CfnTransitGatewayPeeringAttachmentProps.go
- CfnTransitGatewayPeeringAttachment_PeeringAttachmentStatusProperty.go
- CfnTransitGatewayPeeringAttachment__checks.go
- CfnTransitGatewayProps.go
- CfnTransitGatewayRoute.go
- CfnTransitGatewayRouteProps.go
- CfnTransitGatewayRouteTable.go
- CfnTransitGatewayRouteTableAssociation.go
- CfnTransitGatewayRouteTableAssociationProps.go
- CfnTransitGatewayRouteTableAssociation__checks.go
- CfnTransitGatewayRouteTablePropagation.go
- CfnTransitGatewayRouteTablePropagationProps.go
- CfnTransitGatewayRouteTablePropagation__checks.go
- CfnTransitGatewayRouteTableProps.go
- CfnTransitGatewayRouteTable__checks.go
- CfnTransitGatewayRoute__checks.go
- CfnTransitGatewayVpcAttachment.go
- CfnTransitGatewayVpcAttachmentProps.go
- CfnTransitGatewayVpcAttachment_OptionsProperty.go
- CfnTransitGatewayVpcAttachment__checks.go
- CfnTransitGateway__checks.go
- CfnVPC.go
- CfnVPCCidrBlock.go
- CfnVPCCidrBlockProps.go
- CfnVPCCidrBlock__checks.go
- CfnVPCDHCPOptionsAssociation.go
- CfnVPCDHCPOptionsAssociationProps.go
- CfnVPCDHCPOptionsAssociation__checks.go
- CfnVPCEndpoint.go
- CfnVPCEndpointConnectionNotification.go
- CfnVPCEndpointConnectionNotificationProps.go
- CfnVPCEndpointConnectionNotification__checks.go
- CfnVPCEndpointProps.go
- CfnVPCEndpointService.go
- CfnVPCEndpointServicePermissions.go
- CfnVPCEndpointServicePermissionsProps.go
- CfnVPCEndpointServicePermissions__checks.go
- CfnVPCEndpointServiceProps.go
- CfnVPCEndpointService__checks.go
- CfnVPCEndpoint__checks.go
- CfnVPCGatewayAttachment.go
- CfnVPCGatewayAttachmentProps.go
- CfnVPCGatewayAttachment__checks.go
- CfnVPCPeeringConnection.go
- CfnVPCPeeringConnectionProps.go
- CfnVPCPeeringConnection__checks.go
- CfnVPCProps.go
- CfnVPC__checks.go
- CfnVPNConnection.go
- CfnVPNConnectionProps.go
- CfnVPNConnectionRoute.go
- CfnVPNConnectionRouteProps.go
- CfnVPNConnectionRoute__checks.go
- CfnVPNConnection_VpnTunnelOptionsSpecificationProperty.go
- CfnVPNConnection__checks.go
- CfnVPNGateway.go
- CfnVPNGatewayProps.go
- CfnVPNGatewayRoutePropagation.go
- CfnVPNGatewayRoutePropagationProps.go
- CfnVPNGatewayRoutePropagation__checks.go
- CfnVPNGateway__checks.go
- CfnVerifiedAccessEndpoint.go
- CfnVerifiedAccessEndpointProps.go
- CfnVerifiedAccessEndpoint_LoadBalancerOptionsProperty.go
- CfnVerifiedAccessEndpoint_NetworkInterfaceOptionsProperty.go
- CfnVerifiedAccessEndpoint__checks.go
- CfnVerifiedAccessGroup.go
- CfnVerifiedAccessGroupProps.go
- CfnVerifiedAccessGroup__checks.go
- CfnVerifiedAccessInstance.go
- CfnVerifiedAccessInstanceProps.go
- CfnVerifiedAccessInstance_CloudWatchLogsProperty.go
- CfnVerifiedAccessInstance_KinesisDataFirehoseProperty.go
- CfnVerifiedAccessInstance_S3Property.go
- CfnVerifiedAccessInstance_VerifiedAccessLogsProperty.go
- CfnVerifiedAccessInstance_VerifiedAccessTrustProviderProperty.go
- CfnVerifiedAccessInstance__checks.go
- CfnVerifiedAccessTrustProvider.go
- CfnVerifiedAccessTrustProviderProps.go
- CfnVerifiedAccessTrustProvider_DeviceOptionsProperty.go
- CfnVerifiedAccessTrustProvider_OidcOptionsProperty.go
- CfnVerifiedAccessTrustProvider__checks.go
- CfnVolume.go
- CfnVolumeAttachment.go
- CfnVolumeAttachmentProps.go
- CfnVolumeAttachment__checks.go
- CfnVolumeProps.go
- CfnVolume__checks.go
- ClientVpnAuthorizationRule.go
- ClientVpnAuthorizationRuleOptions.go
- ClientVpnAuthorizationRuleProps.go
- ClientVpnAuthorizationRule__checks.go
- ClientVpnEndpoint.go
- ClientVpnEndpointAttributes.go
- ClientVpnEndpointOptions.go
- ClientVpnEndpointProps.go
- ClientVpnEndpoint__checks.go
- ClientVpnRoute.go
- ClientVpnRouteOptions.go
- ClientVpnRouteProps.go
- ClientVpnRouteTarget.go
- ClientVpnRouteTarget__checks.go
- ClientVpnRoute__checks.go
- ClientVpnSessionTimeout.go
- ClientVpnUserBasedAuthentication.go
- ClientVpnUserBasedAuthentication__checks.go
- CloudFormationInit.go
- CloudFormationInit__checks.go
- CommonNetworkAclEntryOptions.go
- ConfigSetProps.go
- ConfigureNatOptions.go
- ConnectionRule.go
- Connections.go
- ConnectionsProps.go
- Connections__checks.go
- CpuCredits.go
- DefaultInstanceTenancy.go
- DestinationOptions.go
- EbsDeviceOptions.go
- EbsDeviceOptionsBase.go
- EbsDeviceProps.go
- EbsDeviceSnapshotOptions.go
- EbsDeviceVolumeType.go
- EnableVpnGatewayOptions.go
- ExecuteFileOptions.go
- FlowLog.go
- FlowLogDestination.go
- FlowLogDestinationConfig.go
- FlowLogDestinationType.go
- FlowLogDestination__checks.go
- FlowLogFileFormat.go
- FlowLogMaxAggregationInterval.go
- FlowLogOptions.go
- FlowLogProps.go
- FlowLogResourceType.go
- FlowLogResourceType__checks.go
- FlowLogTrafficType.go
- FlowLog__checks.go
- GatewayConfig.go
- GatewayVpcEndpoint.go
- GatewayVpcEndpointAwsService.go
- GatewayVpcEndpointAwsService__checks.go
- GatewayVpcEndpointOptions.go
- GatewayVpcEndpointProps.go
- GatewayVpcEndpoint__checks.go
- GenericLinuxImage.go
- GenericLinuxImageProps.go
- GenericLinuxImage__checks.go
- GenericSSMParameterImage.go
- GenericSSMParameterImage__checks.go
- GenericWindowsImage.go
- GenericWindowsImageProps.go
- GenericWindowsImage__checks.go
- IClientVpnConnectionHandler.go
- IClientVpnEndpoint.go
- IClientVpnEndpoint__checks.go
- IConnectable.go
- IFlowLog.go
- IGatewayVpcEndpoint.go
- IGatewayVpcEndpointService.go
- IInstance.go
- IInstance__checks.go
- IInterfaceVpcEndpoint.go
- IInterfaceVpcEndpointService.go
- IInterfaceVpcEndpoint__checks.go
- IIpAddresses.go
- IIpAddresses__checks.go
- ILaunchTemplate.go
- IMachineImage.go
- IMachineImage__checks.go
- INetworkAcl.go
- INetworkAclEntry.go
- INetworkAcl__checks.go
- IPeer.go
- IPlacementGroup.go
- IPrefixList.go
- IPrivateSubnet.go
- IPublicSubnet.go
- IRouteTable.go
- ISecurityGroup.go
- ISecurityGroup__checks.go
- ISubnet.go
- ISubnetNetworkAclAssociation.go
- ISubnet__checks.go
- IVolume.go
- IVolume__checks.go
- IVpc.go
- IVpcEndpoint.go
- IVpcEndpointService.go
- IVpcEndpointServiceLoadBalancer.go
- IVpc__checks.go
- IVpnConnection.go
- IVpnConnection__checks.go
- IVpnGateway.go
- InitCommand.go
- InitCommandOptions.go
- InitCommandWaitDuration.go
- InitCommandWaitDuration__checks.go
- InitCommand__checks.go
- InitConfig.go
- InitConfig__checks.go
- InitElement.go
- InitFile.go
- InitFileAssetOptions.go
- InitFileOptions.go
- InitFile__checks.go
- InitGroup.go
- InitGroup__checks.go
- InitPackage.go
- InitPackage__checks.go
- InitService.go
- InitServiceOptions.go
- InitServiceRestartHandle.go
- InitService__checks.go
- InitSource.go
- InitSourceAssetOptions.go
- InitSourceOptions.go
- InitSource__checks.go
- InitUser.go
- InitUserOptions.go
- InitUser__checks.go
- Instance.go
- InstanceArchitecture.go
- InstanceClass.go
- InstanceInitiatedShutdownBehavior.go
- InstanceProps.go
- InstanceRequireImdsv2Aspect.go
- InstanceRequireImdsv2AspectProps.go
- InstanceRequireImdsv2Aspect__checks.go
- InstanceSize.go
- InstanceType.go
- InstanceType__checks.go
- Instance__checks.go
- InterfaceVpcEndpoint.go
- InterfaceVpcEndpointAttributes.go
- InterfaceVpcEndpointAwsService.go
- InterfaceVpcEndpointAwsService__checks.go
- InterfaceVpcEndpointOptions.go
- InterfaceVpcEndpointProps.go
- InterfaceVpcEndpointService.go
- InterfaceVpcEndpointService__checks.go
- InterfaceVpcEndpoint__checks.go
- IpAddresses.go
- IpAddresses__checks.go
- LaunchTemplate.go
- LaunchTemplateAttributes.go
- LaunchTemplateHttpTokens.go
- LaunchTemplateProps.go
- LaunchTemplateRequireImdsv2Aspect.go
- LaunchTemplateRequireImdsv2AspectProps.go
- LaunchTemplateRequireImdsv2Aspect__checks.go
- LaunchTemplateSpecialVersions.go
- LaunchTemplateSpotOptions.go
- LaunchTemplate__checks.go
- LinuxUserDataOptions.go
- LocationPackageOptions.go
- LogFormat.go
- LogFormat__checks.go
- LookupMachineImage.go
- LookupMachineImageProps.go
- LookupMachineImage__checks.go
- MachineImage.go
- MachineImageConfig.go
- MachineImage__checks.go
- MultipartBody.go
- MultipartBodyOptions.go
- MultipartBody__checks.go
- MultipartUserData.go
- MultipartUserDataOptions.go
- MultipartUserData__checks.go
- NamedPackageOptions.go
- NatGatewayProps.go
- NatInstanceImage.go
- NatInstanceImage__checks.go
- NatInstanceProps.go
- NatInstanceProvider.go
- NatInstanceProvider__checks.go
- NatProvider.go
- NatProvider__checks.go
- NatTrafficDirection.go
- NetworkAcl.go
- NetworkAclEntry.go
- NetworkAclEntryProps.go
- NetworkAclEntry__checks.go
- NetworkAclProps.go
- NetworkAcl__checks.go
- OperatingSystemType.go
- Peer.go
- Peer__checks.go
- PlacementGroup.go
- PlacementGroupProps.go
- PlacementGroupSpreadLevel.go
- PlacementGroupStrategy.go
- PlacementGroup__checks.go
- Port.go
- PortProps.go
- Port__checks.go
- PrefixList.go
- PrefixListOptions.go
- PrefixListProps.go
- PrefixList__checks.go
- PrivateSubnet.go
- PrivateSubnetAttributes.go
- PrivateSubnetProps.go
- PrivateSubnet__checks.go
- Protocol.go
- PublicSubnet.go
- PublicSubnetAttributes.go
- PublicSubnetProps.go
- PublicSubnet__checks.go
- RequestedSubnet.go
- RouterType.go
- RuleScope.go
- S3DestinationOptions.go
- S3DownloadOptions.go
- SecurityGroup.go
- SecurityGroupImportOptions.go
- SecurityGroupProps.go
- SecurityGroup__checks.go
- SelectedSubnets.go
- ServiceManager.go
- SpotInstanceInterruption.go
- SpotRequestType.go
- SsmParameterImageOptions.go
- Subnet.go
- SubnetAttributes.go
- SubnetConfiguration.go
- SubnetFilter.go
- SubnetFilter__checks.go
- SubnetIpamOptions.go
- SubnetNetworkAclAssociation.go
- SubnetNetworkAclAssociationProps.go
- SubnetNetworkAclAssociation__checks.go
- SubnetProps.go
- SubnetSelection.go
- SubnetType.go
- Subnet__checks.go
- SystemdConfigFileOptions.go
- TrafficDirection.go
- TransportProtocol.go
- UserData.go
- UserData__checks.go
- Volume.go
- VolumeAttributes.go
- VolumeProps.go
- Volume__checks.go
- Vpc.go
- VpcAttributes.go
- VpcEndpoint.go
- VpcEndpointService.go
- VpcEndpointServiceProps.go
- VpcEndpointService__checks.go
- VpcEndpointType.go
- VpcEndpoint__checks.go
- VpcIpamOptions.go
- VpcLookupOptions.go
- VpcProps.go
- Vpc__checks.go
- VpnConnection.go
- VpnConnectionAttributes.go
- VpnConnectionBase.go
- VpnConnectionBase__checks.go
- VpnConnectionOptions.go
- VpnConnectionProps.go
- VpnConnectionType.go
- VpnConnection__checks.go
- VpnGateway.go
- VpnGatewayProps.go
- VpnGateway__checks.go
- VpnPort.go
- VpnTunnelOption.go
- WindowsImage.go
- WindowsImageProps.go
- WindowsImage__checks.go
- WindowsUserDataOptions.go
- WindowsVersion.go
- main.go