def test_ssh_key(self, key_name, identity_file):
client = None
self.key_name = key_name
self.identity_file = identity_file
try:
client = boto3.client('ec2',
aws_access_key_id=self.access_key_id,
aws_secret_access_key=self.secret_access_key,
region_name=self.region_name)
except botocore.exceptions.ClientError as e:
if e.response["Error"]["Code"] == "AuthFailure":
raise AWSException("Invalid AWS access key id or aws secret access key")
except Exception as e:
raise AWSException("There was an error connecting to EC2: %s" % e)
# Search EC2 for the key-name
try:
client.describe_key_pairs(KeyNames=[self.key_name])
except botocore.exceptions.ClientError as e:
if e.response["Error"]["Code"] == "AuthFailure":
raise AWSException("Invalid AWS access key id or aws secret access key")
elif e.response["Error"]["Code"] == "InvalidKeyPair.NotFound":
raise AWSException("Key %s not found on AWS" % self.key_name)
else:
raise AWSException("There was an error describing the SSH key pairs: %s" %
e.response["Error"]["Message"])
# Verify the identity file exists
if not os.path.isfile(self.identity_file):
raise AWSException("Key identity file %s not found" % self.identity_file)
评论列表
文章目录