InitPackage Class
A package to be installed during cfn-init time.
Example
ts
declare const vpc: ec2.Vpc;
declare const instanceType: ec2.InstanceType;
declare const machineImage: ec2.IMachineImage;
new ec2.Instance(this, 'Instance', {
vpc,
instanceType,
machineImage,
// Showing the most complex setup, if you have simpler requirements
// you can use `CloudFormationInit.fromElements()`.
init: ec2.CloudFormationInit.fromConfigSets({
configSets: {
// Applies the configs below in this order
default: ['yumPreinstall', 'config'],
},
configs: {
yumPreinstall: new ec2.InitConfig([
// Install an Amazon Linux package using yum
ec2.InitPackage.yum('git'),
]),
config: new ec2.InitConfig([
// Create a JSON file from tokens (can also create other files)
ec2.InitFile.fromObject('/etc/stack.json', {
stackId: Stack.of(this).stackId,
stackName: Stack.of(this).stackName,
region: Stack.of(this).region,
}),
// Create a group and user
ec2.InitGroup.fromName('my-group'),
ec2.InitUser.fromName('my-user'),
// Install an RPM from the internet
ec2.InitPackage.rpm('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: {
// Optional, which configsets to activate (['default'] by default)
configSets: ['default'],
// Optional, how long the installation is expected to take (5 minutes by default)
timeout: Duration.minutes(30),
// Optional, whether to include the --url argument when running cfn-init and cfn-signal commands (false by default)
includeUrl: true,
// Optional, whether to include the --role argument when running cfn-init and cfn-signal commands (false by default)
includeRole: true,
},
});
Properties
Returns the init element type for this element.
Methods
apt(packageName: string, options?: NamedPackageOptions): InitPackage // chainable@staticmethod def apt(package_name: str, options: typing.Optional[NamedPackageOptions] = None) -> InitPackagepublic static InitPackage apt(String packageName, NamedPackageOptions options)public static InitPackage Apt(string packageName, NamedPackageOptions? options = null)func Apt(PackageName *string, Options NamedPackageOptions) InitPackagestatic#Install a package using APT.
msi(location: string, options?: LocationPackageOptions): InitPackage // chainable@staticmethod def msi(location: str, options: typing.Optional[LocationPackageOptions] = None) -> InitPackagepublic static InitPackage msi(String location, LocationPackageOptions options)public static InitPackage Msi(string location, LocationPackageOptions? options = null)func Msi(Location *string, Options LocationPackageOptions) InitPackagestatic#Install an MSI package from an HTTP URL or a location on disk.
python(packageName: string, options?: NamedPackageOptions): InitPackage // chainable@staticmethod def python(package_name: str, options: typing.Optional[NamedPackageOptions] = None) -> InitPackagepublic static InitPackage python(String packageName, NamedPackageOptions options)public static InitPackage Python(string packageName, NamedPackageOptions? options = null)func Python(PackageName *string, Options NamedPackageOptions) InitPackagestatic#Install a package from PyPI.
rpm(location: string, options?: LocationPackageOptions): InitPackage // chainable@staticmethod def rpm(location: str, options: typing.Optional[LocationPackageOptions] = None) -> InitPackagepublic static InitPackage rpm(String location, LocationPackageOptions options)public static InitPackage Rpm(string location, LocationPackageOptions? options = null)func Rpm(Location *string, Options LocationPackageOptions) InitPackagestatic#Install an RPM from an HTTP URL or a location on disk.
rubyGem(gemName: string, options?: NamedPackageOptions): InitPackage // chainable@staticmethod def ruby_gem(gem_name: str, options: typing.Optional[NamedPackageOptions] = None) -> InitPackagepublic static InitPackage rubyGem(String gemName, NamedPackageOptions options)public static InitPackage RubyGem(string gemName, NamedPackageOptions? options = null)func RubyGem(GemName *string, Options NamedPackageOptions) InitPackagestatic#Install a package from RubyGems.
yum(packageName: string, options?: NamedPackageOptions): InitPackage // chainable@staticmethod def yum(package_name: str, options: typing.Optional[NamedPackageOptions] = None) -> InitPackagepublic static InitPackage yum(String packageName, NamedPackageOptions options)public static InitPackage Yum(string packageName, NamedPackageOptions? options = null)func Yum(PackageName *string, Options NamedPackageOptions) InitPackagestatic#Install a package using Yum.