.. _aws-driver: .. default-domain:: zuul AWS Driver ---------- If using the AWS driver to upload diskimages, see `VM Import/Export service role`_ for information on configuring the required permissions in AWS. You must also create an S3 Bucket for use by Nodepool. Selecting the ``aws`` driver adds the following options to the :attr:`providers` section of the configuration. .. attr-overview:: :prefix: providers.[aws] :maxdepth: 3 .. attr:: providers.[aws] :type: list An AWS provider's resources are partitioned into groups called `pool` (see :attr:`providers.[aws].pools` for details), and within a pool, the node types which are to be made available are listed (see :attr:`providers.[aws].pools.labels` for details). See `Boto Configuration`_ for information on how to configure credentials and other settings for AWS access in Nodepool's runtime environment. .. note:: For documentation purposes the option names are prefixed ``providers.[aws]`` to disambiguate from other drivers, but ``[aws]`` is not required in the configuration (e.g. below ``providers.[aws].pools`` refers to the ``pools`` key in the ``providers`` section when the ``aws`` driver is selected). Example: .. code-block:: yaml providers: - name: ec2-us-west-2 driver: aws region-name: us-west-2 cloud-images: - name: debian9 image-id: ami-09c308526d9534717 username: admin pools: - name: main max-servers: 5 subnet-id: subnet-0123456789abcdef0 security-group-id: sg-01234567890abcdef labels: - name: debian9 cloud-image: debian9 instance-type: t3.medium iam-instance-profile: arn: arn:aws:iam::123456789012:instance-profile/s3-read-only key-name: zuul tags: key1: value1 - name: debian9-large cloud-image: debian9 instance-type: t3.large key-name: zuul tags: key1: value1 key2: value2 .. attr:: name :required: A unique name for this provider configuration. .. attr:: region-name :required: Name of the `AWS region`_ to interact with. .. attr:: profile-name The AWS credentials profile to load for this provider. If unspecified the `boto3` library will select a profile. See `Boto Configuration`_ for more information. .. attr:: boot-timeout :type: int seconds :default: 180 Once an instance is active, how long to try connecting to the image via SSH. If the timeout is exceeded, the node launch is aborted and the instance deleted. .. attr:: launch-timeout :type: int seconds :default: 3600 The time to wait from issuing the command to create a new instance until that instance is reported as "active". If the timeout is exceeded, the node launch is aborted and the instance deleted. .. attr:: launch-retries :default: 3 The number of times to retry launching a node before considering the request failed. .. attr:: post-upload-hook :type: string :default: None Filename of an optional script that can be called after an image has been uploaded to a provider but before it is taken into use. This is useful to perform last minute validation tests before an image is really used for build nodes. The script will be called as follows: ``