in ec2stack/controllers/default.py [0:0]
def _get_action(action):
"""
Finds the associated function for each action.
@param action: Action to be looked up.
@return: Function associated with specified action.
@raise Ec2stackError: Action is not found.
"""
actions = {
'AttachVolume': volumes.attach_volume,
'AuthorizeSecurityGroupEgress':
security_groups.authenticate_security_group_egress,
'AuthorizeSecurityGroupIngress':
security_groups.authenticate_security_group_ingress,
'CreateKeyPair': keypairs.create_keypair,
'CreateSecurityGroup': security_groups.create_security_group,
'CreateSnapshot': snapshots.create_snapshot,
'CreateTags': tags.create_tags,
'CreateVolume': volumes.create_volume,
'CreateVpc': vpcs.create_vpc,
'DeleteKeyPair': keypairs.delete_keypair,
'DeleteSecurityGroup': security_groups.delete_security_group,
'DeleteSnapshot': snapshots.delete_snapshot,
'DeleteTags': tags.delete_tags,
'DeleteVolume': volumes.delete_volume,
'DeleteVpc': vpcs.delete_vpc,
'DescribeAvailabilityZones': zones.describe_zones,
'DescribeImageAttribute': images.describe_image_attribute,
'DescribeImages': images.describe_images,
'DescribeInstanceAttribute': instances.describe_instance_attribute,
'DescribeInstances': instances.describe_instances,
'DescribeKeyPairs': keypairs.describe_keypairs,
'DescribeSecurityGroups': security_groups.describe_security_groups,
'DescribeSnapshots': snapshots.describe_snapshots,
'DescribeTags': tags.describe_tags,
'DescribeVolumes': volumes.describe_volumes,
'DescribeVpcs': vpcs.describe_vpcs,
'DetachVolume': volumes.detach_volume,
'GetPasswordData': passwords.get_password_data,
'ImportKeyPair': keypairs.import_keypair,
'RebootInstances': instances.reboot_instance,
'RegisterSecretKey': register_secret_key,
'RemoveSecretKey': remove_secret_key,
'RevokeSecurityGroupEgress':
security_groups.revoke_security_group_egress,
'RevokeSecurityGroupIngress':
security_groups.revoke_security_group_ingress,
'RunInstances': instances.run_instance,
'StartInstances': instances.start_instance,
'StopInstances': instances.stop_instance,
'TerminateInstances': instances.terminate_instance,
}
if action in actions:
return actions[action]
else:
raise Ec2stackError(
'400',
'InvalidAction',
'The action %s is not valid for this web service' % action
)