# AmazonBackupEc2InstancesParameters Object

## Description

Parameters for the Amazon Backup EC2 Instances action.

## Properties

### consistencyMethod

Consistency method to use when creating the EBS snapshots.

Type: `string`

Valid Values:

* `none`
* `stop-instance`
* `vss-with-none-fallback`
* `vss-with-stop-instance-fallback`

Required: No

Default: `none`

### credentialIds

Registered credentials to use with the action. One and only one credential must be specified.

Type: Array of `string`

Required: Yes

### deregisterFromLoadBalancers

Indicates whether to deregister from load balancers when stopping the EC2 instance.

Type: `string`

Valid Values:

* `none`
* `all-load-balancers`

Required: No

Default: `none`

### description

Description to assign to the EBS snapshots that are created.

Type: `string`

Required: No

### InstanceIds

Instance IDs of the EC2 instances to backup.

Type: Array of `string`

Required: No

### instanceNameComparison

*Deprecated*

Comparison to use when identifying EC2 instances by `Name` tag. Required when `instanceIdentificationMethod` is `by-instance-name-tag`.

Type: [InstanceNameComparison](https://docs.skeddly.com/data-types/instancenamecomparison-object-1) object.

Required: Conditional

### instanceIdentificationMethod

*Deprecated*

Method of identifying the EC2 instance.

Type: `string`

Valid Values:

* `all-instances`
* `by-instance-id`
* `by-instance-name-tag`
* `by-resource-tag`

Required: No

### regionNames

Regions to use with the action. Omit (or specify `null`) to include "all regions".

Type: Array of `string`

Required: No

### resourceTagComparison

*Deprecated*

Comparison to use when identifying instances by resource tag. Required when `instanceIdentificationMethod` is `by-resource-tag`.

Type: [ResourceTagComparison](https://docs.skeddly.com/data-types/resourcetagcomparison-object-1) object.

Required: Conditional

### resourceTagComparisons

List of resource tag comparisons to use when matching EC2 instances.

Type: List of [ResourceTagComparison](https://docs.skeddly.com/data-types/resourcetagcomparison-object-1) objects.

Required: No

### rollingInstanceStops

Settings to use when performing rolling instance stops.

Type: [RollingInstanceStops](https://docs.skeddly.com/data-types/rollinginstancestops-object) object.

Required: No

### snapshotName

Value to assign to the `Name` tag of the EBS snapshots that are created.

Type: `string`

Required: No

### tags

Resource tags to add to the EBS snapshots.

Type: Array of [Tag](https://docs.skeddly.com/data-types/tag-object) object.

Required: No

### targetCredentialId

Credential ID of the AWS credentials to copy the the resulting EBS snapshots. Eg. `cred-12345678`. When setting this field, also set the `targetRegionName` field.

Type: `string`

Required: No

### targetRegionName

Name of a secondary region to copy the resulting EBS snapshots. Must be a valid region. Eg. `us-east-1`

Type: `string`

Required: No

## Sample JSON

```javascript
{
    "credentialIds": [
        "cred-00000001"
    ],
    "regionNames": [
        "us-east-1",
        "us-east-2"
    ],
    
    "resourceTagComparisons": [
        {
            "tagName": "Name",
            "compareType": "starts-with",
            "tagValue": "dev-"
        }
    ],

    "consistencyMethod": "stop-instance",
    "deregisterFromLoadBalancers": "none",

    "snapshotName": "$(INSTANCEID)-$(DEVICE)-$(DATE)",
    "description": "Created by Skeddly for $(INSTANCEID) ($(INSTANCENAME))",
    "tags": [
        {
            "key": "skeddly:instance-id",
            "value": "$(INSTANCEID)"
        },
        {
            "key": "skeddly:volume-id",
            "value": "$(VOLUMEID)"
        },
        {
            "key": "skeddly:device",
            "value": "$(DEVICE)"
        }
    ]
}
```
