def get_regions_in_partition()

in athena_glue_service_logs/utils.py [0:0]


    def get_regions_in_partition(self, prefix=None, delimiter='/'):
        """Scan a given prefix and return all regions in that partition with an optional delimiter

        Returns a list of AWS region names that exist in prefix
        """
        if prefix is None:
            prefix = self.s3_path
        else:
            prefix = self._strip_slashes(prefix)

        query_params = {
            'Bucket': self.s3_bucket,
            'Prefix': prefix + '/',
            'Delimiter': delimiter
        }

        # We currently should be able to get all regions in a single request
        # TODO: Fail if we get a next token - there's more to this prefix than meets the eye
        region_list = []
        response = self.s3_client.list_objects_v2(**query_params)
        for c_prefix in response.get('CommonPrefixes', []):
            region = self._extract_region_from_prefix(c_prefix)
            if region:
                region_list.append(region)

        return region_list