in src/mount_efs/__init__.py [0:0]
def get_fallback_mount_target_ip_address(config, options, fs_id, dns_name):
if options and "crossaccount" in options:
fallback_message = "Fallback to mount target ip address feature is not available when the crossaccount option is used."
raise FallbackException(fallback_message)
fall_back_to_ip_address_enabled = (
check_if_fall_back_to_mount_target_ip_address_is_enabled(config)
)
if not fall_back_to_ip_address_enabled:
fallback_message = (
"Fallback to mount target ip address feature is not enabled in config file %s."
% CONFIG_FILE
)
raise FallbackException(fallback_message)
if not BOTOCORE_PRESENT:
fallback_message = "Failed to import necessary dependency botocore, please install botocore first."
raise FallbackException(fallback_message)
mount_target_ip_address = None
try:
mount_target_ip_address = get_fallback_mount_target_ip_address_helper(
config, options, fs_id
)
mount_target_ip_address_can_be_resolved(
mount_target_ip_address,
network_namespace=options.get("netns") if "netns" in options else None,
)
return mount_target_ip_address
except FallbackException as e:
throw_ip_address_connect_failure_with_fallback_message(
dns_name, mount_target_ip_address, e.message
)