lambda/extensions/extensions.go (30 lines of code) (raw):

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package extensions import ( "os" "sync/atomic" log "github.com/sirupsen/logrus" ) const ( disableExtensionsFile = "/opt/disable-extensions-jwigqn8j" ) var enabled atomic.Value // Enable or disable extensions func Enable() { enabled.Store(true) } func Disable() { enabled.Store(false) } // AreEnabled returns true if extensions are enabled, false otherwise // If it was never set defaults to false func AreEnabled() bool { val := enabled.Load() if nil == val { return false } return val.(bool) } func DisableViaMagicLayer() { _, err := os.Stat(disableExtensionsFile) if err == nil { log.Infof("Extensions disabled by attached layer (%s)", disableExtensionsFile) Disable() } }