/AWS1/IF_EC2=>IMPORTSNAPSHOT()¶
About ImportSnapshot¶
Imports a disk into an EBS snapshot.
For more information, see Importing a disk as a snapshot using VM Import/Export in the VM Import/Export User Guide.
Method Signature¶
METHODS /AWS1/IF_EC2~IMPORTSNAPSHOT
IMPORTING
!IO_CLIENTDATA TYPE REF TO /AWS1/CL_EC2CLIENTDATA OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/EC2STRING OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/EC2STRING OPTIONAL
!IO_DISKCONTAINER TYPE REF TO /AWS1/CL_EC2SNAPDISKCONTAINER OPTIONAL
!IV_DRYRUN TYPE /AWS1/EC2BOOLEAN OPTIONAL
!IV_ENCRYPTED TYPE /AWS1/EC2BOOLEAN OPTIONAL
!IV_KMSKEYID TYPE /AWS1/EC2KMSKEYID OPTIONAL
!IV_ROLENAME TYPE /AWS1/EC2STRING OPTIONAL
!IT_TAGSPECIFICATIONS TYPE /AWS1/CL_EC2TAGSPECIFICATION=>TT_TAGSPECIFICATIONLIST OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ec2importsnapresult
RAISING
/AWS1/CX_EC2CLIENTEXC
/AWS1/CX_EC2SERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Optional arguments:¶
io_clientdata TYPE REF TO /AWS1/CL_EC2CLIENTDATA /AWS1/CL_EC2CLIENTDATA¶
The client-specific data.
iv_clienttoken TYPE /AWS1/EC2STRING /AWS1/EC2STRING¶
Token to enable idempotency for VM import requests.
iv_description TYPE /AWS1/EC2STRING /AWS1/EC2STRING¶
The description string for the import snapshot task.
io_diskcontainer TYPE REF TO /AWS1/CL_EC2SNAPDISKCONTAINER /AWS1/CL_EC2SNAPDISKCONTAINER¶
Information about the disk container.
iv_dryrun TYPE /AWS1/EC2BOOLEAN /AWS1/EC2BOOLEAN¶
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 isUnauthorizedOperation.
iv_encrypted TYPE /AWS1/EC2BOOLEAN /AWS1/EC2BOOLEAN¶
Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using
KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
iv_kmskeyid TYPE /AWS1/EC2KMSKEYID /AWS1/EC2KMSKEYID¶
An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a
KmsKeyIdis specified, theEncryptedflag must also be set.The KMS key identifier may be provided in any of the following formats:
Key ID
Key alias
ARN using key ID. The ID ARN contains the
arn:aws:kmsnamespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, thekeynamespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.ARN using key alias. The alias ARN contains the
arn:aws:kmsnamespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, thealiasnamespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.Amazon Web Services parses
KmsKeyIdasynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.The specified KMS key must exist in the Region that the snapshot is being copied to.
Amazon EBS does not support asymmetric KMS keys.
iv_rolename TYPE /AWS1/EC2STRING /AWS1/EC2STRING¶
The name of the role to use when not using the default role, 'vmimport'.
it_tagspecifications TYPE /AWS1/CL_EC2TAGSPECIFICATION=>TT_TAGSPECIFICATIONLIST TT_TAGSPECIFICATIONLIST¶
The tags to apply to the import snapshot task during creation.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_ec2importsnapresult /AWS1/CL_EC2IMPORTSNAPRESULT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->importsnapshot(
io_clientdata = new /aws1/cl_ec2clientdata(
iv_comment = |string|
iv_uploadend = '20150101000000.0000000'
iv_uploadsize = '0.1'
iv_uploadstart = '20150101000000.0000000'
)
io_diskcontainer = new /aws1/cl_ec2snapdiskcontainer(
io_userbucket = new /aws1/cl_ec2userbucket(
iv_s3bucket = |string|
iv_s3key = |string|
)
iv_description = |string|
iv_format = |string|
iv_url = |string|
)
it_tagspecifications = VALUE /aws1/cl_ec2tagspecification=>tt_tagspecificationlist(
(
new /aws1/cl_ec2tagspecification(
it_tags = VALUE /aws1/cl_ec2tag=>tt_taglist(
(
new /aws1/cl_ec2tag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_resourcetype = |string|
)
)
)
iv_clienttoken = |string|
iv_description = |string|
iv_dryrun = ABAP_TRUE
iv_encrypted = ABAP_TRUE
iv_kmskeyid = |string|
iv_rolename = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_string = lo_result->get_description( ).
lv_string = lo_result->get_importtaskid( ).
lo_snapshottaskdetail = lo_result->get_snapshottaskdetail( ).
IF lo_snapshottaskdetail IS NOT INITIAL.
lv_string = lo_snapshottaskdetail->get_description( ).
lv_double = lo_snapshottaskdetail->get_diskimagesize( ).
lv_boolean = lo_snapshottaskdetail->get_encrypted( ).
lv_string = lo_snapshottaskdetail->get_format( ).
lv_string = lo_snapshottaskdetail->get_kmskeyid( ).
lv_string = lo_snapshottaskdetail->get_progress( ).
lv_string = lo_snapshottaskdetail->get_snapshotid( ).
lv_string = lo_snapshottaskdetail->get_status( ).
lv_string = lo_snapshottaskdetail->get_statusmessage( ).
lv_sensitiveurl = lo_snapshottaskdetail->get_url( ).
lo_userbucketdetails = lo_snapshottaskdetail->get_userbucket( ).
IF lo_userbucketdetails IS NOT INITIAL.
lv_string = lo_userbucketdetails->get_s3bucket( ).
lv_string = lo_userbucketdetails->get_s3key( ).
ENDIF.
ENDIF.
LOOP AT lo_result->get_tags( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_key( ).
lv_string = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.