如何通过cloud-init禁用执行用户数据

我正在EC2中创build一个新的AMI,并且希望在从AMI启动(或重新启动)时禁用它运行的任何可以放入用户数据的内容。 我查看了现有的/etc/cloud/cloud.cfg/etc/cloud/cloud.cfg.d/*但没有看到启用的位置(所以默认情况下它可能是开启的)。 我怎么能重新configurationcloud-init不允许这个,甚至允许这个被重新设置? 我怀疑我也需要禁用#cloud-config 。 我是否需要禁用整个cloud-init包来实现这个目标?

编辑:

我将在各种AMI中使用Amazon Linux Ubuntu。

EDIT2:

它看起来像我需要禁用所有user-data 。 也许这会更容易。

EDIT3:

我希望能够访问脚本中的user-data

这是我目前的黑客 – 不是太优雅,但它的作品:

 patch /usr/lib/python2.7/dist-packages/cloudinit/stages.py <<EOF @@ -469,7 +469,6 @@ def consume_data(self, frequency=PER_INSTANCE): # Consume the userdata first, because we need want to let the part # handlers run first (for merging stuff) - self._consume_userdata(frequency) self._consume_vendordata(frequency) # Perform post-consumption adjustments so that EOF