Load completions from the completion index.

        Updates the following attributes:
            * commands
            * subcommands
            * global_opts
            * args_opts

def load_completions(self):
        """Load completions from the completion index.

        Updates the following attributes:
            * commands
            * subcommands
            * global_opts
            * args_opts
        """
        try:
            index_str = self.load_index(utils.AWSCLI_VERSION)
        except IndexLoadError:
            return
        index_str = self.load_index(utils.AWSCLI_VERSION)
        index_data = json.loads(index_str)
        index_root = index_data['aws']
        # ec2, s3, elb...
        self.commands = index_root['commands']
        # --profile, --region, --output...
        self.global_opts = index_root['arguments']
        for command in self.commands:
            # ec2: start-instances, stop-instances, terminate-instances...
            subcommands_current = index_root['children'] \
                .get(command)['commands']
            self.subcommands.extend(subcommands_current)
            for subcommand_current in subcommands_current:
                # start-instances: --instance-ids, --dry-run...
                args_opts_current = index_root['children'] \
                    .get(command)['children'] \
                    .get(subcommand_current)['arguments']
                self.args_opts.update(args_opts_current)