EC2 / Client / create_snapshots

create_snapshots#

EC2.Client.create_snapshots(**kwargs)#

Creates crash-consistent snapshots of multiple EBS volumes attached to an Amazon EC2 instance. Volumes are chosen by specifying an instance. Each volume attached to the specified instance will produce one snapshot that is crash-consistent across the instance. You can include all of the volumes currently attached to the instance, or you can exclude the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

The location of the source instance determines where you can create the snapshots.

  • If the source instance is in a Region, you must create the snapshots in the same Region as the instance.

  • If the source instance is in a Local Zone, you can create the snapshots in the same Local Zone or in parent Amazon Web Services Region.

  • If the source instance is on an Outpost, you can create the snapshots on the same Outpost or in its parent Amazon Web Services Region.

See also: AWS API Documentation

Request Syntax

response = client.create_snapshots(
    Description='string',
    InstanceSpecification={
        'InstanceId': 'string',
        'ExcludeBootVolume': True|False,
        'ExcludeDataVolumeIds': [
            'string',
        ]
    },
    OutpostArn='string',
    TagSpecifications=[
        {
            'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'declarative-policies-report'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fleet'|'fpga-image'|'host-reservation'|'image'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association'|'instance-connect-endpoint'|'verified-access-endpoint-target'|'ipam-external-resource-verification-token',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ]
        },
    ],
    DryRun=True|False,
    CopyTagsFromSource='volume',
    Location='regional'|'local'
)
Parameters:
  • Description (string) – A description propagated to every snapshot specified by the instance.

  • InstanceSpecification (dict) –

    [REQUIRED]

    The instance to specify which volumes should be included in the snapshots.

    • InstanceId (string) – [REQUIRED]

      The instance to specify which volumes should be snapshotted.

    • ExcludeBootVolume (boolean) –

      Excludes the root volume from being snapshotted.

    • ExcludeDataVolumeIds (list) –

      The IDs of the data (non-root) volumes to exclude from the multi-volume snapshot set. If you specify the ID of the root volume, the request fails. To exclude the root volume, use ExcludeBootVolume.

      You can specify up to 40 volume IDs per request.

      • (string) –

  • OutpostArn (string) –

    Note

    Only supported for instances on Outposts. If the source instance is not on an Outpost, omit this parameter.

    • To create the snapshots on the same Outpost as the source instance, specify the ARN of that Outpost. The snapshots must be created on the same Outpost as the instance.

    • To create the snapshots in the parent Region of the Outpost, omit this parameter.

    For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

  • TagSpecifications (list) –

    Tags to apply to every snapshot specified by the instance.

    • (dict) –

      The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.

      Note

      The Valid Values lists all the resource types that can be tagged. However, the action you’re using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you’re using, you’ll get an error.

      • ResourceType (string) –

        The type of resource to tag on creation.

      • Tags (list) –

        The tags to apply to the resource.

        • (dict) –

          Describes a tag.

          • Key (string) –

            The key of the tag.

            Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

          • Value (string) –

            The value of the tag.

            Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

  • DryRun (boolean) – Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • CopyTagsFromSource (string) – Copies the tags from the specified volume to corresponding snapshot.

  • Location (string) –

    Note

    Only supported for instances in Local Zones. If the source instance is not in a Local Zone, omit this parameter.

    • To create local snapshots in the same Local Zone as the source instance, specify local.

    • To create a regional snapshots in the parent Region of the Local Zone, specify regional or omit this parameter.

    Default value: regional

Return type:

dict

Returns:

Response Syntax

{
    'Snapshots': [
        {
            'Description': 'string',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'Encrypted': True|False,
            'VolumeId': 'string',
            'State': 'pending'|'completed'|'error'|'recoverable'|'recovering',
            'VolumeSize': 123,
            'StartTime': datetime(2015, 1, 1),
            'Progress': 'string',
            'OwnerId': 'string',
            'SnapshotId': 'string',
            'OutpostArn': 'string',
            'SseType': 'sse-ebs'|'sse-kms'|'none',
            'AvailabilityZone': 'string'
        },
    ]
}

Response Structure

  • (dict) –

    • Snapshots (list) –

      List of snapshots.

      • (dict) –

        Information about a snapshot.

        • Description (string) –

          Description specified by the CreateSnapshotRequest that has been applied to all snapshots.

        • Tags (list) –

          Tags associated with this snapshot.

          • (dict) –

            Describes a tag.

            • Key (string) –

              The key of the tag.

              Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

            • Value (string) –

              The value of the tag.

              Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

        • Encrypted (boolean) –

          Indicates whether the snapshot is encrypted.

        • VolumeId (string) –

          Source volume from which this snapshot was created.

        • State (string) –

          Current state of the snapshot.

        • VolumeSize (integer) –

          Size of the volume from which this snapshot was created.

        • StartTime (datetime) –

          Time this snapshot was started. This is the same for all snapshots initiated by the same request.

        • Progress (string) –

          Progress this snapshot has made towards completing.

        • OwnerId (string) –

          Account id used when creating this snapshot.

        • SnapshotId (string) –

          Snapshot id that can be used to describe this snapshot.

        • OutpostArn (string) –

          The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

        • SseType (string) –

          Reserved for future use.

        • AvailabilityZone (string) –

          The Availability Zone or Local Zone of the snapshots. For example, us-west-1a (Availability Zone) or us-west-2-lax-1a (Local Zone).