Launching new suse-sles-12-sp3-v20171107-hvm-ssd-x86_64 (ami-518b2628) within a private subnet (ie no public IP allocation), AMI located in Region eu-west-1, results in the network config script for eth0 being set to manual start:

BOOTPROTO=dhcp
MTU=9000
REMOTE_IPADDR=
STARTMODE=manual
CLOUD_NETCONFIG_MANAGE=yes
USERCONTROL=no
ETHTOOL_OPTIONS=

The network will start on the first launch but fail on subsequent restarts or stop and starts since the script is set to manual. This only happens when the instance is launched without a public IP (within a private subnet).

Output of cloud-init.log where config is applied:

2017-11-19 05:57:29,742 - stages.py[INFO]: Applying network configuration from ds bringup=True: {'version': 1, 'config': [{'subnets': [], 'type': 'physical', 'name': 'eth0', 'mac_address': '06:9d:49:56:d4:d8'}]}
iface eth0 inet manual
into {'lo': {'auto': True, 'ipv6': {}}, 'eth0': {'ipv6': {}}}

Also noticed the following error in the cloud-init-output.log:

2017-11-19 06:44:32,421 - __init__.py[WARNING]: apply_network_config is not currently implemented for distribution '<class 'cloudinit.distros.sles.Distro'>'. Attempting to use apply_network

Downgraded cloud-init to version 7.9 on the instance and created a new AMI, this works fine and the network script is set to STARTMODE=onboot, also no error in cloud-init-output.log. Since this happens on the new Quick start AMI on EC2 I believe a lot of people will be affected. Please fix asap.