Cloud.AWS.EC2.Instance

Cloud.AWS.EC2.Instance
Cloud.AWS.EC2.Instance

Request schema for provisioning of an AWS machine resource

AnyOf
This class requires at least one of the following:
undefined
undefined
JSON Example
{
    "account": "string",
    "activeDirectory": {
        "finalRelativeDN": "string",
        "relativeDN": "string",
        "securityGroup": "string"
    },
    "address": "string",
    "attachedDisks": [
        {
            "source": "string"
        }
    ],
    "autoScaleConfiguration": {
        "desiredCapacity": 0,
        "maxSize": 0,
        "metricScaleRules": [
            {
                "action": {
                    "cooldown": 0,
                    "type": "string",
                    "value": 0
                },
                "trigger": {
                    "evaluationPeriods": 0,
                    "metric": "string",
                    "operator": "string",
                    "period": 0,
                    "statistic": "string",
                    "threshold": "number"
                }
            }
        ],
        "minSize": 0,
        "policy": "string",
        "scheduledScaleRules": [
            {
                "desiredCapacity": 0,
                "maxSize": 0,
                "minSize": 0,
                "recurrence": "string"
            }
        ]
    },
    "awsVpcId": "string",
    "cloudConfig": "string",
    "cloudConfigSettings": {
        "deploymentFailOnCloudConfigRuntimeError": false,
        "phoneHomeFailOnTimeout": false,
        "phoneHomeShouldWait": false,
        "phoneHomeTimeoutSeconds": 0
    },
    "constraints": [
        {
            "tag": "string"
        }
    ],
    "count": 0,
    "dedicatedInstance": false,
    "externalLink": "string",
    "flavor": "string",
    "flavorRef": "string",
    "iamInstanceProfileName": "string",
    "ignoreActiveDirectory": "string",
    "image": "string",
    "imageRef": "string",
    "machineType": "string",
    "name": "string",
    "networks": [
        {
            "address": "string",
            "assignPublicIpAddress": false,
            "assignment": "string",
            "deviceIndex": 0,
            "network": "string"
        }
    ],
    "osType": "string",
    "powerState": "string",
    "project": "string",
    "providerId": "string",
    "region": "string",
    "remoteAccess": {
        "authentication": "string",
        "keyPair": "string",
        "password": "string",
        "privateKey": "string",
        "sshKey": "string",
        "username": "string"
    },
    "resourceName": "string",
    "spotDurationInHrs": 0,
    "storage": {
        "bootDiskCapacityInGB": 0,
        "constraints": [
            {
                "tag": "string"
            }
        ],
        "encrypted": false,
        "maxDiskCapacityInGB": 0
    },
    "tags": [
        {
            "key": "string",
            "value": "string"
        }
    ],
    "zone": "string"
}
string
account
Optional

Cloud Account indicates the name of the endpoint used to provision this machine.

object
activeDirectory
Optional

Active Directory Configuration

string
address
Optional

Machine IP address, populated by discovery or provisioning.

array of object
attachedDisks
Optional

List of disks to attach to the machine.

object
autoScaleConfiguration
Optional

Settings for an auto scaling group for this machine, which automatically increases or decreases resources based on policies.

string
awsVpcId
Optional

Amazon VPC to which the EC2 instance will be provisioned. This property is computed and not available for user input.

string
cloudConfig
Optional

When provisioning an instance, machine cloud-init startup instructions from user data fields. Sample cloud config instructions:

#cloud-config
repo_update: true
repo_upgrade: all
packages:
- httpd
- mariadb-server

runcmd:
- [ sh, -c, "amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2" ]
- systemctl start httpd
- sudo systemctl enable httpd
object
cloudConfigSettings
Optional

Specify how the provided Cloud Config should be handled

array of object
constraints
Optional

To target the correct resources, blueprint constraints are matched against infrastructure capability tags. Constraints must include the key name. Options include value, negative[!], and hard or soft requirement.

integer
count
Optional

The number of resource instances to be created.

boolean
dedicatedInstance
Optional

Dedicated Instances are Amazon EC2 instances that run in a VPC on hardware that's dedicated to a single customer.

string
externalLink
Optional

URL to the machine on the AWS console.

string
flavor
Optional

Generic types of compute resources, mapped in an environment to specific types of compute resources.

string
flavorRef
Optional

Provider specific flavor reference. Valid if no flavor property is provided.

string
iamInstanceProfileName
Optional

Name of an IAM instance profile. The profile is used to pass an IAM role to the EC2 instance

string
ignoreActiveDirectory
Optional

Indicates that the machine is not added to Active Directory by a policy. It skips the Active Directory policy.

Possible values are : true, false,
string
image
Optional

Generic compute images, mapped in an environment to specific compute resource images.

string As ^ami-\S+
imageRef
Optional

Amazon machine image used for the EC2 machine.

string
machineType
Optional

The machine type. For example, spot for temporary machines.

Possible values are : spot, spot_reserved,
string
name
Optional

Machine name.

array of object
networks
Optional

Networks to attach to the machine. Multiple network interfaces are allowed.

string
osType
Optional

Operating system of the machine, populated by discovery or provisioning. Values include WINDOWS and LINUX.

string
powerState
Optional

Machine power state of ON, OFF, GUEST_OFF, UNKNOWN, or SUSPEND.

Possible values are : ON, OFF, SUSPEND, GUEST_OFF,
string
project
Optional

Cloud Assembly project under which the machine is provisioned. Indicates project ID.

string
providerId
Optional

A unique identifier of the resource in the context of the provider.

string
region
Optional

Region name of the instance where machine landed.

object
remoteAccess
Optional

Settings to remotely connect to the provisioned machine, by public/private key pair or username/password authentication. AWS supports key pair but not username/password.

string
resourceName
Optional

The actual name of the machine determined after the allocation.

integer
spotDurationInHrs
Optional

Lifespan of a spot machine. Range is 1–6 hours.

object
storage
Optional

Settings for constraining to the correct storage at provisioning time.

array of object
tags
Optional

Resource categorization, in case-sensitive key names, or in key-value pairs.

string
zone
Optional

Availability zone of the instance where machine landed.