@@ -37,7 +37,7 @@ def get_options_validation()
37
37
ValidationRule . new ( name = 'fsfreeze' , mandatory = false , defval = [ ] , validator = ArrayValidator . new ) ,
38
38
ValidationRule . new ( name = 'stopsvc' , mandatory = false , defval = [ ] , validator = ArrayValidator . new ) ,
39
39
ValidationRule . new ( name = 'awsregion' , mandatory = true , defval = nil , validator = AwsRegionValidator . new ) ,
40
- ValidationRule . new ( name = 'accesskey' , mandatory = true , defval = nil , validator = AwsAccessKeyReferenceValidator . new ) ,
40
+ ValidationRule . new ( name = 'accesskey' , mandatory = false , defval = nil , validator = AwsAccessKeyReferenceValidator . new ) ,
41
41
]
42
42
end
43
43
@@ -50,11 +50,18 @@ def detect_ec2_instance_id()
50
50
51
51
def init_ec2_handle ( backup_opts )
52
52
awsregion = backup_opts . fetch ( 'awsregion' )
53
- accesskey = backup_opts . fetch ( 'accesskey' )
54
- keypublic = accesskey [ 'public' ]
55
- keysecret = accesskey [ 'secret' ]
56
- creds = Aws ::Credentials . new ( keypublic , keysecret )
57
- @ec2 = Aws ::EC2 ::Client . new ( region : awsregion , credentials : creds )
53
+ # get access keys if they are defined
54
+ keypublic = nil
55
+ keysecret = nil
56
+ accesskey = backup_opts . fetch ( 'accesskey' , nil )
57
+ if accesskey then
58
+ keypublic = accesskey . fetch ( 'public' )
59
+ keysecret = accesskey . fetch ( 'secret' )
60
+ creds = Aws ::Credentials . new ( keypublic , keysecret )
61
+ @ec2 = Aws ::EC2 ::Client . new ( region : awsregion , credentials : creds )
62
+ else
63
+ @ec2 = Aws ::EC2 ::Client . new ( region : awsregion )
64
+ end
58
65
end
59
66
60
67
def detect_ebs_volumes ( instid )
0 commit comments